运维监控篇(3)_Zabbix自定义脚本发送报警邮件

运维监控篇(3)_Zabbix自定义脚本发送报警邮件


Zabbix发送报警邮件一般采用自定义的脚本来发送比较简洁,一个几十行的脚本和zabbix稍加设置就好了。

1、Zabbix Server 配置文件中开启(取消)AlertScriptsPath选项(注释),该选项指定的路径为存放报警脚本的位置。

1
2
[root@Zabbix-Server alertscripts] # vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath= /usr/local/zabbix/alertscripts

2、在alertscripts目录中放入发送邮件的脚本如:zabbix_sendmail.py,该脚本接收3个来自zabbix-server的参数,收件人、主题、邮件内容,给予该脚本zabbix用户的可执行权限。该脚本是从网络上找到比较干净利落的一个。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/python
#coding:utf-8
 
import smtplib
from email.mime.text import MIMEText
import sys
 
#邮箱服务器地址
mail_host = 'smtp.exmail.qq.com'
#邮箱用户名
mail_user = 'testname@qq.com'
#邮箱密码
mail_pass = 'mima'
mail_postfix = 'qq.com'
 
def send_mail(to_list,subject,content):
     me = mail_user + "<" + mail_user + "@" + mail_postfix + ">"
     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、测试脚本看看能不能发送邮件,接收三个参数分别是收件人、主题、邮件内容。

1
[root@Zabbix-Server alertscripts] # python zabbix_sendmail.py '1989051805@qq.com' 'Test Mail' 'This is Test Mail'

如果能够正常发送,则该用户会收到这封邮件zabbix03a

 

4、为zabbix添加新的Media type(就是添加新的报警方式)

1
Administration(管理) -> Media types(示警媒介类型) -> Create media type (创建媒体类型(右上角的位置))

然后在弹出的对话框中填入一下内容保存退出zabbix03b

 

5、为用户指定自定义的Media(指定报警方式)

1
Administration(管理) -> User(用户) -> 选择用户或用户组 -> Media(示警媒介)

添加并启用新的报警媒介
zabbix03c

 

6、指定相应action(动作)的邮件发送方式,然后该Action包括的触发器触发后的动作就是将报警信息通过指定的邮件发送方式将报警信息发给到相应运维人员的邮箱。zabbix03d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值