zoukankan      html  css  js  c++  java
  • zabbix告警推送至个人微信

    文章原文
    自从接触zabbix后,就一直想着怎么才能把告警推送到个人微信上。有这样的想法主要是个人微信的使用频率远远要比钉钉,企业微信,邮箱,飞书等使用频率要高。比如我,就遇到过在周末的时候,因为没有及时登录钉钉查看zabbix告警通知,导致一些告警没来得及处理,对环境产生了影响。
    前段时间朋友给推荐了pushplus,一开始主要在jenkins做构建通知用的,后来就想,能不能使用zabbix的告警通知推送到微信上呢?

    先介绍下pushplus吧,pushplus 官方介绍
    pushplus(推送加)集成了微信、企业微信、钉钉、短信、邮件等实时信息推送平台
    你只需要调用简单的API,即可帮助你迅速完成消息的推送,使用简单方便
    我们的所做的一切只是为了让推送变的更简单

    pushplus

    登录官网注册pushplus

    访问官网后点击登录,微信扫描即可注册。
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控

    获取pushplus Token

    注册成功后。点击一对多,然后新建一个群组。群组编码作为群组的唯一标示,后续需要使用。群组名称随意填写。
    创建成功之后点击群组上的查看二维码,将二维码发给需要加入群组的同事。以后推送的消息加入群组的用户都会收的到。在“订阅人”中可以主动的移除不想要的用户。
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    然后保存你的token和群组编码。

    zabbix_server端设置

    查看pushplus调用方式.
    附上脚本
    脚本很简单,shell直接调用接口即可

    #!/bin/bash
    ##########################
    # pushplus推送zabbix告警 #
    #########################
    topic=$1    #topic为你的群组
    title=$2    #title你要的标题内容
    content=$3  #你要的具体消息内容
    url=http://pushplus.hxtrip.com/send #pushplus POST和PUT请求接口
    json="{"token":  "$token", "title": "$title", "content": "$3", "template": "html", "topic": "$topic"}"
    curl -H "Content-Type: application/json" -X POST -d "$json" $url
    

    将脚本部署在alertscripts目录下,如果你不知道在那,你可以回想一下你钉钉告警,或者是企业微信告警的脚本放在那。如果实在记不起来,那就find找下alertscripts目录吧

    zabbix web端设置

    创建报警媒介类型

    登录zabbix web端点击管理--报警媒介类型--创建媒体类型
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    名称:随意写
    类型:选择脚本
    脚本名称:按照实际名称填写
    脚本参数:

    {ALERT.SENDTO}
    {ALERT.SUBJECT}
    {ALERT.MESSAGE}
    

    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控

    创建动作

    点击配置--动作--创建动作
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    动作
    名称:随意写
    条件:根据自己的告警需求填写
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    操作
    默认操作步骤持续时间:1h
    默认标题:你也可以随意写。也可以用下面的。

    故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障! 故障通知!!
    

    消息内容:和标题一样

    告警主机:{HOSTNAME1}<br>
    IP地址:{HOST.CONN} <br>
    告警时间:{EVENT.DATE} {EVENT.TIME}(UTC)<br>
    告警等级:{TRIGGER.SEVERITY}<br>
    告警信息: {TRIGGER.NAME}<br>
    告警项目:{TRIGGER.KEY1}<br>
    问题详情:{ITEM.NAME}:{ITEM.VALUE}<br>
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br>
    事件ID:{EVENT.ID}<br>
    

    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    操作步骤--点击新的
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    选择发送到用户,点击添加--admin--选择
    仅送到,选择你刚创建的,最后点击添加
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    最为为这样
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    恢复操作
    恢复操作和操作一样
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    添加完后
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控

    创建用户报警媒介

    选择管理--用户--admin
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控

    测试告警

    添加完过后,接下来就测试吧。
    我这边选择了一个触发器调了下告警的值,最后展示下告警以及恢复。
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    文章原文

  • 相关阅读:
    用户管理
    网线制作与分类
    5.虚函数,覆盖,多态,异常处理
    4.类的继承
    3.运算符重载
    7.STL
    6.泛型编程与模板
    C++中>>,<<的重载问题
    2.名字空间和构造函数
    1.C和C++的区别
  • 原文地址:https://www.cnblogs.com/xuewenlong/p/14783606.html
Copyright © 2011-2022 走看看