如何将Skype与AWS实例中运行的Checkmk服务器集成?
Checkmk 与 Skype 集成告警的可行方案
Checkmk可以通过两种主流方式和Skype集成,实现告警推送,具体步骤如下:
方法一:自定义通知脚本 + Skype Webhook
利用Checkmk的自定义通知功能,编写脚本调用Skype的Webhook接口发送告警:
- 先在Skype端配置Incoming Webhook:如果是Skype for Business,在对应团队/频道中添加Webhook获取地址;如果是个人Skype,需通过Microsoft Graph API注册机器人并获取调用权限。
- 在Checkmk服务器上创建脚本(比如
skype_alert.sh),接收Checkmk传递的告警变量(如HOSTNAME、SERVICEALERTSTATE、SERVICEOUTPUT等),格式化后通过curl发送到Webhook地址。示例脚本片段:
#!/bin/bash WEBHOOK_URL="你的Skype Webhook地址" # 格式化告警内容 ALERT_MSG="Checkmk告警提示:\n主机:*$HOSTNAME*\n服务:*$SERVICEDESC*\n状态:*$SERVICEALERTSTATE*\n详情:$SERVICEOUTPUT" # 发送请求到Skype Webhook curl -X POST -H "Content-Type: application/json" \ -d '{ "text": "'"$ALERT_MSG"'" }' $WEBHOOK_URL
- 将脚本放入Checkmk的
~/local/share/check_mk/notifications/目录,执行chmod +x skype_alert.sh赋予运行权限。 - 在Checkmk Web界面配置通知规则:新建通知方法,选择自定义脚本并关联该脚本;再给需要告警的主机/服务配置通知规则,指定使用这个自定义通知方法。
方法二:通过Microsoft Power Automate中转(无需编程)
如果不想编写脚本,可借助Power Automate作为中间层转发告警:
- 在Power Automate中创建云流,触发方式选择「当收到HTTP请求时」,设置请求体为JSON格式(对应Checkmk Webhook的输出结构)。
- 添加「发送消息到Skype」动作,绑定你的Skype账户,将Checkmk传递的告警字段(主机名、状态、详情等)映射到消息内容中。
- 在Checkmk中配置Webhook通知:新建通知方法,选择Webhook类型,填入Power Automate生成的HTTP请求地址,设置发送的JSON参数包含所需告警字段。
- 启用Checkmk的通知规则,指定使用该Webhook通知方法。
注意事项
- 若使用个人Skype,需通过Azure AD注册应用获取Microsoft Graph API的调用权限,脚本中需调用API接口发送消息。
- 确保AWS上的Checkmk服务器安全组允许出站HTTPS请求,能访问Skype Webhook或Microsoft Graph API端点。
- 配置完成后务必发送测试告警,验证消息格式和接收是否正常。
内容的提问来源于stack exchange,提问作者Venkat Ramm
相关产品推荐
相关产品推荐

