官方文档:
https://www.zabbix.com/documentation/4.0/zh/manual/
邮件脚本报警
原因:
企业使用centos6,zabbix2.* ,zabbix没有email报警媒介模块
1.关闭zabbix-server上的邮件服务,安装mailx
systemctl stop postfix
systemctl disable postfix
yum -y install mailx
2.编辑mailx的配置,指定收件邮箱和用户密码
vim /etc/mail.rc
添加:
set from=1793594335@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=1793594335@qq.com
set smtp-auth-password=yuemqwmhdizdbjeg
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
保存退出
测试邮件:echo 123 | mail -s test 1793594335@qq.com
3.zabbix-server编写邮件报警脚本
yum -y install dos2unix
cd /usr/lib/zabbix/alertscripts/
vim email_notice.sh
添加:
!/bin/bash
export UTF-8
FILE=/tmp/mail.txt
echo "$3" > $FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
保存退出
赋予执行权:chmod +x email_notice.sh
4.zabbix web控制台关联邮件报警脚本
管理--报警媒介类型--关闭已有的email报警--右上角“创建媒体类型”
--“名称,类型(脚本),脚本名称(必须写对),参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}”
--更新
右上角--小人(用户)--报警媒介--“类型(邮件脚本,收件人:真实邮箱地址)”--添加--更新
#
微信报警
1.申请企业微信
我的企业--复制企业ID:wwb51a90f544c78346
应用管理--创建应用--名称:报警机器人--选择部门--创建应用--点开报警机器人
--复制:AgentId 1000002 ,Secret ptoSa9IMqSOinnOJ2Bq6-4i_EBKJbZ8tcG6R6TlhknU
2.编写python微信报警脚本,并修改企业id和用户密码
复制weixin.py到zabbix-server的/usr/lib/zabbix/alertscripts/下
cd /usr/lib/zabbix/alertscripts/
vim weixin.py
修改:
corpid='wwb51a90f544c78346' #企业ID
appsecret='ptoSa9IMqSOinnOJ2Bq6-4i_EBKJbZ8tcG6R6TlhknU' #报警机器人密码
agentid=1000002 #报警机器人ID
保存退出
赋予执行权:chmod 777 weixin.py
格式转换:dos2unix -k weixin.py
赋权weixin.log:
touch /tmp/weixin.log
chown zabbix:zabbix /tmp/weixin.log
测试发送微信:./weixin.py LiHongYu test1 123456789
(注:如果发送测试出错,比如:没有requests模块,可以 yum -y install python-pip;pip install requests)
3.zabbix web关联
管理--报警媒介类型--右上角“创建媒体类型”
--“名称(微信报警),类型(脚本),脚本名称(必须写对),参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}”
--更新
右上角--小人(用户)--报警媒介--“类型(微信报警,收件人:微信账号)”--添加--更新
#
修改邮件通知内容
1.配置--动作--Report problems to Zabbix administrators
操作:修改默认标题,修改消息内容
主题:Problem: {EVENT.NAME}故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
内容:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复操作:修改默认标题,修改消息内容
恢复主题:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
2.修改后,更新