• zabbix配置自动发现,故障邮件告警


    对网段内的主机进行自动发现,自动加入主机组,自定加入template

    创建动作时,类型这里选择discovery

    然后将发现的主机加入host group和template:

    动作针对的是discovery这个类型的:

    上面定义的发现的规则,然后定义发现后的动作:

    操作做完之后,然后将agent端的zabbix-agent服务进行开启:

    # systemctl start zabbix-agent
    

     不多久就可以看见host:

     配置媒介:

    上面三个脚本的参数必须带上:

    {ALERT.SENDTO}:收件人

    {ALERT.SUBJECT}:主题

    {ALERT.MESSAGE}:告警正文

    这里可以稍作修改

    配置完之后出现如下:

    将配置完的媒介与用户关联起来,可以创建新用户,可以选择已有用户,这里选择admin:

    将媒介与之关联,并配置脚本的第一个参数:收件人

    然后配置用户组:

    选择zabbix administrators点进去配置permission:

    待上面基础配置完成后,现在需要配置action:

    由于是执行脚本所以是发送消息类型,关联到用户以及用户组

    主题:故障{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}

    邮件正文:邮件脚本的第三个参数

    配置完所有以上后,手动将一个zabbix-agent服务进行stop,然后进行reports下面的action log进行查看:

    在上面的failed红字的感叹号可以看出action的动作是否成功,上面是由于没有指定user,于是修改:

    这个邮件发送不成功看原因是脚本没有权限,于是给脚本加上权限,并重启zabbix-server服务:

    然后发现上面的一次已经触发action成功,可以在邮件发现已发送

    于是简单的邮件告警发送成功

     附上邮件告警代码:

    [root@zabbix-server alertscripts]# cat /root/zabbix_python_demo/send_mail.py 
    import smtplib
    from email.mime.text import MIMEText
    import sys
    
    from_mail = "json_hc@163.com"
    mail_passwd = "********"
    
    
    def send_mail(to_mail, subject, content):
        msg = MIMEText(content, 'plain', 'utf-8')
        msg['Subject'] = subject
        msg['From'] = from_mail
        msg['To'] = to_mail
        try:
            s = smtplib.SMTP()
            s.connect('smtp.163.com')
            s.login(from_mail, mail_passwd)
            s.sendmail(from_mail, to_mail, msg.as_string())
            print("OK")
        except Exception as e:
            print(e)
        finally:
            s.quit()
    
    
    if __name__ == '__main__':
        send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
    
  • 相关阅读:
    七、元素操作
    深入解读saltstack的安装及配置1
    Python3.x和Python2.x的区别
    用python3破解wingIDE
    saltstack配置安装的一些关键步骤及安装时各种报错的分析
    中文+django1.9+python3.5一些注意点
    整合git与wingIDE(代码下载)
    python代码编程规范
    centos7虚拟机无法上网的解决办法
    python开源包提交到pypi社区
  • 原文地址:https://www.cnblogs.com/jsonhc/p/10091899.html
Copyright © 2020-2023  润新知