配置钉钉通知
本教程演示如何配置钉钉通知并添加会话或群机器人来接收告警策略的通知。
准备工作
您需要准备一个钉钉帐号。
动手实验
步骤 1:创建应用
登录钉钉管理后台,前往工作台页面,点击自建应用。
在弹出页面中,将鼠标悬停至应用开发,选择企业内部开发。
选择小程序,然后点击创建应用。
在弹出对话框中,填写应用名称和应用描述,本教程均输入
通知测试
作为示例,开发方式选择企业自助开发,然后点击确定创建。创建应用后,在基础信息页面可以查看此应用的 AppKey 和 AppSecret。
在开发管理页面,点击修改。
您需要在服务器出口IP 中输入所有节点的公网 IP,然后点击保存。
前往权限管理页面,在搜索框中搜索
根据手机号姓名获取成员信息的接口访问权限
,然后点击申请权限。继续在搜索框中搜索
群会话
,勾选 chat相关接口的管理权限和 chat相关接口的读取权限,然后点击批量申请(2)。在弹出对话框中,填写联系人、联系方式和申请原因,然后点击申请。待审核通过后,您需要在权限管理页面的全部状态中筛选已开通,点击确定,然后手动点击 chat相关接口的管理权限和 chat相关接口的读取权限右侧的申请权限。
步骤 2:获取会话 ID
目前钉钉官方仅提供一种途径来获取会话 ID,即通过创建会话时的返回值来获取。如果您已知会话 ID,或者不需要通过会话接收通知消息,可跳过此步骤。
登录钉钉 API Explorer,在获取凭证下的获取企业凭证页面,填写 appkey 和 appsecret,点击发起调用,即可在右侧获取
access_token
。在通讯录管理下的用户管理页面,选择根据手机号获取userid,access_token 已自动预先填写,在 mobile 中填写用户手机号,然后点击发起调用,即可在右侧获取
userid
。备注
您只需获取群主的 userid,待创建会话后再在客户端添加群成员。
在消息通知下的群消息页面,选择创建群会话,access_token 已自动预先填写,在 name、owner 和 useridlist 中分别填写群名称(本教程使用
test
作为示例,您可以按需自行设置)、群主的 userid 和群成员的 userid,然后点击发起调用,即可在右侧获取chatid
。
步骤 3:创建群机器人(可选)
如果您不需要通过群机器人接收通知消息,可跳过此步骤。
登录钉钉电脑客户端,点击用户头像,选择机器人管理。
在弹出对话框中,选择自定义,然后点击添加。
在弹出对话框的机器人名字中输入名字(例如
告警通知
),在添加到群组中选择群组,在安全设置中设置自定义关键词和加签,勾选我已阅读并同意《自定义机器人服务及免责条款》,然后点击完成。备注
机器人创建完成后不可修改群组。
您可以在机器人管理页面点击已创建机器人右侧的 ,查看机器人的具体设置信息,例如 Webhook、自定义关键词和加签。
步骤 4:在 KubeSphere 控制台配置钉钉通知
您必须在 KubeSphere 控制台提供钉钉的通知设置,以便 KubeSphere 将通知发送至您的钉钉。
使用具有
platform-admin
角色的用户(例如,admin
)登录 KubeSphere Web 控制台。点击左上角的平台管理,选择平台设置。
前往通知管理下的通知配置,选择钉钉。
您可以在会话设置下的 AppKey、AppSecret 和会话 ID 中分别输入您的钉钉应用 AppKey、AppSecret、会话 ID,然后点击添加以添加会话 ID,您可以添加多个会话 ID。此外,您也可以在群机器人设置下的 Webhook URL、关键词和密钥中分别输入您的钉钉机器人 Webhook URL、关键词(输入关键词后请点击添加以添加关键词)、加签。操作完成后,点击确定。
勾选通知条件左侧的复选框即可设置通知条件。
- 标签:告警策略的名称、级别或监控目标。您可以选择一个标签或者自定义标签。
- 操作符:标签与值的匹配关系,包括包含值,不包含值,存在和不存在。
值:标签对应的值。
备注
- 操作符包含值和不包含值需要添加一个或多个标签值。使用回车分隔多个值。
- 操作符存在和不存在判断某个标签是否存在,无需设置标签值。
您可以点击添加来添加多个通知条件,或点击通知条件右侧的 来删除通知条件。
配置完成后,您可以点击右下角的发送测试信息进行验证。
在右上角,打开未启用开关来接收钉钉通知,或者关闭已启用开关来停用钉钉通知。
备注
- 通知条件设置后,接收人只会接受符合条件的通知。
- 如果您更改了现有配置,则必须点击确定以应用更改。
步骤 5:接收钉钉通知
配置钉钉通知并添加会话或群机器人后,您需要启用 KubeSphere 告警系统,并为工作负载或节点创建告警策略。告警触发后,您的钉钉将收到通知消息。
请参考下方截图中的钉钉通知消息示例。
备注
如果您更新了钉钉通知配置,KubeSphere 将根据最新配置发送通知。
默认情况下,KubeSphere 大约每 12 小时针对同一告警发送通知。告警重复间隔主要由
kubesphere-monitoring-system
项目中alertmanager-main
密钥的repeat_interval
所控制。您可以按需自定义重复间隔。KubeSphere 设有内置告警策略,在不设置任何自定义告警策略的情况下,只要内置告警策略被触发,您的钉钉仍能接收通知消息。