实战一:实现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实现微信报警通知及创建聚合图形的更多相关文章

  1. Zabbix配置微信报警通知

    Zabbix告警可以通过邮件,微信,电话,短信等方式发送告警消息. 电话和短信需要向运营商购买相应的网关,需要付费: 邮件和微信是免费的,可以根据业务需要选择相应的告警模式 Zabbix版本:3.2 ...

  2. zabbix设置微信报警的配置过程

    zabbix设置微信报警的配置过程 转发:https://blog.csdn.net/qq_31613055/article/details/78831607 微信企业号的申请 注册的地址https: ...

  3. zabbix企业微信报警实现

    企业微信配置 # 注册 企业微信注册地址:https://work.weixin.qq.com 笔者注册的企业微信名称为 5iik # 配置 # 在主干5iik(企业名称)下添加子部门(监控组),并将 ...

  4. zabbix配置微信报警

    首先我们先目睹下微信报警的效果 接下来我们正式开始操作. 一:注册企业微信. 打开企业微信注册:http://work.weixin.qq.com 根据以上提示填入相应的内容,然后注册即可. 二:登录 ...

  5. CentOS 7 zabbix实现微信报警

    环境 : LAMP  CentOS7  192.168.94.11 首先搭建LAMP环境 , 安装zabbix [root@zabbix-server ~]# wget http://repo.zab ...

  6. zabbix使用微信报警(四)

    https://qy.weixin.qq.com/  企业号注册 http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5  ...

  7. zabbix利用微信报警

    一.背景介绍 报警的方式有很多种,比如常用的邮件报警,短信,微信等.那这篇文章主要是实现微信报警. 值得注意的是,之前使用微信企业公众号,现在微信企业公众号更新成企业微信了.所以直接注册企业微信,进入 ...

  8. 配置zabbix通过微信报警企业微信报警

    如今势态: 报警的方式可谓是八仙过海各显神通,如电话报警,短信报警,邮件报警,QQ报警,微信报警等等. 电话报警:一般都是使用别的平台的工具,平台给你提供一个接口供你使用,大多数为限量收费款 短信报警 ...

  9. linux服务器登录微信报警通知

    linux服务器ssh登录安全规则中,理论上要做到:防火墙限制,hosts.allow限制,root禁止登录,用户权限分配,ssh端口修改,登录时间限制,堡垒机登录. 这里只讲登录时间限制和登录报警通 ...

随机推荐

  1. Perl Tk在IC设计中的应用、Windows、Linux平台下的安装-各种错误的摸索解决

    本文转自:自己的微信公众号<集成电路设计及EDA教程> <Perl Tk在IC设计中的应用.Windows.Linux平台下的安装-各种错误的摸索解决> Perl在IC设计中有 ...

  2. linux入门系列10--firewalld防火墙管理

    上一篇文章学习了用户及文件相关权限,本篇继续学习防火墙技术. 防火墙作为公网与内网之间的保护屏障,对系统至关重要.防火墙又分为硬件防火墙和软件防火墙,主要功能都是依据设置的策略对穿越防火墙的流量进行过 ...

  3. hadoop 日常使用记录

    1.Hadoop分布式文件系统(HDFS) HDFS基于GFS(Google File System),能够存储海量的数据,并且使用分布式网络客户端透明访问. HDFS中将文件拆分成特定大小的块结构( ...

  4. python学习(8)实例:写一个简单商城购物车的代码

    要求: 1.写一段商城程购物车序的代码2.用列表把商城的商品清单存储下来,存到列表 shopping_mail3.购物车的列表为shopping_cart4.用户首先输入工资金额,判断输入为数字5.用 ...

  5. Qt 条件编译 arm windows linux 判断 跨平台

    如果代码里面有些判断需要不同的参数做判断: 办法:在pro文件里面做定义 方法1:直接定义一个宏:用的时候可以直接判断,这样做不好的地方是编译前需要重新切换一下宏 1)定义宏 DEFINES += _ ...

  6. ubuntu下怎么配置/查看串口-minicom工具

    一.安装minicom工具: 可直接使用命令sudo apt-get install minicom来完成安装 上面的截图因为检测到我已经安装过了. 二.通过minicom工具配置串口: 1.启动mi ...

  7. centos7利用系统镜像修复grub

    1 故障描述 由于错误操作,导致grub配置文件失效,系统开机后一直卡在下面的画面. 2 解决办法 这时候,就要利用系统镜像光盘,进入修复模式,然后按下面图示操作 进入镜像的shell环境,如下图所示 ...

  8. android wifi断开原因分析

    最近在解bug的过程中经常遇到密码正确但处于saved的状态,总结原因有已下几种: 1 在ASSOCIATING阶段由于丢包导致ASSOC REJECT 03-16 09:22:12.440 D/Wi ...

  9. light oj 1067 费马小定理求逆元

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1067 1067 - Combinations Given n differen ...

  10. 动态规划------背包问题(c语言)

    /*背包问题: 背包所能容纳重量为10:共五件商品,商品重量用数组m存储m[5]={2,2,6,5,4}, 每件商品的价值用数组n存储,n[5]={6,3,5,4,6};求背包所能装物品的最大价值. ...