Zabbix 配置Python邮件告警(3)


title: Zabbix 配置Python邮件告警(3)
date: 2018-12-10 09:34:07
tags:

  • Zabbix
    categories: Zabbix
    copyright: true
    ---

Zabbix是一个非常强大的监控系统,是企业级的软件,来监控IT基础设施的可用性和性能.它是一个能够快速搭建起来的开源的监控系统,Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题,Zabbix系统几乎可用于任何系统的监控过程,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X,等平台上.




1.首先你应该注册一个163邮箱,用于发信,再注册时开启SMTP/POP3功能,使用加密密码认证.

1379525-20190518085438128-890006385.jpg

2.在Zabbix主机上新建send.py文件,将以下代码复制编辑,设置发件用户、密码.

[root@localhost ~]# vim send.py

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'  
mail_user = 'smtpwho'
mail_pass = '密码'
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
    me = "Zabbix 监控告警通知"+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content, 'plain', 'utf-8')
    msg['Subject'] = subject
    msg['From'] = me
    msg['to'] = to_list

    s = smtplib.SMTP()
    s.connect(mail_host)
    s.login(mail_user,mail_pass)
    s.sendmail(me,to_list,msg.as_string())
    s.close()

if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

3.紧接着我们给脚本相应的权限测试是否能够发信成功,并拷贝到zabbix的默认脚本目中.

[root@localhost ~]# chmod +x send.py
[root@localhost ~]# python send.py 1181506874@qq.com zabbix checkok
[root@localhost ~]# echo $?
0
[root@localhost ~]# cp -a send.py /usr/lib/zabbix/alertscripts/
[root@localhost ~]# chmod 755 -R /usr/lib/zabbix/alertscripts/

4.登录Zabbix主机,查看配置zabbix_server.conf,找到AlertScriptsPath取消注释.

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf

### Option: AlertScriptsPath
#       Full path to location of custom alert scripts.
#       Default depends on compilation options.
#       To see the default path run command "zabbix_server --help".
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts

AlertScriptsPath=/usr/lib/zabbix/alertscripts     #解除注释,找到配置项

5.点击图形界面,选择管理->报警媒介.
新增参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}分别依次加入,然后更新保存.

1379525-20190518085607258-96819084.jpg

6.点击图形界面,选择配置->动作->创建动作,首先创建一个动作.

1379525-20190518085558547-778036463.jpg

7.紧接着点击操作->配置一下故障报警消息格式.

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

信息改为:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

1379525-20190518085547787-658709687.jpg

8.当我们配置完成一个故障报警后,下面就继续配置一个恢复后的提示.

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

信息改为:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

1379525-20190518085530848-733619945.jpg

最终点击小add添加选项,继续点击大ADD完成动作增加.

9.配置告警用户,点击管理->用户->Admin->报警媒介,修改以下内容.

1379525-20190518085525568-324480511.jpg

10.强制关闭虚拟机,测试是否有邮件报警即可.

1379525-20190518085520695-1706408833.jpg


转载于:https://www.cnblogs.com/LyShark/p/10884600.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值