zabbix 服务器设置邮件报警

  • Post author:
  • Post category:其他




实验条件:

Zabbix监控服务器、客户端都已经部署完成,被监控主机已添加完成,Zabbix监控运行正常。




实现目的:


Zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。




概念补充:


什么是MTA?什么是MUA?

通俗的说MUA就是用户使用的客户端,而MTA则是真正发送邮件的发送进程,MUA编写的邮件最终也交由MTA发送至目标端。

mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。

Sendmail和postfix即为负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。




标注:



使用zabbox服服务端本地邮箱账号发送邮件,需要安装两个软件达到报警邮件转发至指定邮箱。Sendmail或postfix(两个软件各选择一个,但不能同时运行)和mailx邮件客户端。

配置网络yum源参考教程:





http://www.cnblogs.com/zoulongbin/p/5773330.html





Zabbix


服务器操作


1、  安装sendmail或postfix (邮件传送代理MTA),本教程使用sendmail软件。



(标注:如果直接使用外部邮箱发送邮件可以不需要配置sendmail或postfix,直接把这两个软件关掉,直接跳到第3步:配置mail即可实现)

[root@ssticentos65 ~]#

yum -y install sendmail


#在线yum安装sendmail

[root@ssticentos65 ~]#

/etc/init.d/sendmail start


#启动sendmail服务

[root@ssticentos65 ~]#

/etc/init.d/sendmail status


#查看sendmail启动情况


sendmail dead but subsys locked


#sendmail进程锁住,原因是postfix服务启动导致sendmail服务进程锁住,需要关闭postfix服务。

sm-client (pid  1759) is running…

[root@ssticentos65 ~]#

/etc/init.d/postfix stop


#暂停postfix服务提示失败,原因是postfix进程正在使用,需要使用kill命令杀掉postfix进程

Shutting down postfix:                                     [FAILED]

[root@ssticentos65 ~]#

/etc/init.d/postfix status


#查看postfix服务可以查看到进程号

master (pid  1647) is running…

[root@ssticentos65 ~]#

kill -9 1647


#杀掉postfix服务进程号

[root@ssticentos65 ~]#

/etc/init.d/postfix status


#查看postfix状态

master dead but pid file exists

[root@ssticentos65 ~]#

chkconfig postfix off


#设置postfix开机不启动

[root@ssticentos65 ~]#

/etc/init.d/sendmail stop


#暂停sendmail服务

Shutting down sm-client:                                   [  OK  ]

Shutting down sendmail:                                    [FAILED]

[root@ssticentos65 ~]#

/etc/init.d/sendmail start


#启动sendmail服务

Starting sendmail:                                         [  OK  ]

Starting sm-client:                                        [  OK  ]

[root@ssticentos65 ~]#


2、安装邮件发送工具mailx 。(邮件用户代理MUA)

[root@ssticentos65 ~]#

yum -y install mailx


#在线安装mailx


3、  配置mail

[root@ssticentos65 ~]#


vim /etc/mail.rc


set  from=lg1871212539@sina.com


#新浪注册的个人邮箱,用于zabbi服务端转发邮件到指定邮箱


set  smtp=smtp.sina.com


#填写新浪发送邮箱服务器地址smtp


set  smtp-auth-user= lg1871212539


#新浪个人邮箱用户


set  smtp-auth-password=lg123456


#新浪个人邮箱密码


set  smtp-auth=login


#登录


4、测试邮件能否发送


#发送一份邮件到1873714157@qq.com 这个QQ邮箱(个人申请的QQ测试邮箱)

[root@ssticentos65 ~]#

echo “test” | mail -s ‘test linux’  1873714157@qq.com


5、编写邮件发送脚本sendmail.sh

[root@ssticentos65 ~]#

cd /usr/local/zabbix/share/zabbix/alertscripts/


#进入zabbix默认存放脚本路径

[root@ssticentos65 alertscripts]#

vim sendmail.sh


#编写发送邮件脚本


#!/bin/bash


messages=`echo $3 | tr ‘\r\n’ ‘\n’`


subject=`echo $2 | tr ‘\r\n’ ‘\n’`


echo “${messages}” | mail -s “${subject}” $1 >>/tmp/sendmail.log 2>&1

[root@ssticentos65 ~]#

chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh


#sendmail.sh脚本修改所属用户和用户组

[root@ssticentos65 ~]#

chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh


#sendmail脚本赋予执行权限

[root@ssticentos65 ~]#

ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh


#查看sendmail.sh脚本信息

-rwxr-xr-x. 1 zabbix zabbix 154 Jan  7 05:12 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

[root@ssticentos65 ~]#

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


#配置zabbix_server.conf配置文件


AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts


#这个修改成sendmail.sh脚本存放路径


[root@ssticentos65 ~]# su zabbix


#切换zabbix用户

sh-4.1$

/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 1873714157@qq.com “test linux” “test”


#zabbix用户执行sendmail.sh脚本看是否有权限



Zabbix


后台web介面配置


1、管理 —-  报警媒介类型 —–  创建媒介类型。


2、名称可以随便自己定义 —– 类型选择脚本 —– 脚本名称输入上一步编写的发送邮件的脚本名称 —-


再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}


3、管理 —- 用户 —– 选择admin用户。(自己创建一个用户也可以)


4、报警媒介 —- 添加。


5、类型输入刚刚创建的报警媒介类型sendmail脚本 — 输入个人邮箱用于接收报警邮件 — 启动打勾 —- 添加。


6、选择更新。

7、权限设置(管理员用户不用修改,权限默认所有服务器,如果要分类权限需要在用户组进行控制)


8、配置 —- 动作 —- 创建动作。


9、动作 —- 名称自定义 — 设置一条新的触发条件 —- 启用 —- 添加。(触发条件需要根据实际情况设置)

触发器   似

is unreachable for 5 minutes

#根据主机触发器

Template App Zabbix Agent

:

Zabbix agent on {HOST.NAME} is unreachable for 5 minutes

设置,主要监测zabbix_agentd客户端连接情况。


10、定义操作。


默认接收人:

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!


默认信息:

告警主机IP地址:{HOST.CONN}

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}


11、定义恢复操作。


默认接收人:

恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!


恢复信息:

告警主机IP地址:{HOST.CONN}

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}


12、测试。

[root@ssticentos65 alertscripts]#

/etc/init.d/zabbix_agentd stop


#暂停zabbix_agentd客户端服务