• 图解Zabbix设置邮件报警


    Zabbix设置邮件告警

     
    前提条件:
    Zabbix Server 和 Zabbix Agent都已安装完毕,并已启动
     
    1、添加主机
     

    2、配置邮件告警,这里以VSFTP服务为例
    yum install -y vsftpd 
    vim /etc/vsftpd/vsftpd.conf
    ...
    listen=YES # 修改该条
    listen_ipv6=YES # 删除该条
    ...
    systemctl start vsftpd
    邮件告警可以采取两种方式,一是通过zabbix web直接设置,二是通过脚本设置
    推荐第一种,以QQ邮箱为例:
    (1)首先先打开qq邮箱授权
     
    (2)创建媒介类型

     

    媒介创建完毕就ok,可以测试发送一下看是否能收到。
    下边直接介绍脚本媒介告警方式,后边的用户设置及动作设置都是相同的
     
    第二种,脚本告警:
    首先,查看作用脚本路径(可以自定义修改):
    grep AlertScriptsPath zabbix_server.conf
     
    到此路径下编写邮件告警脚本:
    vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.py
    将以下内容复制:(我用的qq邮箱,如用其他邮箱做发件人,请根据注释修改)
    #!/usr/bin/env python
    # _*_ coding:utf-8 _*_
     
    import smtplib
    from email.mime.text import MIMEText
    import sys
     
    # configure your own parameters here
    #下面邮件地址的smtp地址
    mail_host = 'smtp.163.com'
    #用来发邮件的邮箱,在发件人抬头显示(不然你的邮件会被当成是垃圾邮件)
    mail_user = '****@qq.com'
    # 客户端授权码
    mail_auth = '******'
    # 发送方显示的名称
    send_name = mail_user
    # 接收方显示的名称
    recv_name = mail_user
     
    def excute(to, title, content):
        msg = MIMEText(content, 'plain', 'utf-8')
        msg['From'] = send_name
        msg['To'] = recv_name
        msg['Subject'] = title
        server = smtplib.SMTP(mail_host, 25)
        server.login(mail_user,mail_auth)
        server.sendmail(mail_user,to,msg.as_string())
        server.quit()
     
    if __name__ == '__main__':
        excute(sys.argv[1], sys.argv[2], sys.argv[3])
    #                  $1           $2           $3

    然后赋予执行权限chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.py

     
    3、创建报警媒介及动作

    添加完成:
    选择

    然后点击添加按钮,其他两个模块也修改为与以上相同的
    默认标题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
    消息内容:
        告警主机:{HOSTNAME1}
        告警时间:{EVENT.DATE} {EVENT.TIME}
        告警等级:{TRIGGER.SEVERITY}
        告警信息: {TRIGGER.NAME}
        告警项目:{TRIGGER.KEY1}
        问题详情:{ITEM.NAME}:{ITEM.VALUE}
        当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
        事件ID:{EVENT.ID}

    添加完成
     
    4、将vsftp服务停掉,测试是否可以收到邮件了

    此项说明邮件已送达,下一步打开邮箱看一下

     
    ok,收到邮件,nice,再恢复服务看能不能收到邮件
    也收到了 ok!

    注意:以上在Zabbix页面配置邮件报警时我的截图均为选择的py脚本方式,使用zabbix web的邮件告警方式就直接替换下选择就ok

  • 相关阅读:
    python encode和decode函数说明【转载】
    python进阶--打包为exe文件
    python进阶--文件读写操作
    Python标准库_ sys,random,time
    Vmware 克隆CentOS 网络IP配置
    Esxi主机虚拟机迁移注意事项
    VMware ESXI4.1 常用命令
    ESX与ESXi管理员必备25个命令
    vcredist作用
    vim基本命令之剪切复制粘贴替换
  • 原文地址:https://www.cnblogs.com/v-fan/p/13559336.html
Copyright © 2020-2023  润新知