前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zabbix设置邮件告警

zabbix设置邮件告警

作者头像
dogfei
发布2020-07-31 15:13:26
9500
发布2020-07-31 15:13:26
举报
文章被收录于专栏:devops探索devops探索

配置zabbix

配置——》动作——》创建动作

img_5d3918a46e8e3-dd870a02-ff4d-4745-ba6e-03c5fc20e704
img_5d3918a46e8e3-dd870a02-ff4d-4745-ba6e-03c5fc20e704

设置动作,例如触发器达到什么级别告警

img_5d3919d9e7e12-a2db55d2-cc1c-4ae4-a124-06b76ff12c56
img_5d3919d9e7e12-a2db55d2-cc1c-4ae4-a124-06b76ff12c56

设置操作,包括标题及发送的消息内容,然后再设置一些细节,给谁发此消息

img_5d391a8e1a89d-d964eb37-809e-474c-9568-316647845589
img_5d391a8e1a89d-d964eb37-809e-474c-9568-316647845589
img_5d391b06e6c08-521b8e97-229a-49fd-b82b-d3e509aaeb93
img_5d391b06e6c08-521b8e97-229a-49fd-b82b-d3e509aaeb93

完整的示例如下:

img_5d391b38d4f05-ad475394-a0f6-4634-8e03-6d1cf92c4484
img_5d391b38d4f05-ad475394-a0f6-4634-8e03-6d1cf92c4484

定义恢复操作,设置标题,及消息内容,随后设置一些细节,将恢复后的消息发送给具体的用户或组

img_5d391b890ad44-a693f96a-8dc4-4ffc-9dc3-25bcf49eef41
img_5d391b890ad44-a693f96a-8dc4-4ffc-9dc3-25bcf49eef41
img_5d391bae8d400-98c42f9e-ac5b-4294-96dc-ba93c96217c3
img_5d391bae8d400-98c42f9e-ac5b-4294-96dc-ba93c96217c3

最后再点击添加,保存整个完整的动作。

设置报警媒介类型

这里是通过执行服务器上的脚本完成邮件告警的

img_5d391c7e6bbf1-4e3365a2-3b35-4faf-a5ae-2e0c80b78d74
img_5d391c7e6bbf1-4e3365a2-3b35-4faf-a5ae-2e0c80b78d74

脚本参考

代码语言:javascript
复制
# cat send_mail.py 
#!/usr/bin/env python
# -*- coding: UTF-8 -*-


import smtplib
import sys
from email.header import Header
from email.mime.text import MIMEText



class SendMail():
    def __init__(self,mail_host,mail_user,mail_pass,sender,receivers,content,title):
        self.mail_host = mail_host
        self.mail_user = mail_user
        self.mail_pass = mail_pass
        self.sender = sender
        self.receivers = receivers
        self.content = content
        self.title = title

    def sendEmail(self):
        msg = MIMEText(content,'plain','utf-8')
        msg['From'] = "{}".format(sender)
        msg['To'] = ",".join(receivers)
        msg['Subject'] = title
        try:
            smtpObj = smtplib.SMTP_SSL(mail_host,465)
            smtpObj.login(mail_user,mail_pass)
            smtpObj.sendmail(sender,receivers,msg.as_string())
            print('mail send successful.')
        except smtplib.SMTPException as e:
            print(e)

if __name__ == '__main__':
    #smtp服务器地址
    mail_host = "smtp.exmail.qq.com"
    #发送邮件的邮箱地址
    mail_user = "xxx@xxxxx.com"
    #邮箱密码
    mail_pass = 'xxxxxxxexxxx'
    #发送邮件的邮箱地址
    sender = 'xxxxxx@xxxx.com'
    #收件地址,多个以逗号分隔
    receivers = str(sys.argv[1]).split(',')
    #邮件内容
    content = sys.argv[2]
    #邮件标题
    title = sys.argv[3]
    m = SendMail(mail_host,mail_user,mail_pass,sender,receivers,content,title)
    m.sendEmail()

写好脚本后,我们需要修改下zabbix-server的配置文件,需要指定下脚本位置

代码语言:javascript
复制
vim zabbix_server.conf 
增加这么一段配置:
AlertScriptsPath=/export/script

修改完成后,重启一下zabbix-server服务。

以上是关于zabbix如何设置邮件告警,有的云主机25端口是封禁状态,所以我们自己写一个脚本,使用加密的465端口,这样会更加安全。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置zabbix
    • 设置报警媒介类型
    • 脚本参考
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档