zabbix 3.0监控邮件报警
zabbix 3.0 监控邮件报警
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
36
37
38
39
40
41
42
|
1 、在监控服务器的 / usr / local / zabbix / bin 创建发送邮件脚本
vim send.py
#!/usr/bin/env python # -*- coding: utf-8 -*- #!/usr/bmport pdb import smtplib
import string
import time
import sys
reload (sys)
sys.setdefaultencoding( 'utf-8' )
#pdb.set_trace() #HOST = "mail.gw.com.cn" def S_Mail():
HOST = "mail.xxxx.com" #邮件服务器
SUBJECT = sys.argv[ 2 ].decode( 'utf-8' ).encode( 'gbk' ) #主题
TO = sys.argv[ 1 ] #收件邮箱
FROM = "send address"
text = sys.argv[ 3 ].decode( 'utf-8' ).encode( 'gbk' ) #发件内容
BODY = string.join((
"FROM: %s" % FROM,
"To: %s" % TO,
"Subject: %s" % SUBJECT,
"",
text
), "\r\n" )
server = smtplib.SMTP()
server.connect(HOST,发送邮件的端口)
#server.starttls()
server.login( "send address" , "password" )
server.sendmail(FROM,[TO],BODY)
server.quit()
# email log 记录日志 with open ( '/tmp/Email.log' , 'a' ) as f:
date = time.strftime( "%y-%m-%d %H:%M:%S" )
str = date + " " + TO + " " + SUBJECT + "\r\n" + "\n"
str1 = str .decode( 'gbk' ).encode( 'utf-8' )
# print("%s" %str1) f.write(str1)
if __name__ = = '__main__' :
S_Mail()
|
2、给发送邮件脚本授权
chown -R zabbix.zabbix /usr/local/zabbix/bin/send.py
chmod a+x /usr/local/zabbix/bin/send.py
3、修改/usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath = /usr/local/zabbix/bin
4、重启zabbix服务器。
pkill zabbix
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
5、利用编写的脚本发送邮件做测试。
./send.py "[email protected]" "thisis test python send mail" "test test"
6、配置zabbix的界面。
(1)、创建Media types
注意:此处要传参进去,是三个,对于脚本中的参数(1,2,3)
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
(2)、配置接收报警邮件的用户并授权
(3)、新创建报警的动作action
(4)、查看报警媒介和报警动作是否匹配成功。
7、关闭本机的zabbix_agentd可以看邮件是否报警成功,报警成功,则OK。
8、补充内容(触发动作条件)
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复信息:打钩
恢复主旨:恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}:{TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打钩