Zabbbix之十二------Zabbix实现微信报警通知及创建聚合图形
实战一:实现zabbix监控微信报警
1、在企业微信上注册账号
1、注册企业微信,管理员需要写上自己的真实姓名,扫描以下的二维码,与微信关联真实姓名。

2、登陆企业微信,然后创建一个微信故障通知应用

3、对创建的应用命名,并上传图片

4、查看创建的应用


5、添加成员

6、查看此时的管理员账号是姓名全拼,但首字母都是大写,例如:张三,账号就是ZhangSan

2、在Linux系统的zabbix server服务器端配置weixin.py脚本
1、首先安装python脚本需要的命令
[root@zabbix web]# yum install python-pip -y
[root@zabbix web]# pip install requests
2、在指定的目录下/usr/lib/zabbix/alertscripts创建weixin.py脚本,在企业微信里找到agentid、企业ID以及企业秘钥
#!/usr/bin/env python
#coding:utf-8
#Author:Zhang ShiJie
import requests
import sys
import os
import json
import logging logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'), # 指定临时weixin的日志路径
filemode = 'a') corpid='xx' # 需要修改企业ID
appsecret="xxx" # 企业的secret秘钥
agentid="xxx" # 修改agentid
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token'] msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
message=sys.argv[2] + "\n\n" +sys.argv[3] params={
"touser": touser,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
} req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
3、对weixin.py脚本加上执行权限,并将属组和属主加上
[root@zabbix alertscripts]# pwd # 将weixin.py脚本存放在此目录下
/usr/lib/zabbix/alertscripts
[root@zabbix alertscripts]# chmod +x weixin.py # 加上执行权限
[root@zabbix alertscripts]# chown zabbix.zabbix weixin.py -R # 将权限进行修改
[root@zabbix alertscripts]# ll
total 4
-rwxr-xr-x 1 zabbix zabbix 981 Dec 25 02:55 weixin.py
4、对weixin.py脚本进行测试
[root@zabbix alertscripts]# python weixin.py 姓名账号 "这是主题" "这是内容"
[root@zabbix alertscripts]# python weixin.py 姓名账号 "这是主题" "这是内容11"
[root@zabbix alertscripts]# python weixin.py 姓名账号 "这是主题" "这是内容 linux"
5、此处很关键,由于手动推送的脚本生成的临时文件/tmp/weixin.log是root权限的数据,我们启动的zabbix--server服务器都是zabbix 用户启动的,需要我们将/tmp/weixin.log文件的属组和属主改为zabbix用户,或者删除即可。
[root@zabbix alertscripts]# ll /tmp/weixin.log
-rw-r--r-- 1 root root 914 Feb 28 09:20 /tmp/weixin.log
[root@zabbix alertscripts]# rm -rf /tmp/weixin.log #删除临时log文件 [root@zabbix alertscripts]# chown zabbix.zabbix /tmp/weixin.log -R # 改为zabbix用户
6、手动推送脚本成功后,此时手机上就可以收到,微信故障报警通知

3、在zabbix网页上创建nginx监控
这里在linux系统上配置nginx服务、监听nginx状态以及监听nginx的80端口,不再细讲,详情请看:https://www.cnblogs.com/struggle-1216/p/12347283.html
1、创建主机群组

2、创建主动模式的proxy代理

3、创建监控nginx模板

4、全克隆一个监控主动模式的proxy代理模板,因为默认的监控项里边的监控项原型、网络部分都是被动模式,需要将选项改为主动模式,时间间隔设置为5s,生产中设置为5m,详情见:https://www.cnblogs.com/struggle-1216/p/12354813.html里边的主动模式监控,这里不再演示。
5、创建主机,添加的主动模式代理的proxy代理模板

6、开始关联主机模板

7、在上面创建的Linux_nginx模板没有应用集、监控项、触发器等信息,需要在下面进行添加,第一步先创建应用集。
8、创建监控项,这里只创建了监听nginx的80端口。

9、创建触发器,这里只做了监听nginx的80端口监听,其他的同理一样的操作。

监控的agent主机是默认五分钟内不可用就会触发触发器,表达式含义是:在5分钟之内的agent.ping不等于1就触发报警

10、创建监控nginx图形

11、此时可以看到监控的nginx主机配置正常
12、查看nginx监控图形

4、在zabbix网页上创建实现触发报警,发送报警通知到企业微信上
1、创建报警媒介类型,脚本参数如下:
{ALERT.SENDTO} # 发给谁
{ALERT.SUBJECT} # 主题
{ALERT.MESSAGE} # 信息

2、创建用户

3、修改VIP的用户权限,改为超级管理员,其他创建的用户也一样。

4、对创建的用户(VIP)全部都加上报警媒介。

5、创建动作

6、在动作里添加操作。
默认标题:业务报警{TRIGGER.STATUS}
消息内容:上海业务报警服务器:{HOST.NAME},IP:{HOSTNAME1},详情:{ITEM.NAME}:{ITEM.VALUE}

7、在动作里添加恢复操作,用来提醒自己,业务已经恢复。
默认标题:业务报警{TRIGGER.STATUS}
消息内容:上海业务报警服务器:{HOST.NAME},IP:{HOSTNAME1},详情:{ITEM.NAME}:{ITEM.VALUE}

5、测试效果
1、在被监控端停掉nginx服务和zabbix-agent服务
[root@node1 ~]# nginx -s stop
[root@node1 ~]# systemctl stop zabbix-agent
2、查看此时的报警信息。

3、查看此时的企业微信发送的报警信息

4、恢复此时的nginx服务及zabbix-agent服务,查看企业微信发送的恢复消息

