环境说明
环境 | IP |
---|---|
服务端 | 192.168.24.168 |
客户端 | 192.168.24.188 |
实验条件:
zabbix监控服务器、客户端都已经部署完成,被监控主机已添加完成,zabbix监控运行正常。
实现目的:
zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。
在服务端操作
1.安装邮件发送工具mailx
[root@linfan ~]# yum -y install mailx
2.配置mail
[root@linfan ~]# vim /etc/mail.rc set from=shanggujiezuo@163.com //用于zabbi服务端转发邮件到指定邮箱 set smtp=smtp.163.com //发送邮箱服务器地址smtp set smtp-auth-user=shanggujiezuo@163.com //邮箱用户 set smtp-auth-password=lf8834760 //邮箱密码 set smtp-auth=login //登录
[root@linfan ~]# service postfix restart Redirecting to /bin/systemctl restart postfix.service
3.测试邮件能否发送
[root@linfan ~]# echo "主机" | mail -s '主 ' 1451138964@qq.com
4.编写邮件发送脚本
[root@linfan ~]# cd /usr/local/share/zabbix/alertscripts/ [root@linfan alertscripts]# vim mail.sh messages=`echo $3 | tr 'rn' 'n'` subject=`echo $2 | tr 'rn' 'n'` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1 //修改脚本目录的属主属组 [root@linfan alertscripts]# chown zabbix.zabbix /usr/local/share/zabbix/alertscripts/ //给予脚本执行权限 [root@linfan alertscripts]# chmod x /usr/local/share/zabbix/alertscripts/mail.sh [root@linfan alertscripts]# ll zabbix.zabbix /usr/local/share/zabbix/alertscripts/ -rwxr-xr-x 1 zabbix zabbix 153 Aug 23 15:02 mail.sh
[root@linfan alertscripts]# ll zabbix.zabbix /usr/local/share/zabbix/alertscripts/mail.sh -rwxr-xr-x 1 zabbix zabbix 153 Aug 23 15:02 /usr/local/share/zabbix/alertscripts/mail.sh
//创建脚本存放日志的目录并修改属主属组 [root@linfan ~]# touch /tmp/sendmail.log [root@linfan ~]# chown zabbix.zabbix /tmp/sendmail.log [root@linfan ~]# ll /tmp/sendmail.log -rw-r--r-- 1 zabbix zabbix 2082 Aug 23 15:14 /tmp/sendmail.log
5.编辑zabbix_server.conf配置文件
[root@linfan ~]#vim /usr/local/etc/zabbix_server.conf ### Option: AlertScriptsPath # Full path to location of custom alert scripts. # Default depends on compilation options. # # Mandatory: no # Default: # AlertScriptsPath=${datadir}/zabbix/alertscripts AlertScriptsPath=/usr/local/share/zabbix/alertscripts //改成mail.sh脚本存放路径
6.使用脚本执行邮件发送测试
[root@linfan alertscripts]# ./mail.sh 1451138964@qq.com "这是" "ll"
7.Zabbix后台web界面配置
1.管理 ---- 报警媒介类型 ----- 创建媒介类型。
2.名称可以随便自己定义 ----- 类型选择脚本 ----- 脚本名称输入上一步编写的发送邮件的脚本名称 ----
再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
3.管理 ---- 用户 ----- 选择admin用户。(自己创建一个用户也可以)
4.报警媒介 ---- 添加。
类型输入刚刚创建的报警媒介类型sendmail脚本 --- 输入个人邮箱用于接收报警邮件 --- 启动打勾 ---- 添加。
5.配置 ---- 动作 ---- 创建动作。
动作 ---- 名称自定义 --- 启用 ---- 添加。(触发条件需要根据实际情况设置,相当于正则表达式,一般不设置,相当于监控所有监控项)
6.定义操作。
测试
在客户端操作
在客户端修改监控项查看是否会触发报警邮件发送给收件方。
我在这里编辑 /etc/linfan
[root@linfan ~]# zabbix_agentd [root@linfan ~]# echo "doudou" >> /etc/linfan
实验小结
如上图所示:当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。