Zabbix告警通知部署方案详解
01 命令行获取监控值 参数说明: ● -s 指定 Zabbix Agent 所在的主机 IP 地址。 ● -p 指定 Zabbix Agent 监听的端口号。 ● -k 指定要获取的监控项的键(Key)。 自定义监控项 (1)首先需要确定监控目标取值的命令行 (2)手动创建zabbix自定义key的配置文件 如果只是个别需要的自定义监控项可以直接在agent配置文件中添加 如果是大量的自定义监控项,建议创建单独的配置文件来写。 所以在zabbix_agentd.conf目录下创建新的自定义监控的以.conf结尾的文件,配置监控项即可。 配置格式如下: (3)重启一下agent (4)通过zabbix_get取值 成功取到值,说明自定义的监控项是可以的 监控页面添加监控流程 (1)创建模板,可以给其他主机使用,不用重复操作 (2)创建应用集,给监控项划分到相应的应用集。 (4)创建触发器,当监控获取的值和触发器比较,判断是否报警 (5)创建图形 (6)将具体的主机和改模板链接,关联 (7)当用户超过三个登录时,就会产生告警 02 配置邮箱告警 邮箱开启SMTP/POP3服务 使用加密密码认证,获取授权码 创建报警媒介 配置告警信息模板 ● 方式一: ● 方式二: 点击测试,测试一下,如果可以正常接受到说明邮件告警就没有问题。 配置告警通知动作 点击配置 -> 动作 -> triggers actions -> 创建动作 添加告警通知人邮箱 点击用户 -> 报警媒介 -> 添加 -> 选择email类型 -> 加收件人邮箱 -> 发送的报警级别 告警测试 出现告警,就会发邮件通知 03 配置企业微信告警 提供企业微信机器人信息 需要提供企业机器人的webhook地址,以及需要在群里接受告警的人员手机号 server上配置告警脚本 (1)编辑zabbix-server.conf文件进行配置 (2)安装组件requests (3)修改报警脚本或自己写 创建告警媒介 添加报警媒介类型 脚本参数: {ALERT.MESSAGE} 配置告警通知动作 点击配置 -> 动作 -> triggers actions -> 创建动作 添加告警通知人 告警测试 04 配置钉钉告警 配置钉钉告警脚本 在server固定的目录下配置告警脚本:/usr/local/zabbix/alertscripts/,需要钉钉里机器人的webhook server上配置告警媒介类型 脚本参数: {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE} 配置告警动作 配置告警接收人yum install -y zabbix-getzabbix_get -s '192.168.244.153' -p 10050 -s 'system.hostname'



systemctl restart zabbix-agentzabbix_get -s '192.168.244.148' -p 10050 -k 'login.user'
(5)在server页面上添加自定义监控项模板
(3)创建监控项,自定义item,具体想监控的内容








问题模板:主题:故障告警:{TRIGGER.NAME}信息:告警主机:{HOST.NAME}主机地址:{HOST.IP}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}问题详情:{ITEM.NAME}:{ITEM.VALUE}事件代码:{EVENT.ID}恢复模板:主题:故障恢复:{TRIGGER.NAME}信息:恢复主机:{HOST.NAME}主机地址:{HOST.IP}恢复时间:{EVENT.DATE} {EVENT.TIME}恢复等级:{TRIGGER.SEVERITY}恢复信息:{TRIGGER.NAME}问题详情:{ITEM.NAME}:{ITEM.VALUE}事件代码:{EVENT.ID}





vi /etc/zabbix/zabbix_server.confAlertScriptsPath=/usr/local/zabbix/alertscripts#如果存在则不需要创建按照该目录去找文件夹,如果不存在则创建这条路径,并执行下面命令创建目录mkdir -p /usr/local/zabbix/alertscriptsyum install python-requests -ycd /usr/local/zabbix/alertscripts/vi wechat.py`````````````````````````````````````````````````````````````````````````````````````!/usr/bin/python#-*- coding: utf-8 -*-import requestsimport jsonimport sysimport osheaders = {'Content-Type': 'application/json;charset=utf-8'}api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=f2925971-a64e-4a42-a1be-2e53a76d7dbb"def msg(text): json_text= { "msgtype": "text", "text": { "content": text, "mentioned_mobile_list":["",] }, } print requests.post(api_url,json.dumps(json_text),headers=headers).contentif __name__ == '__main__': text = sys.argv[1] msg(text)``````````````````````````````````````````````````````````````````````````````chmod +x wechat.py


问题模板:主题:故障告警:{TRIGGER.NAME}信息:告警主机:{HOST.NAME}主机地址:{HOST.IP}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}问题详情:{ITEM.NAME}:{ITEM.VALUE}事件代码:{EVENT.ID}恢复模板:主题:故障恢复:{TRIGGER.NAME}信息:恢复主机:{HOST.NAME}主机地址:{HOST.IP}恢复时间:{EVENT.DATE} {EVENT.TIME}恢复等级:{TRIGGER.SEVERITY}恢复信息:{TRIGGER.NAME}问题详情:{ITEM.NAME}:{ITEM.VALUE}事件代码:{EVENT.ID}


#vi /usr/local/zabbix/alertscripts/dindin.sh````````````````````````````````````````````````````````````````````````!/bin/bashto=$1sub=$2text=$3mes="$sub\n$text"#SECcc7742eec9ba072edf762c8e1ac8393ebe3a04e64e39675d60a756da48198bba'curl 'https://oapi.dingtalk.com/robot/send?access_token=dda742c95251d9c18cdc1d894e59c7342a11c4fab3c3878dfd4007fbf45e27a4' \ -H 'Content-Type: application/json' \ -d '{"msgtype": "text", "text": { "content": "'"$mes"'" } }'```````````````````````````````````````````````````````````````````````

问题模板:主题: 故障告警:{TRIGGER.NAME}信息: 告警主机:{HOST.NAME}主机地址:{HOST.IP}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}问题详情:{ITEM.NAME}:{ITEM.VALUE}事件代码:{EVENT.ID}恢复模板:主题: 故障恢复:{TRIGGER.NAME}信息: 恢复主机:{HOST.NAME}主机地址:{HOST.IP}恢复时间:{EVENT.DATE} {EVENT.TIME}恢复等级:{TRIGGER.SEVERITY}恢复信息:{TRIGGER.NAME}问题详情:{ITEM.NAME}:{ITEM.VALUE}事件代码:{EVENT.ID}





