zabbix3.0.4 配置邮件报警

试验环境: php

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

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

yum -y install ntpdate vim

ntpdate time.windows.com windows

hwclock -w 浏览器

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

软件版本以下: 服务器

httpd-2.4.16 测试

mysql-5.6.26 3d

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 '\r\n' '\n'`

subject=`echo $2 | tr '\r\n' '\n'`

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

相关文章
相关标签/搜索