Zabbix配置企业微信群(机器人)警告

Zabbix配置企业微信群(机器人)警告,第1张

说明:
Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。
实现目的:
在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。
具体 *** 作:
以下 *** 作在Zabbix监控服务端进行
备注:Zabbix监控服务端
*** 作系统:CentOS
主机名:zabbixosyunweicom
邮件报警有两种情况:
1、Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhostlocaldomain),只能发送,不能接收外部邮件。
2、使用一个可以在互联网上正常收发邮件的邮箱账号(例如:xxx@163com),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。
第一种:使用Zabbix服务端本地邮箱账号发送邮件
一、安装sendmail或者postfix
yum install sendmail #安装
service sendmail start #启动
chkconfig sendmail on #设置开机启动
yum install postfix
service postfix start
chkconfig postfix on
CentOS 5x 默认已经安装好sendmail
CentOS 6x 默认已经安装好postfix
sendmail和postfix只需要安装一个即可并开启服务即可。
二、安装邮件发送工具mailx
yum install mailx #安装
CentOS 5x
编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。
yum remove mailx #卸载系统自带的旧版mailx
下载mailx:
>历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据。
趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值,即存储监控数据的汇总数据。
Zabbix可以通过两种方式获取历史数据:
1通过Zabbix前台获取历史数据
通过Zabbix前台查看历史数据非常简单,可以通过Monitoring->Lastest data的方式查看。也可以点击右上角的As plain test按钮保存成文本文件。
2通过前台获取的数据进行处理和二次查询有很多限制,因此可以通过SQL语句直接从后台DB查询数据。
首先大家应该熟悉SQL语句Select 常用用法:
SELECT [ALL | DISTINCT] Select_List [INTO [New_Table_name]
FROM { Table_name | View_name} [ [,{table2_name | view2_name}
[,…] ]
[ WHERE Serch_conditions ]
[ GROUP BY Group_by_list ]
[ HAVING Serch_conditions ]
[ ORDER BY Order_list [ASC| DEsC] ]
说明:
1)SELECT子句指定要查询的特定表中的列,它可以是,表达式,列表等。
2)INTO子句指定要生成新的表。
3)FROM子句指定要查询的表或者视图。
4)WHERE子句用来限定查询的范围和条件。
5)GROUP BY子句指定分组查询子句。
6)HAVING子句用于指定分组子句的条件。
7)ORDER BY可以根据一个或者多个列来排序查询结果,在该子句中,既可以使用列名,也可以使用相对列号,ASC表示升序,DESC表示降序。
8)mysql聚合函数:sum(),count(),avg(),max(),avg()等都是聚合函数,当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算。运算完后就要用到Having子句进行判断了,例如聚合函数的值是否大于某一个值等等。

步骤:

[if !supportLists]1、 [endif]在zabbix告警目录新建wxrobotpy脚本

vi /usr/local/zabbix/share/zabbix/alertscripts/wxrobotpy

粘贴以下内容:

#!/usr/bin/python

#-- coding: utf-8 --

import requests

import json

import sys

import os

headers = {'Content-Type': 'application/json;charset=utf-8'}

api_url = "复制群聊机器人Webhook地址到这"
def msg(text):

    json_text= {

     "msgtype": "text",

        "text": {

            "content": text

        },

    }

    print requestspost(api_url,jsondumps(json_text),headers=headers)content
if __name__ == '__main__':

    text = sysargv[1]

msg(text)
保存退出
需要安装python插件库:pip install requests

授权和更改权限:

chmod +x py

chown zabbix:zabbix py
2.Zabbix页面配置,新增告警媒介
配置动作

配置—动作—创建动作 , 事件源  选择  触发器

1、点击右上角,“ 创建动作  ”填写对应的信息;在 动作 页面填写以下信息,这里例子为以主机内存使用率超过90%为例,

 计算方式:

Aand B,需要同时符合条件里面添加的条件;

条件A:主机群组等于 Linux Servers;

条件B:触发器等于linux模板的物理内存使用率持续3分钟等于90%。

2、切换到 *** 作

  *** 作: 也就是在符合动作里面配置好的条件时,做出对应的动作,具体的 *** 作说明,请参考官网指导文档,填写好信息,然后点击 *** 作细节 里面的 添加
[if !supportLists]1、 [endif]恢复 *** 作配置
到这就触发器告警企业微信群机器人发送配置完成了,动作日志可以在 

报表 –动作日志  页面查看
附上格式配置,参数说明和其他的格式,请参考  使用宏

*** 作发送消息内容恢复 *** 作发送消息内容

问题:{EVENTNAME}

告警信息:{TRIGGERNAME}

告警地址:{HOSTNAME}

监控项目:{ITEMNAME}

监控取值:{EVENTVALUE}

告警严重性:{EVENTSEVERITY}

当前状态:{EVENTSTATUS}

告警时间:{EVENTDATE} {EVENTTIME}

事件ID:{EVENTID}

告警信息:{TRIGGER NAME}

告警地址:{HOSTNAME}

监控项目:{ITEMNAME}

监控取值:{EVENTRECOVERYVALUE}

告警严重性:{EVENTSEVERITY}

当前状态:{EVENTRECOVERYSTATUS}

告警时间:{EVENTDATE} {EVENTTIME}

恢复时间:{EVENTRECOVERYTIME}

持续时间:{EVENTAGE}

事件ID:{EVENTRECOVERYID}
技术交流欢迎加入Q群:177428068


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13364770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存