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功能,使用加密密码认证.

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

[[email protected] ~]# 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的默认脚本目中.

[[email protected] ~]# chmod +x send.py
[[email protected] ~]# python send.py [email protected] zabbix checkok
[[email protected] ~]# echo $?
0
[[email protected] ~]# cp -a send.py /usr/lib/zabbix/alertscripts/
[[email protected] ~]# chmod 755 -R /usr/lib/zabbix/alertscripts/

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

[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf
[[email protected] ~]# 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}分别依次加入,然后更新保存.

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

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}

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}

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

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

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

原文地址:https://www.cnblogs.com/LyShark/p/10884600.html

时间: 2024-10-05 10:20:49

Zabbix 配置Python邮件告警(3)的相关文章

zabbix配置及邮件短信报警

Zabbix邮件报警的大致流程如下: 监控主机---->监控项---->触发器---->告警动作---->告警方式---->告警用户 首先添加监控项 1.添加受监控项的主机 组态---主机---右上角"创建主机" 弹出主机创建页面 上图填完后先不要点存档,而是点击左上角的模板,选择要使用的模板(可选择多个模板,一个模板中包含一个或多个监控项目),也可以在"模板"选项中创建一个新的模板,选择完模板后点添加,再点 存档 在主机列表中点击被监

cacti安装配置及邮件告警

一.简介 ■1.特性 ___________________________________________________________ Cacti是一个非常好的网络监控工具,利用php语言实现其功能,它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构.host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善.界面友好, ■2.工作原理 ________________________________________________

zabbix实现Python邮件报警

zabbix是个非常强大的监控工具,可以监控linux和windows的服务器数据,也可以通过自定义key来扩展默认的监控项,但是自带的邮件报警提供的信息却不太友善.本文想通过自定脚本的方式,实现在报警邮件的同时发送对应的图像和url连接. 步骤如下: 创建一个脚本媒体报警:修改zabbix脚本报警配置路径:AlertScritpPath为存放脚本的路径 ### Option: AlertScriptsPath # AlertScriptsPath=${datadir}/zabbix/alert

云服务器 zabbix 配置报警邮件

配置邮件报警功能 1.在 zabbix 服务器上安装 mail 服务 : yum install mailx -y 问题:could not connect: Connection timed out "/root/dead.letter" 11/318 . . . message not sent. 分析:阿里云服务器关闭了25端口,发送邮件连接不上服务器的缘故,而且官方不允许打开该端口 一.请求数字证书 依次完成以下命令 mkdir -p /data/.certs/ chmod -

3.3 zabbix 配置邮件告警

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

2.0-zabbix配置邮件告警

sendmail和postfix都可以发送邮件,前提是服务已经启动. 设置触发器的目的是为了让监控的服务实现告警, 那告警如何告呢, 下面我们来配置一下邮件告警.发邮件是服务器通过自己的 sendmail 服务发出的,有时候如果配置不合适或者服务没有启动,我们是发不出邮件的.所以,要先测试一下. 注意:是在zabbix服务端做以下操作 # yum install -y sendmail # /etc/init.d/sendmail start # echo "test mail" |m

阿里云创建邮件告警 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 监

Zabbix邮件告警提示Couldn&#39;t resolve host name解决办法

zabbix设置好邮件告警,当有触发时邮件未发送 查看zabbix server日志,提示不能连接邮件发送服务器,但是ping是可以通的 Zabbix邮件告警提示Couldn't resolve host name解决办法 原文地址:https://www.cnblogs.com/minseo/p/9025362.html

zabbix详解:(三)添加邮件告警配置

大家应该心理有底,做监控不是只为了看服务器状态,虽然那也是监控的目的之一,但绝对不是全部,大家做监控的目的肯定是想预警,甚至是出问题就告警,毫无疑问zabbix也是支持告警规则的,现在来介绍传统的添加邮件告警,后面还会介绍微信告警. 添加邮件告警配置: 关于zabbix邮件告警的原理,其实是调用脚本,然后脚本通过邮件功能来向外发邮件,后面介绍的微信告警也是通过脚本调用微信接口来做的. 所以,告警的关键,就是脚本了,其实zabbix邮件告警这个功能很多文章有写,也有很多脚本可以参考,只是大部分版本