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端口修改,登录时间限制,堡垒机登录. 这里只讲登录时间限制和登录报警通 ...
随机推荐
- CInternetSession的简单使用
1. CInternetSession的简单使用 CInternetSession session; CHttpFile *file = NULL; CString strURL = " h ...
- 【VC++开发实战】迅雷晒密及批量查询流量程序
迅雷第一次登录是不需要验证码的,就很方便了.首先还是要解决登录的问题,也不是那么容易解决的,这个是在POST是提交的表单[u=joneeky%40qq.com&p=cf1e22e61d987c ...
- Spanner的TrueTime与事务
Spanner的TrueTime与事务 Spanner是谷歌的分布式数据库,发表于著名论文Spanner: Google's Globally-Distributed Database,它创造性的采用 ...
- Web框架之Gin介绍及使用
Gin是一个用Go语言编写的web框架.它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍. 如果你是性能和高效的追求者, 你会爱上Gin. ...
- HDU_4496_逆向并查集
http://acm.hdu.edu.cn/showproblem.php?pid=4496 逆向并查集,先读取,然后从后向前join每次保存答案即可. #include<iostream> ...
- 行人重识别和车辆重识别(ReID)中的评测指标——mAP和Rank-k
1.mAP mAP的全称是mean Average Precision,意为平均精度均值(如果按照原来的顺利翻译就是平均均值精度).这个指标是多目标检测和多标签图像分类中长常用的评测指标,因为这类任务 ...
- java中list的sort()功能如何使用?
排序时正序/倒序处理起来可能会混淆,可以用更简单的方法.可以使用java.util自带的比较器来做 Comparator.comparingInt(Integer::intValue).reverse ...
- Java 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删 ...
- 浅谈CC攻击原理与防范
概念 CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的 ...
- javascript检测客户端环境是否是pc端
//isPC(): 检测客户端环境是否是pc端 function isPC(){ let userAgent = navigator.userAgent; let agents = ["An ...