文章原文

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

前段时间朋友给推荐了pushplus,一开始主要在jenkins做构建通知用的,后来就想,能不能使用zabbix的告警通知推送到微信上呢?

先介绍下pushplus吧,pushplus 官方介绍

pushplus(推送加)集成了微信、企业微信、钉钉、短信、邮件等实时信息推送平台

你只需要调用简单的API,即可帮助你迅速完成消息的推送,使用简单方便

我们的所做的一切只是为了让推送变的更简单

pushplus

登录官网注册pushplus

访问官网后点击登录,微信扫描即可注册。

获取pushplus Token

注册成功后。点击一对多,然后新建一个群组。群组编码作为群组的唯一标示,后续需要使用。群组名称随意填写。

创建成功之后点击群组上的查看二维码,将二维码发给需要加入群组的同事。以后推送的消息加入群组的用户都会收的到。在“订阅人”中可以主动的移除不想要的用户。



然后保存你的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端点击管理--报警媒介类型--创建媒体类型



名称:随意写

类型:选择脚本

脚本名称:按照实际名称填写

脚本参数:

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

创建动作

点击配置--动作--创建动作



动作

名称:随意写

条件:根据自己的告警需求填写



操作

默认操作步骤持续时间: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>



操作步骤--点击新的



选择发送到用户,点击添加--admin--选择

仅送到,选择你刚创建的,最后点击添加



最为为这样



恢复操作

恢复操作和操作一样



添加完后

创建用户报警媒介

选择管理--用户--admin





测试告警

添加完过后,接下来就测试吧。

我这边选择了一个触发器调了下告警的值,最后展示下告警以及恢复。









文章原文

zabbix告警推送至个人微信的更多相关文章

  1. Prometheus+Grafana+Alertmanager实现告警推送教程 ----- 图文详解

    前言 本文主要介绍的是Prometheus采集数据,通过Grafana加上PromQL语句实现数据可视化以及通过Alertmanage实现告警推送功能.温馨提示,本篇文章特长,2w多的文字加上几十张图 ...

  2. pinpoint实现告警推送至钉钉和微信群

    前言 在前面的文章中,我们学习了如何通过java实现将消息发送到钉钉.和将消息发送到微信群聊. 基于上述基础,我们今天来接入pinpoint的告警,发送到钉钉群. 实操前准备 开始之前,推荐阅读一下, ...

  3. [wxpusher]分享一个服务器推送消息到微信上的小工具,可以用于微信推送提醒和告警。

    背景 作为一个程序员,业余搞点自己的东西很正常,一般程序员都会有一两台自己的服务器,谁叫今天xx云搞活动,明天yy云搞活动呢. 自家的服务器用来跑爬虫,跑博客,或者跑一些个人业务,但当服务有新状态,抢 ...

  4. Android推送服务(2)微信智能心跳方案

    http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207243549&idx=1&sn=4ebe4beb8123f1b5 ...

  5. prometheus-alertmanager告警推送到钉钉

    1. Prometheus告警简介 告警能力在Prometheus的架构中被划分成两个独立的部分.如下所示,通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性 ...

  6. zabbix 布署实践【6 使用微信公众号-消息模版推送告警】

    使用这个服务的前提是,你必须要有一个微信订阅号,或者公众号,并且是通过认证的号 因为认证过后的号才有模版消息和获取用户openid等信息的权限 ,如下,登录微信公众号的登录页后,底下有个接口权限的展示 ...

  7. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  8. C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...

  9. 微信公众平台开发,API接入与推送事件(1)

    博客好久没有更新了,今天说说微信开发.微信开发的好多初学者都会又这样的迷惑,微信开发到底是什么?其实微信开发本质我和我们的网站开发没有太大的区别.我们常说的微信开发也就是公众号开,微信公众号分为三个类 ...

随机推荐

  1. 利用奇偶数来获取websocket推送时间间隔(或者比较前一个数和下一个数的变化)

    利用奇偶数来获取websocket推送时间间隔(或者比较前一个数和下一个数的变化) 在vue中的 data () {     return { countTime: 0,         newDat ...

  2. vsCode开发flutter项目

    Visual Studio Code 安装: 下载链接:https://code.visualstudio.com/ 下载完成后根据步骤自行安装.     使用vsCode开发flutter项目需要部 ...

  3. PHP 后台数组数据 传输给前台JS 使用

    一. PHP: $a = array('aaa','bbb'); $a= json_encode($a); JS: var a_json = {$a};   //此处a_json数组便可使用 二. H ...

  4. 题解CF757B

    题目 题意:在 \(s\) 数组中找出尽可能多的数使得他们的最大公约数 \(>1\) 既然最大公约数 \(>1\),\(s\) 数组的值域是 \(1 \le s_i \le 10^5\), ...

  5. 微信小程序测试点

    一.测试范围 1.权限测试 需要检查以下几种情况下微信用户访问的权限 1)未授权微信登录小程序 未授权时,一般使用一些业务功能的时候,都会弹出提醒:先授权再操作对应功能.or在提交数据到后台的时候,会 ...

  6. curl的基本使用

    基本使用 1. 初始化 初始化非常简单,只需要调用curl_init()函数即可,他会返回一个curl句柄,后边几乎其他关于curl的设置,关闭等函数都需要使用这个句柄 $curl = curl_in ...

  7. Spring Cloud Alibaba - SkyWalking

    SkyWalking 简介 分布式链路跟踪是分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Docker.K8s)架构而设计: 也就是说Skywalking是用于微服务的" ...

  8. 一台服务器上部署多个Terracotta的方法

    在window server 2003 下,利用apache2.2.11+tomcat6+terracotta 群集不能复制session(http://forums.terracotta.org/f ...

  9. JavaWeb——CSS总结

    CSS 记得大一下学期那会参加基地后就开始跟师兄师姐接触前端了,利用业余时间在站看各种视频.由于初次认知并且时间也能不固定集中,也存在跳跃式学习等等原因,这就导致了好多知识点要么漏掉要么没记全,只能懂 ...

  10. Java中使用split方法根据英文问号?切割字符串时报错

    因为正则表达式的原因,我们无法在java中直接使用String.split("?"),需要先转义其正确写法为: public static void splitStr() { St ...