zabbix - 对接钉钉机器人接口
一:下载发送程序
zabbix 钉钉报警机器人 - 向钉钉群聊中发送报警消息 (go语言写的脚本,可用 -h查看选项)
测试:
./golang-zabbix-robot-64 -webhook='https://oapi.dingtalk.com/roboxxxxxxxx'
此时你的机器人会发送一个来自于千思网的消息,此时说明golong可用。
接下来就要区分你的zabbix的版本了,以下分别是3.0 3.2 2.4的配置方式
二:zabbix3.0 配置
1、部署程序
将go脚本拷贝至服务端警告目录AlertScriptspath下,添加执行权限。
2、创建报警媒介
3、添加用户或组,加入报警媒介
4、创建动作,创建触发发送条件
三:zabbix3.2 配置
3.2和3.0配置大致一样,只是有部分会发生消息送不到的情况,尝试将上述xml格式的换行去掉后重新测试。
附录:
报警信息 <?xml version="1.0" encoding="UTF-8" ?> <root> <from>{HOSTNAME1}</from> <time>{EVENT.DATE} {EVENT.TIME}</time> <level>{TRIGGER.SEVERITY}</level> <name>{TRIGGER.NAME}</name> <key>{TRIGGER.KEY1}</key> <value>{ITEM.VALUE}</value> <now>{ITEM.LASTVALUE}</now> <id>{EVENT.ID}</id> <ip>{HOST.IP}</ip> <url>这里是点击报警消息可以访问的链接地址</url> <age>{EVENT.AGE}</age> <status>{EVENT.STATUS}</status> <acknowledgement> {EVENT.ACK.STATUS} </acknowledgement> <acknowledgementhistory> {EVENT.ACK.HISTORY}</acknowledgementhistory> </root> | 恢复信息 <?xml version="1.0" encoding="UTF-8" ?> <root> <from>{HOSTNAME1}</from> <time>{EVENT.DATE} {EVENT.TIME}</time> <level>{TRIGGER.SEVERITY}</level> <name>{TRIGGER.NAME}</name> <key>{TRIGGER.KEY1}</key> <value>{ITEM.VALUE}</value> <now>{ITEM.LASTVALUE}</now> <id>{EVENT.ID}</id> <ip>{HOST.IP}</ip> <color>FF4A934A</color> <url>这里的url会替换报警媒介的url</url> <age>{EVENT.AGE}</age> <recoveryTime>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</recoveryTime> <status>{EVENT.RECOVERY.STATUS}</status> </root> |
四:zabbix 2.4 配置
相对于3版本,2.4 虽经典但是却有点跟不上时代了,公司为了保持稳定,也不敢贸然升级,所以只能对 2.4进行相应的配置了。
1、部署程序
同样在警告目录AlertScriptspath下,添加脚本 zabbix-dingding.sh
#!/bin/bash
webhook="https://oapi.dingtalk.com/robot/send?access_token=xxx"
/zabbix/share/zabbix/alertscripts/golang-zabbix-robot-64 -webhook=$webhook -msg="$3"
2、创建报警媒介
3、创建用户或组,加入报警媒介,同上
4、创建动作,创建触发发送条件,采用3.2格式,不换行
-----------------------------------------------------------------------------------------
附加:通用机器人
有时我们会用自定义的监控脚本,去监控服务状态,或者某个程序等等,怎么对接到钉钉呢?
#!/usr/bin/env python #coding=utf-8 import urllib import urllib2 import json import re f = open('xxxxxxxxxx','r') #取文件的内容发送 your_data = f.read() f.close() #print your_data headers = {'Content-Type': 'application/json'} test_data = { 'msgtype':"text", "text":{ 'content':"%s" % your_data }, "at":{ "atMobiles":[ # "you iphone" ], "isAtAll":"false" } } #requrl = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxx" req = urllib2.Request(url = requrl,headers = headers,data = json.dumps(test_data)) response = urllib2.urlopen(req) |

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RHEL6.4下搭建apache和subversion(SVN)
1、说明 rhel6.4系统下搭建apache+svn 2、实现 1)在服务器上安装配置SVN服务; 2)SVN服务支持svnserve独立服务模式访问; 3)SVN服务支持Apache的http模式访问。 3、安装svn服务器 [root@reedoracle~]#yuminstall-ysubversion [root@reedoracle~]#rpm-qa|grepsubversion subversion-1.6.11-15.el6_7.x86_64 4、安装apache服务器 [root@reedoracle~]#yuminstall-yhttpd [root@reedoracle~]#rpm-qa|grephttp httpd-2.2.15-56.el6.centos.3.x86_64 5、配置SVN版本库 [root@reedoracle~]#mkdir/svn [root@reedoracle~]#svnadmincreate/svn/reed#创建版本库命令 [root@reedoracle~]#cd/svn/reed/ [root@reedoraclereed]#l...
- 下一篇
单机版MongoDB的zabbix监控
最近公司新上了几个mongodb的项目(单机版MongoDB),需要坐下监控。之前有一个监控模板,但是效果不好。于是重新去google了一把,有了如下记录。 单机版的参考https://github.com/oscm/zabbix/tree/master/mongodb 实验环境: CentOS6.8 X86_64 Percona-server-mongodb-3.2.9 步骤: 1、将mongodb.sh这个脚本拷贝到/etc/zabbix/scripts下,修改下适合自己的环境 (我们线上mongodb没有设置密码,脚本里面也注释掉了相关代码),并chmod加执行权限 #!/bin/bash ################################################## #AUTHOR: Neo <netkiller@msn.com> #WEBSITE: http://www.netkiller.cn #Description£ozabbix mongodb monitor #Note£oZabbix 3.2 #DateTime: 2016-11-...
相关文章
文章评论
共有0条评论来说两句吧...