Nagios通过企业微信报警
主要分两部分进行:
- 注册企业微信,自建应用,获取与发送消息相关的信息;
- 编写调用微信API脚本(bash),配置Nagios微信报警;
一、企业微信
1、注册企业微信:https://work.weixin.qq.com/,登录后在“我的企业”找到CorpID
2、创建应用,获取应用里,AgentId,Secret
3、在“通讯录”里,查看需要接受报警的部门id或者成员账号(非昵称)
二、服务器端配置
1、编写调用微信API脚本(bash)命名为set_to_weixin.sh,放在Nagios插件目录下,默认:/usr/local/nagios/libexec,添加可执行权限

- 1 #!/bin/bash
- 2 get_access_token () {
- 3 curl -s https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=CorpID\&corpsecret=Secret >/tmp/$$.txt
- 4 access_token=`awk -F "\"" '{print $10}' /tmp/$$.txt`
- 5 }
- 6
- 7 sed_to_weixin () {
- 8 curl https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$access_token -d "{ \
- 9 \"touser\": \"xxxxxx\", \ dashuju178.com dongfan178.com
- 10 \"msgtype\": \"text\", \
- 11 \"agentid\": 1000000, \
- 12 \"text\": { \
- 13 \"content\": \"$1\" \
- 14 }, \
- 15 \"safe\":\"0\" \
- 16 }"
- 17 }
- 18
- 19 main () {
- 20 get_access_token
- 21 sed_to_weixin "$*"
- 22 }
- 23
- 24 main "$*"

注:脚本第3行,替换为自己的CorpID和Secret;
脚本第9行,替换为自己的成员账号;或者改为toparty后面接部门id;
脚本第11行,替换为自己的AgentId;
2、修改commands.cfg,在末尾添加如下配置

- 1 # For weixin
- 2 define command{
- 3 command_name notify-host-by-weixin
- 4 command_line /usr/local/nagios/libexec/set_to_weixin.sh "host\n-@@-$NOTIFICATIONTYPE$-@@-$HOSTNAME$-@@-$HOSTSTATE$-@@-$HOSTADDRESS$-@@-$HOSTOUTPUT$-@@-$CONTACTALIAS$"
- 5 }
- 6 define command{
- 7 command_name notify-service-by-weixin
- 8 command_line /usr/local/nagios/libexec/set_to_weixin.sh "service\n-@@-$NOTIFICATIONTYPE$-@@-$SERVICEDESC$-@@-$HOSTALIAS$-@@-$HOSTADDRESS$-@@-$SERVICESTATE$-@@-$SERVICEOUTPUT$-@@-$CONTACTALIAS$"
- 9 }

