zabbix3.0配置邮件报警

news/2024/7/3 13:23:22
我们部署一套监控软件,报警这一块自然不可或缺,接下来我们看看zabbix如何实现邮件报警。
 
1、编写发送邮件的脚本
zabbix通脚本发送邮件,遵循的传参格式为:
脚本   收件人  标题  邮件内容
先来看看脚本(sendmail_zabbix.py):
#!/usr/bin/python
#coding:utf-8

import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import parseaddr, formataddr
import sys


def formatAddr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))

def send_mail(to_list,subject,content):
mail_host = 'smtp.exmail.qq.com'
mail_user = 'llll@xxx.com'
mail_pass = '^4ypfadfasdfadfladfjll77=2nwr32iy'
#以上内容根据你的实际情况进行修改
msg = MIMEText(content,'','utf-8')
msg['Subject'] = Header(subject, 'utf-8').encode()
msg['From'] = formatAddr('zabbix监控 <%s>' % mail_user).encode()
msg['to'] = to_list

try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(mail_user,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False

if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
2、在zabbix配置文件中指定的脚本路径
修改zabbix_server.conf
AlertScriptsPath=/data/zabbix/externalscripts  #我的脚本放在此目录下,不同路径手动修改即可
修改完成后重启zabbix_server服务。
 
3、关联脚本名称
【zabbix主面板->管理->报警媒介类型->创建媒体类型】
输入脚本名称,类型选择脚本
添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。
这是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
在2.x版本不存在这个问题,默认会传3个参数。
 
4、用户收件邮箱与报警时间设置
【zabbix主面板->管理->用户->点击用户->报警媒介】
 
5、配置报警触发器
【配置->动作->创建动作】
配置好名称,其它默认。
条件:
操作:
 
6、邮件接收测试
停掉client节点的zabbix_agentd服务。等待邮件报警,默认agent发邮件是5分钟,即5次没有获取到数据则报警。
 
收到邮件:

 

 

 

 

转载于:https://www.cnblogs.com/Eivll0m/p/5446993.html


http://www.niftyadmin.cn/n/3095326.html

相关文章

mac 键盘使用

2019独角兽企业重金招聘Python工程师标准>>> 1)按 delete 键&#xff0c;实现 Windows 键盘上退格键的功能&#xff0c;也就是删除光标之前的一个字符&#xff08;默认&#xff09;&#xff1b; 2)按 fndelete 键&#xff0c;删除光标之后的一个字符&#xff1b; 3)…

Windows与centos,centos与centos互传文件

Windows与centos相互传文件 要有个工具PentestBox&#xff08;很强大&#xff09;下面是下载链接 链接&#xff1a;https://pan.baidu.com/s/1CF7HzjiGi3wnpScphJoF3g 提取码&#xff1a;hvfm 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 安装如下(安…

Provisioning Services 7.8 入门系列教程之一 部署学习环境介绍

首次接触Provisioning Services时&#xff0c;让笔者想起了以前。不知是一九九几年&#xff0c;笔者已记不清。那时&#xff0c;个人电脑还很贵。为了节约成本&#xff0c;好多局域网采取无盘工作站。记得当时使用是Novell的NetWare 3.12&#xff0c;当时还是用的DOS。当时&…

centos7装docker

Docker是什么&#xff1a; Docker是一个开源的应用容器引擎&#xff0c;Docker可以让开发者打包应用及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何Linux上运行&#xff0c;容器是完全沙箱机制&#xff0c;相互间不会有任何接口&#xff0c;而且容器性能开销…

连连看的原生JS实现V2

对上一次的连连看程序进行了一点修改&#xff1a; 1 var llk function () {2 this.ReStart();3 }4 llk.prototype {5 Init: function () {6 //初始化游戏界面7 for (var i 0; i < 5; i) {8 …

用Windows的cmd也能给centos互传文件了

用Windows自带的cmd&#xff0c;cmd查看文件不是ls&#xff0c;是dir 要安装一个小的应用putty&#xff0c;下载链接如下&#xff08;64位的&#xff09; 链接&#xff1a;https://pan.baidu.com/s/1R5iPPJy_dziTUNYq3vSYeA 提取码&#xff1a;mcof 复制这段内容后打开百度网…

Qt出现QObject::connect: Cannot queue arguments of type '******'的解决方法

一般出现这种情况都是自定义的类型进行型号槽连接的时候出现的&#xff0c;使用 假设自定义的类型是MyClass 使用qRegisterMetaType<MyClass>("MyClass");注册之后就可以正常的进行信号和槽连接 转载于:https://www.cnblogs.com/-wang-cheng/p/4962257.html

AOP事务的例子

给大家看一个例子&#xff0c;共同来分析下存在的问题 场景&#xff1a;保存用户成功后&#xff0c;发送一个消息。如果没有保存成功&#xff0c;回滚同时不能发送消息 前提&#xff1a; 1 先不考虑发送消息会失败的情况&#xff0c;就是一旦调用发送消息的方法就一定会发送成功…