zabbix系统邮件告警Python脚本

zabbix系统邮件告警配置有很多方式,如系统自带的mail,还有zabbix+msmtp+mutt,但是使用Python脚本应该来说还是一个非常简捷有效的方式。主要有如下步骤;

1、设置zabbix_server.conf文件

AlterScript = /usr/local/zabbix/share/zabbix/alterscript

2、建立告警脚本

cd /usr/local/zabbix/share/zabbix/alterscript/

sudo vim sendEmail.sh

#!/usr/bin/env python#coding:utf-8import timeimport smtplibimport loggingfrom email.mime.text import MIMETextimport sys
LOG_FILENAME="/var/log/email_python.log"
mail_host = ‘mstp.163.com‘
mail_user = ‘[email protected]‘
mail_pass = ‘xxxxx‘
mail_postfix = ‘xxxxx‘
def send_mail(to_list,subject,content,format=‘html‘):
 try:
  me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
  msg=MIMEText(content,format,‘utf-8‘)
  msg["Accept-Language"]="zh-CN"
  msg["Accept-Charset"]="ISO-8859-1,utf-8"
  msg[‘Subject‘]=subject
  msg[‘From‘]=me
  msg[‘to‘]=to_list
  s=smtplib.SMTP()
  s.connect(mail_host,"25")
  s.login(mail_user,mail_pass)
  s.sendmail(me,to_list,msg.as_string())
  s.close()
 except Exception,e:
  logging.basicConfig(filename = LOG_FILENAME, level = logging.DEBUG)
  logging.error(time.strftime(‘%Y-%m-%d %H:%I:%M‘,time.localtime(time.time()))+e)
if __name__ == "__main__":
 send_mail(sys.argv[1],sys.argv[2],sys.argv[3])

3、设置告警脚本的权限

sudo chmod zabbix:zabbix sendEmail.sh

sudo chown 755 sendEmail.sh

4、最后只需要在zabbix前端进行相应的配置即可。

时间: 2024-12-23 11:03:03

zabbix系统邮件告警Python脚本的相关文章

zabbix邮件告警python脚本

#!/usr/bin/python # -*- coding: utf-8 -*- """ Zabbix SMTP Alert script from qq. auth:json """ import sys import email import smtplib import os from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipar

Zabbix3.2邮件告警python脚本

一.概述及环境要求 1.概述 zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法.之前使用过sendemail邮件报警但是发现邮件主题为中文时候会出现乱码的问题. 2.环境安装要求 Zabbix软件版本:zabbix3.2.6 操作系统:CentOS release 6.8 (Final) 二.脚本创建及测试 1.查看配置zabbix_server.conf ,找到AlertScriptsPath,查看路径位置,如被注释,将注释打开,把send.py 文件保存到该目录

阿里云创建邮件告警 python 脚本,执行超时

现象:做了一个邮件告警脚本,python 写的,名称 mail.py,内容如下 #!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_user = '[email protected]' mail_pass = '8xxxxxxxxxxxxj' def send_mail(to_list,subject,content): me = "zabbix 监

linux服务器登录邮件告警python程序

linux服务器用户登录邮件告警python小程序,一旦有人登录服务器就发邮件通知系统管理员.作为SA有些服务器只有自己可以登录的,你懂的!可有时候会被研发坑,被运维坑.为了全面掌控服务器,配置一个用户登录系统邮件通知,是很必要滴! 比较渣渣的一个脚本,不过在次基础上可以很容易的扩展滴.直接上代码了. #!/usr/bin/python#coding:utf8import smtplibimport stringimport psutilimport datetime HOST = "smtp.

3.3 zabbix 配置邮件告警

设置触发器的目的是为了让监控的服务实现告警,那告警如何实现呢,下面来配置一下邮件告警.发邮件是服务器通过自己的sendmail服务发出的,有时候如果配置不合适或者服务没有启动,我们是发不出邮件的. 安装sendmail [[email protected] ~]# yum install -y mailx sendmail [[email protected] ~]# /etc/init.d/sendmail start 正在启动 sendmail:                       

邮件发送Python脚本

#!/usr/bin/env python2 #-*- coding: utf-8 -*- #导入smtplib,sys import smtplib,sys from email.mime.text import MIMEText def send_mail(sub,content): #要发给谁,这里发给1个人 mailto_list=["[email protected]", "[email protected]"] #设置服务器用户名.口令以及邮箱后缀 ma

zabbix邮件报警python脚本

之前保存了一个zabbix的邮件脚本,这次在使用中遇到了一些问题,这里合大家分享一下. #!/usr/bin/env python #-*- coding: UTF-8 -*- import smtplib import sys from email.mime.text import MIMEText from email.header import Header def send_mail(to_email,subject,message):     sender = '[email prot

zabbix配置邮件告警

添加自定义监控项目 需求:如果需要监控业务中一些比较复杂的数据,而zabbix不可能给提供这种监控项,那么就需要自己写出监控数据的脚本或者其他语言的程序来获取这个监控值,然后通过zabbix_agentd发送给zabbix_server端处理编辑一个获取数据的命令或者脚本,比如获取并发的处理链接数,并给予脚本权限,让zabbix_agentd有权限去执行这个脚本获取数据 [[email protected] ~]# vim /usr/local/sbin/estab.sh #!/bin/bash

Zabbix外部邮件告警配置mailx

关闭sendmail或者postfixservice sendmail stopchkconfig sendmail offservice postfix stop chkconfig postfix off备注:使用外部邮箱账号时,不需要启动sendmail或者postfix如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱 设置mailx发信账号yum -y install mailxln -s /bin/mailx /bin/mailvim /e