- 已编辑
操作系统信息
虚拟机/物理机,Centos7 4C/8G
Kubernetes版本信息
Kubernetes:v1.22.10 v1.22.09
容器运行时
docker/containerd 都有
KubeSphere版本信息
v3.3.0。
问题是什么
通知配置下,配置企业微信机器人webhook无法接收到消息
去看notification-manager-deployment 无日志
操作系统信息
虚拟机/物理机,Centos7 4C/8G
Kubernetes版本信息
Kubernetes:v1.22.10 v1.22.09
容器运行时
docker/containerd 都有
KubeSphere版本信息
v3.3.0。
问题是什么
通知配置下,配置企业微信机器人webhook无法接收到消息
去看notification-manager-deployment 无日志
webhook不支持向微信机器人发通知
同问,这是一个非常常用的功能,建议增加。
后端会在近期支持,前端的话还要等一等
最新的 notification manager 已支持企业微信机器人,v3.3.2 没有集成最新的 nm,可以自己升级下 nm
wanjunlei 请教一下这怎么单独升级呢,我用v2.2.0安装报错呢:helm install notification-manager helm -n kubesphere-monitoring-system
Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: [ValidationError(NotificationManager.spec): unknown field “groupLabels” in io.kubesphere.notification.v2beta2.NotificationManager.spec, ValidationError(NotificationManager.spec): unknown field “template” in io.kubesphere.notification.v2beta2.NotificationManager.spec]
先手动升级下crd,helm是不会升级crd的
我试了下,升级nm到最新版本后,企微webhook还是无法收到消息,页面显示发送成功,
notification-manager日志
level=info ts=2024-05-20T03:10:42.720377921Z caller=main.go:103 msg="Starting notification manager..." addr=:19093 timeout=5s
I0520 03:10:43.846339 1 request.go:697] Waited for 1.04147041s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/app.k8s.io/v1beta1
level=info ts=2024-05-20T03:10:44.351655229Z caller=controller.go:232 msg="notification manager changed" op=add
level=info ts=2024-05-20T03:10:44.456242749Z caller=controller.go:318 msg="reload configs"
level=info ts=2024-05-20T03:10:44.456969444Z caller=controller.go:341 msg="reload receivers"
level=info ts=2024-05-20T03:10:44.457261142Z caller=controller.go:505 msg="Receiver changed" op=add name=global-webhook-receiver
level=info ts=2024-05-20T03:11:39.421407484Z caller=controller.go:505 msg="Receiver changed" op=update name=global-webhook-receiver
level=info ts=2024-05-20T03:11:47.311745961Z caller=controller.go:505 msg="Receiver changed" op=update name=global-webhook-receiver
level=info ts=2024-05-20T03:16:03.924080681Z caller=controller.go:505 msg="Receiver changed" op=update name=global-webhook-receiver
tenant日志
W0520 03:10:42.987894 1 client_config.go:615] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.
I0520 03:10:43.245335 1 controller.go:71] Starting controller
I0520 03:10:43.245365 1 controller.go:74] Waiting for informer caches to sync
I0520 03:10:43.245378 1 controller.go:80] Starting workers
I0520 03:10:43.245388 1 controller.go:84] Started workers
I0520 03:10:43.247498 1 tenant.go:66] reload tenant
I0520 03:10:43.249167 1 tenant.go:66] reload tenant
I0520 03:10:43.250556 1 tenant.go:66] reload tenant
I0520 03:10:43.251872 1 tenant.go:66] reload tenant
I0520 03:10:43.253715 1 tenant.go:66] reload tenant
I0520 03:10:43.258520 1 tenant.go:66] reload tenant
I0520 03:10:43.260305 1 tenant.go:66] reload tenant
I0520 03:10:43.262036 1 tenant.go:66] reload tenant
I0520 03:10:43.263738 1 tenant.go:66] reload tenant
I0520 03:10:43.265432 1 tenant.go:66] reload tenant
I0520 03:10:43.267162 1 tenant.go:66] reload tenant
I0520 03:10:43.268960 1 tenant.go:66] reload tenant
I0520 03:10:43.270546 1 tenant.go:66] reload tenant
I0520 03:10:43.272074 1 tenant.go:66] reload tenant
I0520 03:10:43.273666 1 tenant.go:66] reload tenant
1.重新创建一个容易触发的告警规则,再观察下能不能收到告警
2.确认下 receiver 有没有设置 filter,是不是告警被过滤了
3.确认下 receiver 是 global 的还是 tenant 的,tenant receiver 只能接收租户的告警
4.确认下是否配置了静默规则,确认告警是不是被静默了
NullFox 看下了你发的文档,我这边的企业微信机器人,实际上只需要一个URL字段就可以,因为key直接填在了url里面:
比如https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx
这个使用起来就是一个curl的命令就行了,例如:
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx' \
-H 'Content-Type: application/json' \
-d '
{
"msgtype": "text",
"text": {
"content": "hello world"
}
}'
—
文档中,我应该使用哪种类型的通知?Webhook Receiver 还是WeChat Chatbot?
感谢回复!
用chatbot,配置你的url
wanjunlei 请问v3.1.1版本支持企业机器人的方式了吗
NullFox 大佬,请问我是v3.1.1版本的,支持配置企业微信机器人的方式吗
这个得看你的notification-manager的版本