当前位置:   article > 正文

zabbix 配置钉钉告警_zabbix 钉钉告警

zabbix 钉钉告警

1.申请一个钉钉企业版

2.群内申请一个机器人

下载电脑版钉钉,登录后,在要接收群消息的群里,点击右上角设置图标,下滑找到机器人,添加一个机器人,保存机器人的webhook地址

保存这里的加签字符串

保存这里的webhook地址

3.zabbbix-server机器上创建钉钉告警脚本

在zabbix-server 机器上,/usr/local/share/zabbix/alertscripts 目录下创建一个dingding-webhook.py

  1. ]# cat dingding-webhook.py
  2. #!/usr/bin/python3
  3. import json
  4. import requests
  5. import sys
  6. import time
  7. import hmac
  8. import hashlib
  9. import base64
  10. import re
  11. from dingtalkchatbot.chatbot import DingtalkChatbot
  12. secret = "SEC9a601e20d6153103******" # 钉钉机器人的加签字段内容
  13. webhook = "https://oapi.dingtalk.com/robot/send?access_token=****" # 钉钉机器人的Webhook字段内容
  14. def dd_robot(msg):
  15. dd = DingtalkChatbot(webhook=webhook, secret=secret)
  16. dd.send_text(msg=msg, is_at_all=False, at_mobiles=[])
  17. if __name__ == "__main__":
  18. msg = str(sys.argv[1])
  19. outputmsg = (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) + " 输出:" + msg)
  20. with open("/var/log/zabbix/zabbix_dingtalk.log", "a") as f:
  21. f.write(outputmsg + '\n')
  22. dd_robot(msg)

脚本编写完成之后需要为脚本添加执行权限

  1. ]# chmod +x dingding-webhook.py
  2. ]# chown zabbix.zabbix /var/log/zabbix/zabbix_dingtalk.log

Python环境预装

python3 -m pip install requests DingtalkChatbot urllib3

4.测试

命令行测试脚本能否成功执行

]# ./wechat-webhook.py "测试"

会在钉钉群内收到我们测试发出的消息

5.在zabbix web页面上添加告警媒介

  1. 问题 模板配置如下
  2. 主题: 故障发生 {EVENT.NAME}
  3. 消息:
  4. **************错误**************
  5. 事件名称:{EVENT.NAME}
  6. 告警地址:{HOST.NAME}
  7. 监控项目:{ITEM.NAME}
  8. 监控取值:{EVENT.VALUE}
  9. 告警严重性:{EVENT.SEVERITY}
  10. 当前状态:{EVENT.STATUS}
  11. 告警时间:{EVENT.DATE} {EVENT.TIME}
  12. 事件ID:{EVENT.ID}
  13. 问题恢复 模板配置如下
  14. 主题: 故障恢复 {TRIGGER. NAME} {EVENT.DURATION}: {EVENT.NAME}
  15. 消息:
  16. **************恢复**************
  17. 事件名称:{EVENT.NAME}
  18. 告警地址:{HOST.NAME}
  19. 监控项目:{ITEM.NAME}
  20. 监控取值:{EVENT.RECOVERY.VALUE}
  21. 告警严重性:{EVENT.SEVERITY}
  22. 当前状态:{EVENT.RECOVERY.STATUS}
  23. 告警时间:{EVENT.DATE} {EVENT.TIME}
  24. 恢复时间:{EVENT.RECOVERY.TIME}
  25. 持续时间:{EVENT.AGE}
  26. 事件ID:{EVENT.RECOVERY.ID}

添加消息模板后,点击更新

6.给相应的用户配置邮件告警

7.设置触发器,通知人员

8.测试

在zabbix客户端上停止nginx,看钉钉群内是否报警

[root@zabbix-web01 ~]# systemctl stop nginx

重新启动nginx,看钉钉群内是否报警

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/898502
推荐阅读
相关标签
  

闽ICP备14008679号