一、在钉钉中新建zabbix监控报警群聊(至少三人以上),并于该群众添加zabbix报警机器人
1.1 发起钉钉群聊,新建zabbix监控报警群
1.2 添加zabbix报警机器人
选择自定义机器人即可
填写机器人信息,关键词一定写!!!
牢记机器人的webhook地址,在脚本中会用到
保存Webhook url链接,安全中定义相关设置,我这里使用关键字,只有信息内容中有关键字的才会被机器人发送
二、zabbix-server服务端操作:
2.1 先查一下监控脚本的存放路径
[root@zabbix-server ~]# grep -i alertscriptspath /etc/zabbix/zabbix_server.conf
517 AlertScriptsPath=/usr/lib/zabbix/alertscripts
由此可见,zabbix默认的监控脚本存放路径是/usr/lib/zabbix/alertscripts
2.2 使用vim编辑dingding.py钉钉报警脚本
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"17xxxxxxx46"
],
"isAtAll": False
},
"text": {
"content": text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
2.3 安装python工具包
yum -y install epel-release python-pip
pip install requests
2.4 脚本授权
chmod +x dingding.sh
2.5 脚本测试
python dingding.py 告警 //这里必须含有之前设置的关键字才行
由此可见,脚本已经测试成功,接下来就需要登入zabbix界面进行告警设置。
三、zabbix界面设置告警信息
3.1 创建报警媒介类型
配置——报警媒介类型——创建媒体类型
填写相关参数,自定义报警媒介类型,脚本名称,脚本参数:{ALERT.MESSAGE}{ALERT.SENDTO}{ALERT.SUBJECT}
3.2 创建告警动作
3.2.1 配置——动作——事件源选择“触发器”——创建动作
3.2.2 创建动作名称
3.2.3 创建动作操作
我所用的消息内容模板:
【故障告警】服务器: {HOST.NAME} 发生: {TRIGGER.NAME} 的故障告警,请及时关注并处理!!!
【告警详情】如下:
【告警时间】:{EVENT.DATE} {EVENT.TIME}
【告警主机】:{HOST.NAME}
【告警地址】:{HOST.IP}
【告警信息】:{TRIGGER.NAME}
【监控项目】:{ITEM.NAME}
【监控取值】:{ITEM.LASTVALUE}
【告警等级】:{TRIGGER.SEVERITY}
【当前状态】:{TRIGGER.STATUS}
【事件ID】: {EVENT.ID}
3.2.4 创建恢复操作
我所用的恢复操作消息内容模板:
【告警恢复】服务器: {HOST.NAME} 发生: {TRIGGER.NAME} 的告警问题已于 {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} 解决恢复!!!
【告警信息】: {EVENT.NAME}
【告警主机】: {HOST.NAME}
【告警地址】: {HOST.IP}
【告警等级】: {EVENT.SEVERITY}
【恢复时间】: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
【事件ID】: {EVENT.ID}
感谢您的关注与及时处理!!!
3.2.5 确认告警动作已启用
四、创建用户组并给相应用户添加报警媒介
(如果用户多就创建用户群组,如果不多就给Admin就行)
五、模拟触发告警进行测试
我创建了一个触发器,设置时当系统登录用户超过两人时触发告警,如下图显示: