官网:https://www.zabbix.com/
环境:centos7; zabbix4.0
1/关闭sendmail或者postfix
service sendmail stop //关闭
chkconfig sendmail off //禁止开机启动
service postfix stop
chkconfig postfix off
备注:
使用外部邮箱账号时,不需要启动sendmail或者postfix
如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱
配置信息。
2/安装邮件发送工具mailx
yum remove mailx //卸载系统自带的旧版mailx
yum install mailx //安装
如果无法安装,可以使用二进制包安装
下载mailx:
链接:https://pan.baidu.com/s/10ngghaCddAPYQYvxc6tWNA
提取码:8k13
yum -y install bzip2
tar jxvf mailx-12.4.tar.bz2 //解压
cd mailx-12.4 //进入目录
make //编译
make install UCBINSTALL=/usr/bin/install //安装
ln -s /usr/local/bin/mailx /bin/mail //创建mailx到mail的软连接
ln -s /etc/nail.rc /etc/mail.rc //创建mailx配置文件软连接
whereis mailx //查看安装路径
mailx -V //查看版本信息
3/配置Zabbix服务端外部邮箱
在这里会自动生成一个密码复制就可以了。(我是使用自己的阿里云邮箱的)
4/添加邮箱信息。
[root@localhost zabbix]# vi /etc/mail.rc 最后添加下面内容
set from=zabbix@zhongwf.cn
set smtp=smtps://smtp.qiye.aliyun.com:465
set smtp-auth-user=zabbix@zhongwf.cn
set smtp-auth-password=SXXXXXXXXzabbix
set smtp-auth=login
测试
echo "zabbix test mail" |mail -s "zabbix" zz@zhongwf.cn
#测试发送邮件,标题zabbix,邮件内容:zabbix mail,发送到的邮箱:zz@zhongwf.cn
#这时候,邮箱zz@zhongwf.cn会收到来自zabbix@zhongwf.cn的测试邮件
5/在zabbix服务端主机
查看脚本存放地址(没有请自行添加)
[root@localhost ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf |grep 'AlertScriptsPath'
AlertScriptsPath=/usr/lib/zabbix/alertscripts
6/在zabbix主机上部署pythone脚本
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# ll
总用量 8
-rwxr-xr-x 1 root root 991 4月 15 17:32 dingding.py
-rwxr-xr-x 1 root root 152 11月 21 2019 Sendmail.sh
脚本Sendmail.sh内容如下:
[root@localhost alertscripts]# cat Sendmail.sh
#!/bin/sh
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >> /tmp/sendmail.log 2>&1
7/添加执行权限
chmod +x Sendmail.sh
8/配置Zabbix服务端邮件报警
1、打开Zabbix
管理-示警媒介类型-创建媒体类型
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
2、设置Zabbix用户报警邮箱地址
组态-用户-Admin (Zabbix Administrator)
切换到示警媒介-添加
设置Zabbix触发报警的动作
组态-动作-创建动作
“操作”配置故障
故障:Host{IPADDRESS} ls:{TRIGGER.STATUS}
主机名:{HOST.NAME}
告警主机名:{HOSTNAME1}
告警IP地址:{IPADDRESS}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
触发告警项:{TRIGGER.NAME}
监控参数:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}: {ITEM.VALUE}
告警状态:{TRIGGER.STATUS}: {ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复操作
恢复:Host{IPADDRESS} ls:{TRIGGER.STATUS}
主机名:{HOST.NAME}
恢复主机名:{HOSTNAME1}
恢复IP地址:{IPADDRESS}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
触发告警项:{TRIGGER.NAME}
监控参数:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}: {ITEM.VALUE}
恢复状态:{TRIGGER.STATUS}: {ITEM.VALUE1}
事件ID:{EVENT.ID}
记得点更新