Zabbix实战--Zabbix基于邮件告警配置

时间:2021-02-02 08:49:05

参考样例:http://www.roncoo.com/course/view/fb3050a5b34b42f39ccad83ebebc89c1


一、软件版本

操作系统:CentOS-6.5-x86_64

zabbix版本:3.0.3

 

二、zabbix执行告警动作流程:

 

Item ---》触发器--》动作--》(邮件还是命令)--》媒介(脚本还是第三方)-->发送邮件

 

监控第一步骤,我们从最底层开始-->先添加媒介(因为没有邮件服务器,所以我们选择脚本):

 

三、添加脚本、测试是否能够发送邮件:

 

1、修改zabbx_server.conf文件,指定脚本路径,没有则添加:

     AlertScriptsPath=/usr/local/zabbix/alertscripts

 

2、在/usr/local/zabbix/alertscripts下创建发送邮件脚本:

[root@BJ-monitor-h-01 alertscripts]# cat zabbix_sendmail.py

#!/usr/bin/python

#coding:utf-8

 

import smtplib

from email.mime.text import MIMEText

import sys

 

#邮箱服务器地址

mail_host = 'smtp.163.com'

#邮箱用户名

mail_user = 'xxx'

#邮箱密码

mail_pass = 'xxxx'

mail_postfix = '163.com'

 

def send_mail(to_list,subject,content):

    me = mail_user+"

    msg = MIMEText(content)

    msg['Subject'] = subject

    msg['From'] = me

    msg['to'] = to_list

 

    try:

        s = smtplib.SMTP()

        s.connect(mail_host)

        s.login(mail_user,mail_pass)

        s.sendmail(me,to_list,msg.as_string())

        s.close()

        return True

    except Exception,e:

        print str(e)

        return False

 

if __name__ == "__main__":

    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

 

3、测试看脚本是否能够发送成功邮件:

 

python zabbix_sendmail.py '942729042@qq.com' 'TEST' 'TEST FOR MALL'

 

不出意外应该是能够收到邮件的:

Zabbix实战--Zabbix基于邮件告警配置

 

四、添加媒介类型:

 

1、添加脚本为媒介类型:

 

   管理--》示警媒介--》新建示警媒介:

Zabbix实战--Zabbix基于邮件告警配置


备注:

名称:python_sendmail (名称可以随意指定,后期调用)

类型:脚本

脚本名称:zabbix_sendmail.py

添加脚本参数(在3.0版本之前默认传值不用添加):

     {ALERT.SENDTO}  ####发送地址

     {ALERT.SUBJECT}  ###主题

     {ALERT.MESSAGE}  ###发送内容

 

五、添加用户操作命令,发送给谁,什么时间发送:

 

1、步骤:

   管理--》用户--》admin-->报警示警媒介--》创建示警媒介:

 

2、添加用户操作:

 Zabbix实战--Zabbix基于邮件告警配置


备注:

    类型选择添加的示警媒介名称,

    收件人表示要发送到哪个地方:

启用时间:表示可以发送邮件的时间段。

 

六:添加要执行的动作:

 

1、步骤:

    配置--》动作--》添加触发器动作:

 

2、动作选择项:

 

定义动作名称、使用默认选项,然后勾选恢复通知和已启用。

条件选择默认即可

操作主要定义发送步骤,选择发送用户和发送脚本:

操作步骤定义(时间假如我定义为60s):然后操作不走选择1-2说明前面120两次发送的告警都会发送到zabbix这个用户,要是再添加一个用户发送邮件到不同的人,步骤可以选择3-4,这样就实现了告警升级。

 

3、操作图:


 Zabbix实战--Zabbix基于邮件告警配置

 

4、备注:操作类型:可以是发送命令或者邮件。例如操作命令可以在监控服务的适合发送一条restart命令重启服务(LogRemoteCommands=1agent开启这个)。

 

 

总结:到此一个简单的告警邮件已经完成,大家可以做一下扩展测试。


关注公众号:

Zabbix实战--Zabbix基于邮件告警配置