实战二:在zabbix网页创建聚合图形
1、在zabbix网页上创建聚合图形,选择了两行两列

2、在创建的linux_web聚合图形界面添加要监控的主机指标,跨主机、以及跨主机群组的主机,都可以监控

3、以下是个人创建的四个聚合图形监控
4、如果有多个主机,可以创建多个聚合图形,以下是创建的第二个linux_web2的聚合图形。
5、创建幻灯片演示

6、将前面创建的聚合图形添加到幻灯片中

7、最后打开创建的幻灯片演示,此时创建的聚合图形就会每3s进行切换图形在屏幕上显示所要监控的信息。
Zabbbix之十二------Zabbix实现微信报警通知及创建聚合图形的更多相关文章
- Zabbix配置微信报警通知
Zabbix告警可以通过邮件,微信,电话,短信等方式发送告警消息. 电话和短信需要向运营商购买相应的网关,需要付费: 邮件和微信是免费的,可以根据业务需要选择相应的告警模式 Zabbix版本:3.2 ...
- zabbix设置微信报警的配置过程
zabbix设置微信报警的配置过程 转发:https://blog.csdn.net/qq_31613055/article/details/78831607 微信企业号的申请 注册的地址https: ...
- zabbix企业微信报警实现
企业微信配置 # 注册 企业微信注册地址:https://work.weixin.qq.com 笔者注册的企业微信名称为 5iik # 配置 # 在主干5iik(企业名称)下添加子部门(监控组),并将 ...
- zabbix配置微信报警
首先我们先目睹下微信报警的效果 接下来我们正式开始操作. 一:注册企业微信. 打开企业微信注册:http://work.weixin.qq.com 根据以上提示填入相应的内容,然后注册即可. 二:登录 ...
- CentOS 7 zabbix实现微信报警
环境 : LAMP CentOS7 192.168.94.11 首先搭建LAMP环境 , 安装zabbix [root@zabbix-server ~]# wget http://repo.zab ...
- zabbix使用微信报警(四)
https://qy.weixin.qq.com/ 企业号注册 http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5 ...
- zabbix利用微信报警
一.背景介绍 报警的方式有很多种,比如常用的邮件报警,短信,微信等.那这篇文章主要是实现微信报警. 值得注意的是,之前使用微信企业公众号,现在微信企业公众号更新成企业微信了.所以直接注册企业微信,进入 ...
- 配置zabbix通过微信报警企业微信报警
如今势态: 报警的方式可谓是八仙过海各显神通,如电话报警,短信报警,邮件报警,QQ报警,微信报警等等. 电话报警:一般都是使用别的平台的工具,平台给你提供一个接口供你使用,大多数为限量收费款 短信报警 ...
- linux服务器登录微信报警通知
linux服务器ssh登录安全规则中,理论上要做到:防火墙限制,hosts.allow限制,root禁止登录,用户权限分配,ssh端口修改,登录时间限制,堡垒机登录. 这里只讲登录时间限制和登录报警通 ...
随机推荐
- OS课程 ucore_lab2实验报告
练习零:填写已有实验 本实验依赖实验1.请把你做的实验1的代码填入本实验中代码中有"LAB1"的注释相应部分.提示:可采用diff和patch工具进行半自动的合并(merge ...
- tmobst4
(单选题)HTML代码: <table> <tr><td>Value 1</td><td></td></tr> &l ...
- C陷阱与缺陷学习笔记
导读 程序是由符号(token)序列所组成的,将程序分解成符号的过程,成为"词法分析". 符号构成更大的单元--语句和声明,语法细节最终决定了语义. 词法陷阱 符号(token)指 ...
- cookie理解与实践【实现简单登录以及自动登录功能】
cookie理解 Cookie是由W3C组织提出,最早由netscape社区发展的一种机制 http是无状态协议.当某次连接中数据提交完,连接会关闭,再次访问时,浏览器与服务器需要重新建立新的连接: ...
- CLion在项目里编译不同文件
1. 在完整的项目下找到CMakeList.txt(项目配置文件) 2. Build 和 Run的目标在add_executable参数中 3. 将其修改为如下格式:add_executable(pr ...
- ELK:收集Docker容器日志
简介 之前写过一篇博客 ELK:日志收集分析平台,介绍了在Centos7系统上部署配置使用ELK的方法,随着容器化时代的到来,容器化部署成为一种很方便的部署方式,收集容器日志也成为刚需.本篇文档从 容 ...
- C语言寒假大作战04
问题 答案 这个作业属于那个课程 https://edu.cnblogs.c0m/campus/zswxy/CST2019-4 这个作业的要求在哪里 https://edu.cnblogs.com/c ...
- 一次修改数据库物理文件造成Mysql宕机的恢复记录
事件起始 某夜,我正在床上冥想准备入睡,忽然同事向我求救:消息内容如下: Oh My Gold 改了些配置,啥都没了!都没了!没了!了! 我仔细询问,原来是她因为某些原因将某库的物理文件夹改名后,发现 ...
- 对MYSQL注入相关内容及部分Trick的归类小结
前言 最近在给学校的社团成员进行web安全方面的培训,由于在mysql注入这一块知识点挺杂的,入门容易,精通较难,网上相对比较全的资料也比较少,大多都是一个比较散的知识点,所以我打算将我在学习过程中遇 ...
- ## springboot 下策略模式的简单使用
1.灵魂三问 接手前人(已跑路)项目快乐否? 前人项目不写注释懵逼否? 一个方法中一堆if/else,且业务判断条件用简单数字(或英文字母),不带注释,想打人否? 所以,对于上述三个问题,我写 ...