zabbix通过python脚本实现邮件报警

1.修改zabbix server端的配置文件,启用AlertScriptsPath,使其支持脚本功能

1.编辑zabbix server端的配置文件,并重启服务

# vim /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/alertscripts

# /etc/init.d/zabbix_server restart

2.在服务端添加邮件报警的python脚本,并给脚本执行权限

邮件报警,并记录日志

# vim /usr/local/zabbix/alertscripts/zabbix_sendmail.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import 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 = "smtp.exmail.qq.com"                           #邮件服务器
    SUBJECT = sys.argv[2].decode(‘utf-8‘).encode(‘gbk‘)   #主题
    TO =sys.argv[1]                                       #收件邮箱
    FROM = "[email protected]"
    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,25)
    #server.starttls()
    server.login("发件邮箱","密码")
    server.sendmail(FROM,[TO],BODY)
    server.quit()
# email log 记录日志
    with open(‘/data/logs/zabbix/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()

# chmod +x /usr/local/zabbix/alertscripts/zabbix_sendmail.py

3.验证脚本

# ./zabbix_sendmail.py 收件邮箱 主题  测试

4.创建报警媒介,类型选择脚本

5. 创建用户,并实现邮件报警

1)

2)选择媒介

6. 为方便管理,创建群组,将用户添加至群组中

7.选择"组态"-->"动作" 创建 “action",实现邮件报警

1)

2)

3)

验证结果

通过"审计" -->"Action log" 查看日志

并且已经发送有邮件

故障邮件

恢复后发送的邮件

并且可以通过日志查看记录

时间: 2024-12-10 17:12:44

zabbix通过python脚本实现邮件报警的相关文章

Zabbix3.0.2使用外部python脚本实现邮件报警

1,找到默认存放脚本的路径(我是在默认路径下面放着,如果想换别的路径,修改zabbix_server.conf配置文件) /usr/local/zabbix-server/share/zabbix/alertscripts 脚本存放路径 2,在目录新建一个mail.py的文件,脚本参考: cd /usr/local/zabbix-server/share/zabbix/alertscripts vim mail.py #!/usr/bin/python #coding:utf-8 #author

Python脚本通过邮件发送zabbix报警图片

Python脚本通过邮件发送zabbix报警图片流程如下: 通过zabbix传递给脚本的message参数,筛选出报警信息的itemid; 通过获取的itemid,在数据库中查找对应的grpahid; 拉取对应graphid的图片并保存; 将报警信息和图片组装成html; 发送邮件. Python脚本如下: #!/usr/bin/python #coding=utf-8 from email.mime.text import MIMEText from email.mime.multipart 

zabbix监控利用Python脚本发邮件

最近实施了zabbix监控,开源软件杠杠的,甩nagios 好几条街-- 环境:centos6.6 + Zabbix 2.4.5 + Python 2.6.6 cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录vi SendAlertEmail.sh #编辑,添加以下代码#!/bin/shecho "$3" | mail -s "$2" $1:wq! #保存退出chown zabbix.zabbix /u

图文详解zabbix的安装以及设置邮件报警

简介:1.zabbix的介绍 2.zabbix的服务端安装 3.浏览器安装zabbix 4.zabbix的客户端安装 5.添加一个客户端 6.设置邮件报警 zabbix的介绍 zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由2部分构成,zabbix server与可选组件zabbix agent.

zabbix管理三之配置邮件报警

zabbix配置邮件报警 简述:zabbix的web界面我采用的是中文界面 操作系统:centos6.4 配置zabbix邮件报警的步骤: 1. 选择使用哪种报警机制(邮件): 方法如下: 点击Email后,出现如下图: 按照上面填写即可,然后点击存档 注意:操作系统6.4版本,默认安装的是postfix,而且默认是启动的,所以postfix无需做任何修改 2. 创建动作(action)触发条件: 点击第四步进入,出现如下图: 点击动作,修改名称,如上 点击条件,出现如下图: 点击操作,出现如下

zabbix监控日志关键字并邮件报警到指定相关人

版本:zabbix2.4.4 要求:监控apache错误日志文件,一出现error关键字就报警 报警邮件通知到指定人知会. 服务器和客户端安装,这里就不说了,重点说下配置, 客户端配置: [email protected]:/server/zabbix_agent/etc# vi zabbix_agentd.conf Server=10.52.35.70 ServerActive=10.52.35.70      #要用到ServerActive Hostname=Web1 配置后重启下客户端

简单监控网站访问是否正常的shell脚本,邮件报警。网站恢复后继续运行。

#!/bin/bash # 使用curl检查网页是否可以正常访问,如果无法访问则发邮件. SITE=crm.bjzgjh.com PROT=80 URL="http://$SITE:$PROT" #mail_info email_sender=([email protected] [email protected]) email_title="$SITE端口$PROT故障警告!!!" email_content="主机$SITE:$PROT不通!请及时处理

zabbix的短信与邮件报警脚本

#!/usr/bin/python # -*- coding: utf-8 -* import sys import smtplib from email import encoders from email.header import Header from email.mime.text import MIMEText from email.utils import parseaddr, formataddr def send_email(to_addr,subject,body): msg

Zabbix部署、监测及邮件报警机制(实战!)

Zabbix部署 实验环境: CentOS 7-2:192.168.18.147(监测端:部署安装zabbix) CentOS 7-3:192.168.18.128(被监测端) 监测端操作: [[email protected] ~]# systemctl stop firewalld.service #关闭防火墙功能 [[email protected] ~]# systemctl disable firewalld.service #开机禁用防火墙功能 Removed symlink /et