KubeSphere Notification Manager 配置详解:企业微信与邮件通知集成实战
在现代云原生监控体系中,及时准确的告警通知是保障系统稳定性的关键环节。KubeSphere 的 Notification Manager 作为统一通知管理组件,负责将 Alertmanager 产生的告警通过多种渠道发送给相关人员。本文将详细介绍如何通过 KubeSphere Web 界面配置 Notification Manager 实现企业微信和邮件通知,系统将自动创建相关 CRD 资源。
什么是 Notification Manager
Notification Manager 是 KubeSphere 平台中的通知管理组件,它负责接收来自 Alertmanager 的告警信息,并将其通过配置的通知渠道(如邮件、企业微信、钉钉等)发送给相应的接收者。它通过解耦告警生成和通知发送,提供了更加灵活和可扩展的通知机制。
当您通过 KubeSphere Web 界面进行配置时,系统会自动为您创建和管理底层的 CRD 资源,包括 Config 和 Receiver 等,无需手动编写 YAML 文件。
Notification Manager 工作原理
Notification Manager 采用 CRD(Custom Resource Definition)方式管理通知配置,主要包括以下组件:
- Config: 定义通知渠道的具体配置,如邮件服务器信息、企业微信应用凭证等
- Receiver: 定义通知接收者,引用相应的 Config 配置
当您通过 Web 界面配置通知时,KubeSphere 会自动创建这些底层资源,您可以通过界面直接管理而无需关注复杂的 YAML 配置。
通过 Web 界面配置邮件通知
登录 KubeSphere 控制台
- 打开浏览器,访问 KubeSphere 控制台
- 使用具有平台管理权限的账户登录
- 进入平台管理 -> 平台设置 -> 通知管理

配置邮件服务器
在通知配置页面,点击添加按钮,选择邮件类型:
-
SMTP服务器设置:
- SMTP服务器地址:如 smtp.example.com
- 端口:通常为 587 或 465
- 启用TLS:根据您的邮件服务商要求选择
-
身份验证:
- SMTP用户名:您的邮箱账号
- SMTP密码:授权码,而不是邮箱的登陆密码
-
发件人信息:
- 发件人邮箱:用于发送通知的邮箱地址
- 显示名称:可选,显示给收件人的名称
保存配置后,系统会自动创建对应的 Config CRD 资源。

添加邮件接收者
在通知接收者页面,点击添加按钮:
- 选择通知方式为邮件
- 输入接收者邮箱地址,多个地址用逗号分隔
- 为接收者命名,便于识别
保存后,系统会自动创建 Receiver CRD 资源并关联之前创建的邮件 Config。

通过 Web 界面配置企业微信通知
准备企业微信配置信息
在配置企业微信通知前,需要先在企业微信管理后台获取以下信息(必须要有管理企业微信的权限):
-
企业 ID (Corp ID): 企业微信唯一标识

-
应用 Agent ID: 企业微信应用的唯一标识
-
应用 Secret: 企业微信应用的密钥

-
用户 User ID: 接收通知的用户标识

具体步骤:
- 创建企业:在企业微信管理后台创建企业,获取企业 ID (Corp ID)
- 创建应用:在企业应用中创建自建应用,获取 Agent ID 和 Secret
- 添加成员:在企业通讯录中添加成员,获取 User ID
添加企业微信API调用白名单
在配置企业微信通知时,可能会遇到如下错误:
not allow to access from your ip, hint: [1762940541182033688201926], from ip: 171.221.219.84, more info at https://open.work.weixin.qq.com/devtool/query?e=60020
解决办法:
- 找到对应的应用,点击应用详情
- 找到"网页授权及JS-SDK"
- 配置可信域名需完成域名归属认证(在网站下创建一个指定文件并写入相关内容)
- 完成"网页授权及JS-SDK"配置后,在"企业可信IP"中配置相关IP地址

配置企业微信应用
在通知配置页面,点击添加按钮,选择企业微信类型:
- 输入企业 ID (Corp ID)
- 输入应用 Agent ID
- 输入应用 Secret
保存配置后,系统会自动创建对应的 Config CRD 资源。
添加企业微信接收者
在通知接收者页面,点击添加按钮:
- 选择通知方式为企业微信
- 输入接收者 User ID,多个用户用逗号分隔
- 为接收者命名,便于识别
保存后,系统会自动创建 Receiver CRD 资源并关联之前创建的企业微信 Config。
Webhook 配置问题说明
在实际操作过程中,最初尝试配置 webhook 作为通知方式,但由于配置 webhook 时发现无法正常发送通知,因此放弃使用 webhook(主要原因是未生成 Config 和 Receiver 资源),转而选择使用邮件和企业微信进行通知。
对于 webhook 等需要复杂配置的场景,建议通过手动创建 CRD 资源的方式进行配置。
查看自动创建的 CRD 资源
当您通过 Web 界面完成配置后,可以使用 kubectl 命令查看系统自动创建的 CRD 资源:
# 查看 Config 资源
kubectl get configs.notification.kubesphere.io -n kubesphere-monitoring-system
# 查看 Receiver 资源
kubectl get receivers.notification.kubesphere.io -n kubesphere-monitoring-system
常见问题及解决方案
邮件通知不生效
- 检查邮件服务器配置是否正确
- 验证邮件账户和密码是否正确
- 确认网络连接是否正常
- 查看 Notification Manager 日志排查问题
企业微信通知失败
- 检查 Corp ID、Agent ID 和 Secret 是否正确
- 确认 User ID 是否存在且有效
- 验证应用权限是否配置正确
- 检查网络连接和防火墙设置
通知重复发送
- 检查 Alertmanager 的 repeat_interval 配置
- 确认告警状态是否正确更新
- 检查 Notification Manager 的配置是否正确
总结
通过 KubeSphere Web 界面配置 Notification Manager 是一种更加友好和便捷的方式。系统会自动为您创建和管理底层的 CRD 资源,包括 Config 和 Receiver,您只需关注业务配置而无需深入了解复杂的 YAML 文件。
对于邮件和企业微信这类常见的通知方式,推荐使用 Web 界面进行配置;对于 webhook 等需要复杂配置的场景,可以考虑手动创建 CRD 资源。
评论区