目录
前一篇文章:使用zabbix监控主机的运行状况(上)-CSDN博客
八、配置zabbix告警系统
在默认情况下,监控项不会自动发送告警信息,需要我们手动配置触发器和告警,并将通知信息发送给管理员。
以web1为例,当web1的用户数超过50时,有理由认为这是一个问题(Problem);当出现问题时,zabbix将会执行动作,执行的动作是给管理员发邮件。
1、创建触发器规则:点击“配置--模板”,搜索“template of users”,点击“触发器--创建触发器”,配置以下参数
1)名称:usercnt_gt_50
2)严重性:警告
3)表达式:template of users: usercnt;last() 最后的T值;结果 > 50
4)点击添加,完成触发器的创建
2、创建报警媒介类型:点击“管理--报警媒介类型--Email”,修改以下参数
1)SMTP服务器:localhost
2)点击更新,完成修改
3、为用户关联邮箱:点击“管理--用户--Admin--报警媒介”,添加报警媒介,配置以下参数
1)类型:Email
2)收件人:root@localhost.localdomain
3)点击“添加--更新”,完成配置
4、创建动作:点击“配置--动作--Trigger actions--创建动作”,配置以下参数
1)名称:report_users
2)条件:触发器;等于;template of users:usercnt_gt_50
3)操作:1-0;Admin;仅送到Email
4)点击“添加”,完成动作的创建
九、验证告警效果
1、在zabbixzerver上安装postfix邮件服务和mailx邮件客户端
2、在web1上创建用户,使总用户数量大于50
3、在zabbix后台查看
1)点击“监测--最新数据”,搜索“usercnt”,查看监控项的变化
2)点击“报表--动作日志”,查看邮件是否发送成功
4、在zabbixserver上查看邮件
十、通过钉钉机器人告警
除了通过邮件告警外,zabbix还可以与钉钉机器人结合,向钉钉群内发送告警信息。
1、登录钉钉客户端,创建一个用于接收告警信息的群聊,点击“设置--机器人--添加机器人--自定义--添加”,配置机器人名字、添加到群组和安全设置(自定义关键词),复制Webhook,完成添加。
2、编写脚本并测试
1)安装钉钉机器人脚本需要用到的模块:python3-requests
2)编写钉钉机器人告警脚本:vim /usr/lib/zabbix/alertscripts/dingalert.py
#!/usr/bin/env python3
import json
import requests
import sys
def send_msg(url, remiders, msg):
headers = {'Content-Type': 'application/json; charset=utf-8'}
data = {
"msgtype": "text",
"at": {
"atMobiles": remiders,
"isAtAll": False,
},
"text": {
"content": msg,
}
}
r = requests.post(url, data=json.dumps(data), headers=headers)
return r.text
if __name__ == '__main__':
msg = sys.argv[1]
remiders = []
url = '钉钉机器人Webhook地址' #此处需输入机器人的webhook地址
print(send_msg(url, remiders, msg))
3)为脚本添加执行权限,然后执行:/usr/lib/zabbix/alertscripts/dingalert.py ‘关键词:测试消息’
#注意:该文件是在windows系统下编辑的,如果出现”python3\r“类型的报错,则需要安装dos2unix进行格式转换
4)执行脚本后出现{"errcode":0,"errmsg":"ok"}则代表告警成功,可以在钉钉群聊内查看告警信息。
十一、使用zabbix与钉钉机器人协同告警
1、添加报警媒介类型:点击”管理--报警媒介类型--创建媒体类型“,配置以下参数
1)名称:dingalert_script
2)类型:脚本
3)脚本名称:dingalert.py
4)脚本参数:{ALERT.MESSAGE}
5)Message templates:在”消息“参数的第一行插入关键词
2、为用户添加报警媒介类型:点击”管理--用户--Admin--报警媒介“,配置以下参数
1)类型:dingalert_script
2)收件人:Admin
3、创建触发器:点击“配置--模板”,搜索“template of users”,点击“触发器--创建触发器”,配置以下参数
1)名称:usercnt_gt_60
2)严重性:一般严重
3)表达式:template of users: usercnt;last() 最后的T值;结果 > 60
4、创建动作:点击“配置--动作--Trigger actions--创建动作”,配置以下参数
1)名称:report_dingalert
2)条件:触发器;等于;template of users:usercnt_gt_60
3)操作:1-0;Admin;仅送到dingalert_script
5、在web1上创建用户,使总用户数量大于60,然后查看动作日志和钉钉群的告警信息。