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端口修改,登录时间限制,堡垒机登录. 这里只讲登录时间限制和登录报警通 ...
随机推荐
- 【WPF学习】第三十八章 行为
样式提供了重用一组属性设置的实用方法.它们为帮助构建一致的.组织良好的界面迈出了重要的第一步——但是它们也是有许多限制. 问题是在典型的应用程序中,属性设置仅是用户界面基础结构的一小部分.甚至最基本的 ...
- C++ ABI之名字改编(以Qt为例)
在C++中,由于重载等技术的存在,编译器要将函数.结构体.类等等的信息传递给链接器,就不能像C语言那样简单地通过函数名来完成,它需要提供额外的参数信息,而还要和C语言共用链接器,这就需要用到名字改编( ...
- Codeforces_327_C
http://codeforces.com/problemset/problem/327/C 等比求和相加,有mod的出现,所以要算逆元. #include<iostream> #incl ...
- 记一个实时Linux的中断线程化问题
背景 有一个项目对实时性要求比较高,于是在linux内核上打了RT_PREEMPT补丁. 最终碰到的一个问题是,芯片本身性能不强,CPU资源不足,急需优化. 初步分析 看了下cpu占用率,除了主应用之 ...
- java12类的无参方法
package com.jh.test01; public class AutoLion { // 属性: 颜色 黄色 String color = "黄色"; // 函数:跑,叫 ...
- java代码之美(16) ---Java8 Optional
Java8 Optional 一句话介绍Optional类:使用JDK8的Optional类来防止NullPointerException(空指针异常)问题. 一.前言 在我们开放过程中,碰到的异常中 ...
- Kubernetes 部署 Nginx Ingress Controller 之 nginxinc/kubernetes-ingress
更新:这里用的是 nginxinc/kubernetes-ingress ,还有个 kubernetes/ingress-nginx ,它们的区别见 Differences Between nginx ...
- Linux 查看CPU、内存、机器型号等硬件信息
# 查看CPU信息 #查看CPU信息(型号) [root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 32 ...
- Eclipse 无法引用到Maven 解决方法
问题描述:打开Eclipse进入java EE视图下,发现原有的Maven Dependencies目录不存在,显示的是org.maven.ide.eclipse.MAVEN2_CLASSPATH_C ...
- H5页面优化
1. 页面优化 优化内容: 提升网页响应速度:减少请求,文件大小,页面性能 对搜索引擎,屏幕阅读器友好: 提高可读性,可维护性:规范代码 优化操作: 减少请求:小图标使用sprite拼图合并为一个图片 ...