zabbix邮件告警

                                                             

Zabbix邮件告警看了不少文档,写的那叫一个蛋疼,明明没有发出去邮件,硬要糊弄观众,我也跟着被糊弄。linux

 

 

操做系统环境:web

 

CentOS 5.5 x84_64位shell

Zabbix版本2.2.3bash

Web服务器:LNMP服务器

 

环境部署,参考其余靠谱文档,建议官方文档,今天咱们聊聊zabbix邮件告警的事。测试

 

 

项目即监控项,触发器至关于给监控项设置阈值,根据表达式触发触发器,产生报警。spa

 

关于操做系统CentOS6.0 如下版本都是经过mail命令调用sendmail的sm-client发送邮件,因此若是关闭sendmail按照不少网上的文档是发不出邮件的。操作系统

 

那么mail命令若是仔细观察的话其实调用的是mailx来调用第三方非本地smpt服务。code

 

一.   首先卸载(或中止) senmail升级安装mailxserver

 

1)       中止sendmail:

[root@localhost ~]# /etc/init.d/sendmail stop

[root@localhost ~]# chkconfig sendmail off

[root@localhost ~]#

 

2)       安装mailx:

[root@localhost workplace]# ls

mailx-12.4  mailx-12.4.tar.bz2  zabbix-2.2.3  zabbix-2.2.3.tar.gz

[root@localhost workplace]#

[root@localhost workplace]# cd mailx-12.4

[root@localhost mailx-12.4]# make &&  make install UCBINSTALL=/usr/bin/install   

 

若是碰到错误自行解决.

3)       配置mailx:

[root@localhost ~]# cd /usr/local/bin/

[root@localhost bin]# cp mailx /bin/mail

cp: overwrite `/bin/mail'? y

[root@localhost bin]#

 

4)       配置第三方smtp服务:

能够注册新浪邮箱测试发送给网易邮箱

Mailx的配置文件/etc/nail.rc~                                                                                                                                                                     

[root@localhost ~]# vi /etc/nail.rc

set from=test001@sina.com              #你的用户名

set smtp=smtp://smtp.sina.cn:25

set smtp-auth-user= test001@sina.com                   #你的用户名

set smtp-auth-password= test001         #你的密码

 

 

5)       测试发送一份邮件

 

登录163查看是否收到邮件。

 

 

 

 

调用第三方邮件服务器配置完成,mailx的好处是占用系统资源小,速度快,配置简洁。

也可使用它链接公司内部服务器,这样作就更好了。

二.   Zabbix 配置文件配置。

1)  首先咱们配置zabbix的配置文件,使其示警媒介支持脚本。

修改zabbix_server.conf中的

# AlertScriptsPath=${datadir}/zabbix/alertscripts

AlertScriptsPath=/usr/loca/zabbix/alertscripts

 

 

2)  创建示警媒介可执行脚本的存放目录:

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

[root@localhost ~]# chmod 755 /usr/local/zabbix/alertscripts

[root@localhost ~]# chown -R zabbix:zabbix /usr/local/zabbix/alertscripts

 

这几步至关重要!!!

3)  脚本的编写:

[root@localhost ~]# cat /usr/local/zabbix/alertscripts/sendmail.sh

#!/bin/bash

echo "$3" | /bin/mail   -s "$2"  $1

[root@localhost ~]#

 

                   很是简单:

                   说明一下: $3是邮件内容

                                        $2 邮件标题

                                        $1 发送给谁

 

 

三.   Zabbix  web页面配置:

1)  示警媒介配置:

 

 

 

注意其中的类型以及脚本名称

类型选择脚本,名称选择你在alertscripts目录下创建的脚本文件名称。

2)  用户配置

 

 

 

 

多个收件人,注意以逗号隔开,而后存档。

注意这个类型选择你在示警媒介中定义的名称。

 

3)  动做配置:

 

    

 

 

4)  测试一下:

把触发项的阈值调节一下

 

         邮件效果:

        

 

 

 

5)  邮件发送成功在web上页面上如何看到?

 

 

6)  若是邮件发送在linux服务商能成功,就是zabbix发送不成功,在那里看?

在51cto有朋友可能遇到这个问题,怎么排错

  1. 首先检查权限,给zabbix脚本目录可执行权限,以及用户,并使用zabbix用户看可否发出邮件,若是是755的权限,基本是不用zabbix用户就能发出来邮件。
  2. 接着就是同zabbix web自带的审计

 

 

 

若是信息发送不成功,一般会显示在信息栏,好比超时,等等。

 

在信息栏看到:Timeout while executing a shell script 说明zabbixserver timeout设置的太低因此发不出去邮件,默认是3秒,改为10-30秒的样子应问题解决!

相关文章
相关标签/搜索