码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix邮件告警

时间:2014-07-24 17:29:04      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:des   cWeb   style   blog   http   color   使用   os   

                                                             

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

 

 

操作系统环境:

 

CentOS 5.5 x84_64位

Zabbix版本2.2.3

Web服务器:LNMP

 

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

 

 

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

 

关于操作系统CentOS6.0 以下版本都是通过mail命令调用sendmail的sm-client发送邮件,所以如果关闭sendmail按照很多网上的文档是发不出邮件的。

 

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

 

一.   首先卸载(或停止) senmail升级安装mailx

 

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)       测试发送一份邮件

bubuko.com,布布扣

 

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

bubuko.com,布布扣

 

 

 

 

调用第三方邮件服务器配置完成,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)  示警媒介配置:

 bubuko.com,布布扣

 bubuko.com,布布扣

 

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

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

2)  用户配置

 bubuko.com,布布扣

 bubuko.com,布布扣

 

 bubuko.com,布布扣

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

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

 

3)  动作配置:

 

    bubuko.com,布布扣

 

 bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

4)  测试一下:

把触发项的阈值调节一下

bubuko.com,布布扣

 

         邮件效果:

        bubuko.com,布布扣

 

 

 

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

 bubuko.com,布布扣

 

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

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

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

 

 

 

如果信息发送不成功,通常会显示在信息栏,比如超时,等等。

 

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

zabbix邮件告警,布布扣,bubuko.com

zabbix邮件告警

标签:des   cWeb   style   blog   http   color   使用   os   

原文地址:http://www.cnblogs.com/osxlinux/p/3865710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!