6、Zabbix邮件告警

简介:

1、创建邮件告警的脚本,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env python
#coding:utf-8
import  smtplib
from email.mime.text  import  MIMEText
import  sys
LOG_FILENAME= "/var/log/email_python.log"
mail_host =  'smtp.qq.com'                   #定义smtp服务器
mail_user =  '45xxxx6@qq.com'                #发件人邮箱
mail_pass =  'xxxxx'                         #发件人邮箱密码
mail_port = 465                             #smtp服务器的端口号,不同的邮箱服务器端口号不同
def send_mail(to_list,subject,content):
     me= "Zabbix Monitor" + "<" +mail_user+ ">"   #定义发件人显示名称为Zabbix Monitor
     msg=MIMEText(content,_subtype= 'plain' ,_charset= 'gb2312' )
     msg[ 'Subject' ]=subject                  #定义邮件主题
     msg[ 'From' ]=me                          #发送方
     msg[ 'to' ]=to_list                       #接收方
     try:
         s=smtplib.SMTP_SSL()                #创建一个smtp对象                     
         s.connect(mail_host,mail_port)      #通过connect方法连接smtp主机
         s.login(mail_user,mail_pass)        #邮箱账户登录认证
         s.sendmail(me,to_list,msg.as_string())  #发送邮件
         s.close()                              #断开smtp连接
         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_server.conf文件中定义的告警脚本路径

1
2
#AlertScriptsPath=/usr/lib/zabbix/alertscripts
AlertScriptsPath= /etc/zabbix/alertscripts

然后将准备好的python脚本存放到该路径下,并更改脚本文件的权限和属主属组

#chown zabbix:zabbix  mail.py

#chmod +x   mail.py

注意:如果在zabbix_server.conf文件中没有设置Allow root=1,则表示zabbix是以zabbix用户启动而不是root,所以脚本的属主属组都应该设置为zabbix用户。设置为root用户启动的配置如下。

1
2
3
4
5
6
7
8
9
### Option: AllowRoot
#   Allow the server to run as 'root'. If disabled and the server is started by 'root', the server
#   will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
#   0 - do not allow
#   1 - allow
#
# Mandatory: no
# Default:
AllowRoot=1


3、测试脚本文件发送邮件是否成功,这一步很重要

 # cd  /usr/lib/zabbix/alertscripts

 #./mail.py  451345726@qq.com     “subject”   “content”  

如果能收到邮件,表示脚本没有问题。


4、创建Media types

wKiom1dcyS_gPUzxAALbOWF1XqM926.png



5、添加邮件邮件接收用户

wKioL1dcy1LANcQRAAInFaqrzXE877.pngwKioL1dcy4zR_ID-AAJZ4TZPzl0620.png



6、创建Action

Action选项卡中只要填一个Name,其余默认

wKioL1dczB_xkUalAANHh3ECUtk600.png


Conditions选项卡中添加告警条件,将主机组加入进来。

注意添加主机组这里如果你选择了多个主机组,则表示属于这多个组的主机才满足告警条件。

wKioL1dc3Niz2Ie_AAKWRwjqZGo810.png

如果条件选择AND/OR  就可以避免这一问题

wKiom1dc4fiQa56zAAJu8NGJY1Q201.png


创建Operations

wKiom1dc0hPhDbIFAARoMGQZIDY617.png

到这里配置完成了。



如果不使用默认的邮件告警内容,也可以自己定义:

wKioL1en3y6CrLeoAAGrWSpzOvY533.png-wh_50



邮件告警内容

wKiom1dc4kfAAW9nAAJh2r044r0643.png












本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1788119,如需转载请自行联系原作者
目录
相关文章
|
监控
zabbix设置邮件报警
zabbix设置邮件报警
448 0
|
监控 机器人 Python
Zabbix实现钉钉群告警
Zabbix实现钉钉群告警
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
一文吃透企业级elk技术栈:9. zabbix结合logstash告警
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
1040 26
|
运维 监控 前端开发
Zabbix告警分析新革命:DeepSeek四大创新场景助力智能运维
面对日益复杂的IT环境,高效分析监控数据并快速响应成为运维的关键挑战。本文深入探讨了DeepSeek与Zabbix结合的创新应用,包括一键式智能告警分析、Zabbix文档知识库助手及钉钉告警增强功能。通过部署指南和实用脚本,展示了如何提升故障排查效率,为运维工程师提供高效解决方案。
1820 5
|
人工智能 运维 监控
Zabbix告警分析新纪元:本地DeepSeek大模型实现智能化告警分析
本文由Zabbix中国峰会演讲嘉宾张世宏撰写,介绍如何通过集成Zabbix监控系统与深度求索(DeepSeek)AI助手,构建智能化告警处理方案。该方案利用Webhook机制传递告警信息,借助DeepSeek的智能分析能力,帮助运维团队快速识别问题根源并提供解决方案。文章详细描述了技术架构、环境搭建、Webhook配置及实际案例,展示了AI在运维领域的应用前景和优势。
3365 0
|
存储 监控 安全
邮件告警通知
【10月更文挑战第20天】
|
监控 Unix Shell
Nightingale——夜莺监控系统部署邮件告警系统【三】
Nightingale——夜莺监控系统部署邮件告警系统【三】
507 1
Nightingale——夜莺监控系统部署邮件告警系统【三】
|
Prometheus 运维 Cloud Native
【2023】Prometheus-接入Alertmanager并实现邮件告警通知
【2023】Prometheus-接入Alertmanager并实现邮件告警通知
1661 0
|
缓存 监控 应用服务中间件
【zabbix】生产环境zabbix只能收到邮件不能看到图形化页面
【zabbix】生产环境zabbix只能收到邮件不能看到图形化页面
373 0

热门文章

最新文章

推荐镜像

更多