zabbix3.0.4 配置邮件报警

试验环境:

LAMP环境 (LNMP环境已经成功了,为了避免干扰,我另一台LAMP主机)

### 我在做实验之前,作了时间同步,不知道这个有木有影响,一起说一下吧!

yum -y install ntpdate

ntpdate time.windows.com

hwclock -w

### 163的邮箱被报垃圾邮件的概率太大,我没用163的邮箱发,而是用的139的邮箱

软件版本如下:

httpd-2.4.16

mysql-5.6.26

php-5.6.13

zabbix-3.0.4

配置好zabbix的服务器,这个是我用源码编译的LAMP环境搭建的

wps3A2F.tmp

首先,注册一个139的邮箱,并开启IMAP/SMTP服务

在zabbix服务端安装mailx

yum -y install mailx

配置mailx,发件邮箱,等信息如下:

vim /etc/mail.rc # 在最后,追加如下内容:

set from=15939390015@139.com smtp=smtp.139.com

set smtp-auth-user=15939390015@139.com smtp-auth-password=[登录密码]

set smtp-auth=login

尝试直接使用mail命令发送邮件到自己的邮箱

echo "This is from 192.168.31.37" | mail -s "test" pywx4@qq.com

wps3A40.tmp

编写发邮件脚本如下:

#!/bin/bash

messages=`echo $3 | tr ' ' ' '`

subject=`echo $2 | tr ' ' ' '`

echo "${message}" | mail -s "${subject}" $1 >> /tmp/sendmail.log 2>&1

[root@gan37 ~]# cat sendmail.sh

#!/bin/bash

echo "$1" >> /tmp/test.txt

echo "$2" >> /tmp/test.txt

echo "$3" >> /tmp/test.txt

echo "$3" | mail -s "$2" $1 >> /tmp/sendmail.log 2>&1

[root@gan37 ~]# touch /tmp/sendmail.log

[root@gan37 ~]# chown zabbix.zabbix !$

chown zabbix.zabbix /tmp/sendmail.log

[root@gan37 ~]# touch /tmp/test.txt

[root@gan37 ~]# chown zabbix.zabbix !$

chown zabbix.zabbix /tmp/test.txt

[root@gan37 ~]# chown zabbix.zabbix sendmail.sh

[root@gan37 ~]# ls -l sendmail.sh

-rw-r--r-- 1 zabbix zabbix 147 Nov  4 13:02 sendmail.sh

[root@gan37 ~]# chmod +x sendmail.sh

[root@gan37 ~]#

使用脚本再次发邮件尝试:

chmod +x sendmail.sh

[root@gan37 ~]# ./sendmail.sh pywx4@qq.com "Test Again" "I come again,can you see me"

wps3A41.tmp

将脚本移动到一个便于管理的目录,这里我就放在了zabbix安装目录下了

[root@gan37 ~]# mkdir /usr/local/zabbix/alertscripts

[root@gan37 ~]# mv sendmail.sh !$

mv sendmail.sh /usr/local/zabbix/alertscripts

[root@gan37 ~]# ls -l !$

ls -l /usr/local/zabbix/alertscripts

total 4

-rwxr-xr-x 1 zabbix zabbix 147 Nov  4 13:02 sendmail.sh

[root@gan37 ~]#

设置zabbix_server.conf 告知其邮件发送脚本位置

vim /usr/local/zabbix/etc/zabbix_server.conf

修改AlterScriptsPath为如下值

AlterScrtipsPath=/usr/local/zabbix/alertscripts

wps3A42.tmp

保存退出,并重启zabbix_server

service zabbix_server restart

在浏览器中设置zabbix邮件报警:

管理-->报警媒介-->创建媒体类型

wps3A43.tmp

填写内容如下:

名称: Mailx

类型:脚本

脚本名称:sendmail.sh # 如alertscripts目录中的文件名称一致

脚本参数: {ALERT.SENDTO}  {ALERT.SUBJECT}  {ALERT.MESSAGE}

然后将报警媒介与账户绑定

管理---> 用户 ---> Admin ---> 报警媒介 ---> 添加

wps3A44.tmp

wps3A54.tmp

然后点击更新,再次进入,确定Mailx报警媒介已于Admin绑定

配置zabbix_server启动报警机制

配置---> 动作 ---> Report problems to Zabbix administrators ---> 操作 ---> 编辑 --> 发送到用户 ---> 选择Admin (这里我讲持续时间改为了60s) ---> 更新

wps3A55.tmp

修改完以后,使这个样子的:

wps3A56.tmp

再次点击更新,然后启用动作

wps3A57.tmp

到这里,邮件报警 已配置完成,让我们来测试一下吧!!!

在zabbix服务器中,停止本地agentd

[root@gan37 zabbix]# service zabbix_agentd stop

等一会!大概10分钟吧

wps3A58.tmp

原文地址:https://www.cnblogs.com/xiaogan/p/6038483.html