zabbix利用python脚本发送报警邮件的方法

 更新时间:2016年12月15日 08:41:23   投稿:daisy  
这篇文章是是用外部脚本python实现zabbix的报警机制的。对于zabbix3.0此处存在一个小改动,忙活了一天才找到原因哒。下面就来看看详细的介绍吧,有需要的朋友们可以参考借鉴。

前言

zabbix是个非常强大的监控工具,可以监控linux和windows的服务器数据,也可以通过自定义key来扩展默认的监控项,但是自带的邮件报警提供的信息却不太友善。本文想通过自定脚本的方式,实现在报警邮件的同时发送对应的图像和url连接。

步骤如下:

1、编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。

vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

2、上传新增py脚本至AlertScriptsPath参数指定的绝对路径下,py文件如下:

#! /usr/bin/env python
# coding:utf-8
'''
[INFORMATION]
Zabbix Send Email With Python
AUTHOR : Wing
GitHub : https://github.com/wing324
Email : wing324@126.com
'''
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
import sys
def send_mail(_to_email,_subject,_message):
# 定义邮件发送
 smtp_host = 'smtp.xxx.xx'
 from_email = 'xxx@xxx.xx'
 passwd = 'xxxxxx'
 msg = MIMEText(_message,'plain','utf-8')
 msg['Subject'] = _subject
 smtp_server = smtplib.SMTP(smtp_host,25)
 smtp_server.login(from_email,passwd)
 smtp_server.sendmail(from_email,[_to_email],msg.as_string())
 smtp_server.quit()
if __name__ == '__main__':
 send_mail(sys.argv[1],sys.argv[2],sys.argv[3])

3、修改python脚本的权限

chown -R zabbix:zabbix zabbix_send_email.py
chmod 755 zabbix_send_email.py

4、zabbix web端配置

Administration –> Media types –> Create media type

创建一个测试用户Administration –> Users –> Create user

为新创建的user指定media:Administration –> Users –> Create user –> Media

创建action实现邮件报警Configuration –> Actions –> Create action

5、zabbix测试发送邮件

找一个test的zabbix_agentd,kill掉,查看是否收到报警邮件。再将其恢复,查看是否收到恢复后的邮件。如果一切如预期所想,那么至此就完成了使用python脚本完成zabbix的报警邮件了。如果没有如预期所想。

TIPS:

如果你用的zabbix3.0,请注意Administration –> Media types –> Create media type这一步的配置如下:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • zabbix集群搭建分布式监控的操作步骤

    zabbix集群搭建分布式监控的操作步骤

    zabbix通过zabbix proxies为IT基础设施提供有效的可用的风不是监控代理(proxy)可用于代替zabbix server本地手机数据,然后将数据报告给服务器,对zabbix分布式监控操作步骤感兴趣的朋友一起看看吧
    2022-11-11
  • zabbix agent2 监控oracle数据库的方法

    zabbix agent2 监控oracle数据库的方法

    这篇文章主要介绍了zabbix agent2 监控oracle数据库的方法,本文给大家介绍的非常详细,对大家的学习或工作具体一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • zabbix在web页面显示中文乱码问题解决办法

    zabbix在web页面显示中文乱码问题解决办法

    这篇文章主要给大家介绍了关于zabbix在web页面显示中文乱码问题的解决办法,最近发现zabbix在使用中会发现中文栏目显示乱码,所以这里将解决办法分享下,需要的朋友可以参考下
    2023-07-07
  • Linux平台Zabbix Agent的安装配置方法

    Linux平台Zabbix Agent的安装配置方法

    这篇文章主要介绍了Linux平台Zabbix Agent的安装配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • CENTOS7系统安装部署ZABBIX5.0的配置方法

    CENTOS7系统安装部署ZABBIX5.0的配置方法

    Zabbix是一款开源的监控工具,适用于大型企业的系统和网络监控,安装Zabbix涉及关闭防火墙和SELinux、安装Zabbix源,本文给大家介绍CENTOS7系统安装部署ZABBIX5.0的配置方法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • zabbix告警报表并发送邮件功能实现

    zabbix告警报表并发送邮件功能实现

    Zabbix开源监控是IT监控领域的佼佼者,拥有强大的告警统计与报表生成能力,但对于刚上手的小白来说可能还有些难度,本文将详细介绍zabbix告警报表的生成过程及发送邮件的操作步骤,感兴趣的朋友一起看看吧
    2024-07-07
  • 解决zabbix监控因php问题导致图形界面中文乱码方法

    解决zabbix监控因php问题导致图形界面中文乱码方法

    解决因编译php中添加了-enable-gd-jis-conv选项导致Zabbix监控系统图形界面中文乱码问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-10-10
  • 史上最便捷搭建Zookeeper服务器的方法(推荐)

    史上最便捷搭建Zookeeper服务器的方法(推荐)

    由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。这篇文章主要介绍了史上最便捷搭建Zookeeper服务器的方法,需要的朋友可以参考下
    2020-06-06
  • Zabbix如何使用过滤器实现监控

    Zabbix如何使用过滤器实现监控

    这篇文章主要介绍了Zabbix如何使用过滤器实现监控,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Zabbix SAML SSO 登录绕过漏洞的操作流程

    Zabbix SAML SSO 登录绕过漏洞的操作流程

    这篇文章主要介绍了Zabbix SAML SSO 登录绕过漏洞的操作方法,该漏洞源于在启用 saml SSO 身份验证(非默认)的情况下,未身份验证的攻击者可以修改会话数据,成功绕过前台进入后台,因为存储在会话中的用户登录未经过验证,具体实现流程跟随小编一起看看吧
    2022-03-03

最新评论