3、修改templates.cfg,在contact名为generic-contact的模板里修改如下两行
- 1 service_notification_commands notify-service-by-email,notify-service-by-weixin
- 2 host_notification_commands notify-host-by-email,notify-host-by-weixin
4、重启Nagios
[root@nagios ~]# /etc/init.d/nagios reload
三、测试
1、登录Nagios,点击hosts或者services,点击,发送当前通知
2、登陆企业微信客户端,查看是否收到报警消息。
Nagios通过企业微信报警的更多相关文章
- Prometheus(五):Prometheus+Alertmanager 配置企业微信报警
此处默认已安装Prometheus服务,服务地址:192.168.56.200 一.设置企业微信 1.1.企业微信注册(已有企业微信账号请跳过) 企业微信注册地址:https://work.weix ...
- Prometheus 企业微信报警/inhibit抑制 /静默(二)
创建企业微信应用 注册企业微信:访问https://work.weixin.qq.com/,注册企业,随便填,不需要认证 创建应用 创建告警配置 vim /usr/local/prometheus-2 ...
- Zabbix4.2.0使用Python连接企业微信报警
目录 1. 配置企业微信 2. 脚本配置 2.1 安装python依赖的库 2.2 编写脚本 2. 搭建FTP 3. 配置Zabbix监控FTP 3.1 添加FTP模板 3.2 添加报警媒介 3.3 ...
- 配置zabbix通过微信报警企业微信报警
如今势态: 报警的方式可谓是八仙过海各显神通,如电话报警,短信报警,邮件报警,QQ报警,微信报警等等. 电话报警:一般都是使用别的平台的工具,平台给你提供一个接口供你使用,大多数为限量收费款 短信报警 ...
- zabbix企业微信报警实现
企业微信配置 # 注册 企业微信注册地址:https://work.weixin.qq.com 笔者注册的企业微信名称为 5iik # 配置 # 在主干5iik(企业名称)下添加子部门(监控组),并将 ...
- zabbix配置企业微信报警
+++++++++++++++++++++++++++++++++++++++++ 1. 工作中最长使用的就是微信,普及,开源,而且免费!!! 2. 在企业微信中要记录的值: · 部门id · 企业i ...
- Zabbix 3.0 配置企业微信报警(注册---测试)
一.申请企业微信 1.登录企业微信官网,点击企业注册 二.配置企业微信 1.邀请管理员使用企业微信,如果有多个人直接添加新成员 2.管理员收到邀请,下载手机版企业微信,使用微信号登陆即可 3.创建应用 ...
- Zabbix4.0报警配置-企业微信报警
一:前期准备 1.1:企业号注册 https://qy.weixin.qq.com/ 微信调用接口说明 http://qydev.weixin.qq.com/wiki/index.php?title ...
- Zabbix 3.0 配置企业微信报警(配置zabbix-web)
一.添加报警媒体类型 Name:自定义 Type:选择script Scripts name:填写脚本名称 Script parameters:脚本参数 --corpid=XXX --corpsecr ...
随机推荐
- OpenGL学习笔记(4) GLM库的使用
OpenGL和DirextX不一样,没有内置的数学库,于是我们需要找一个第三方库,按照LearnOpenGL的教程我们使用GLM库,可以到他们的官网下载 glm常用的数据类型 vec2 二维向量 ve ...
- 2.5 Oracle之存储过程和MERGE INTO语句
一.MERGE INTO语句 1.merge into语句的功能:我们操作数据库的时候,有时候会遇到insert或者Update这种需求.我们操纵代码时至少需要写一个插入语句和更新语句并且还得单独写方 ...
- anaconda+pycharm的安装和应用
至于anaconda的安装与pycharm的安装在此不做多说,主要说下遇到的问题. 问题描述: 安装anaconda后,pip下载的第三方库调用不到. 原因分析: anaconda自带的python3 ...
- Java中 static、final和static final的特点及区别
final: final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行时,初始化后不能被改变. final修饰的属性跟具体对象有关,在运行期 ...
- Streamr助你掌控自己的数据(1)——教你5分钟上传数据至Streamr
博客说明 所有刊发内容均可转载但是需要注明出处. 教你5分钟上传数据至Streamr 本系列文档主要介绍怎么通过Streamr管理自己的DATA,整个系列包括三篇教程文档,分别是:教你5分钟上传数据至 ...
- C++ 函数 内联函数
内联函数的功能和预处理宏的功能相似,在介绍内联函数之前,先介绍一下预处理宏.宏是简单字符替换,最常见的用法:定义了一个代表某个值的全局符号.定义可调用带参数的宏.作为一种约定,习惯上总是用大写字母来定 ...
- Chapter 1 概述
软件分为通用软件和应用软件,具有复杂.不可见和不断变化的特点:从出现到现在共经历了四个重要的发展阶段,但现在的软件发展依然存在着许多问题. 软件工程是采用工程的概念.原理.技术和方法来开发与维护软件, ...
- 猫咪记单词——NABCD模型分析
N ——Need 需求:学习英语是一件非常重要的事.面对各种各样的考试,学习英语,最重要的就是词汇量,背单词是提高词汇量的最直接的方法,但是单纯的背单词太单调.寻找一些合适的,更易于接受的背单词学习英 ...
- JTS
在这个系列的 第 1 部分,我们讨论了事务并研究了它们的基本属性 ― 原子性(atomicity).一致性(consistency).孤立性(isolation)和持久性(durability).事务 ...
- 总结MySQL修改最大连接数的两个方式
最大连接数是可以通过mysql进行修改的,mysql数据库修改最大连接数常用有两种方法,今天我们分析一下这两种方法之间的特点和区别,以便我们能更好的去维护mysql.下面我们来看一下mysql修改最大 ...