实现zabbix的报警功能

root
233
文章
0
评论
2020年1月24日13:46:08 评论 2581字阅读8分36秒

实现zabbix的报警功能--触发器---报警动作

报警的方式:

  • 页面提示信息报警
  • 页面声音提示报警
  • 邮件信息报警
  • 微信报警
  • 电话报警

触发器是通过表达式来实现报警

页面信息提示报警,和声音报警示例:

这里我就自定义一个检查nginx进 程的key进行设置。详细步骤在zabbix自定义监控,这里我就直接写

[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 
UserParameter=ps_status[*],ps -ef|grep -c $1
[root@web01 ~]# systemctl restart zabbix-agent.service 
去zabbix服务端检查
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -p10050 -k ps_status[nginx]
4

报警提示音设置:

邮件信息报警示例:

添加键值和监控项触发器,图形都是一样的,这里就直接写报警的实现方法

先将配置,动作,默认的动作开启

二:其次管理---报警媒介--进行创建报警媒介

这里就用qq邮箱来收邮件。要先开通好

剩下就是把该配置的地方配置好

可以添加多个报警人

看看成效

------------------------------------------------------------------------------------

特别强调关于报警功能相关动作:

如果不使用默认动作,如何创建动作?

配置动作前要先配置好操作

消息内容如何换成中文显示:这里面要加入宏,去zabbix官网找相关信息,(一般不改)

比如:都换成

报警主机: {HOST.NAME1}

报警服务: {ITEM.NAME1}

报警键值: {ITEM.KEY1}:{KEY1.VALUE1}

报警级别: {TRIGGER.SEVERITY}

新的触发条件这里不要选,新的触发条件这里不要选,新的触发条件这里不要选

 

-------------------------------------------------------------------------------------

微信报警示例:

定义发微信的配置:

要求一:需要企业微信

要求二:获取企业ID

要求三:自建小程序

  • AgentID:xxx
  • secret:xxxx

要求四:别写python脚本(微信报警脚本)

  • 脚本放置位置
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf 
AlertScriptsPath=/usr/lib/zabbix/alertscripts

weixin.py(文章下方可以下载)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# date: 2020-01-24
# comment: zabbix接入微信报警脚本

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('/data/zabbix','weixin.log'),
                    filemode = 'a')
corpid = 'xx'  # 企业ID
appsecret = 'xx'  # secret
agentid = 1000002  # AgentID
# 获取accesstoken
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]
# toparty='3|4|5|6'
message = sys.argv[2] + "\n\n" +sys.argv[3]

params = {
    "touser": touser,
    #       "toparty": toparty,
    "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)

给脚本添加x权限

[root@Kk weixin]# ll
total 4
-rw-r--r-- 1 root root 1328 Jan 24 12:51 weixin.py
[root@Kk weixin]# chmod +x weixin.py 
[root@Kk weixin]# ll
total 4
-rwxr-xr-x 1 root root 1328 Jan 24 12:51 weixin.py
  • 执行脚本报错问题:
    • 01.问题:No module named  requests
    • 安装python程序不能用yum要用pip
[root@Kk weixin]# yum -y install python-pip
[root@Kk weixin]# pip -y install requests

传参的三个宏:

  • {ALERT.SENDTO}----代表信息给谁
  • {ALERT.SUBJECT}----表示标题
  • {ALERT.MESSAGE}----信息

定义收微信的配置:

给脚本里写的日志文件的目录修改属主zabbix用户,不然收不到微信

电话报警,需要收费的第三方软件,以后遇到在研究

 

报警信息处理思路:

  • 看到报警信息定位主机信息 
  • 找到主机信息定位报警原因
  • 查看对应键值解决相应问题 
下载信息 weixin.py
下载地址
继续阅读
历史上的今天
1月
24
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2020年1月24日13:46:08
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
zabbix自定义监控 zabbix

zabbix自定义监控

zabbix自定义监控 只要能用命令取出来的东西都可以进行监控 当zabbix服务端需要同时监控多个设备时,监控项过多会导致,监控服务器负载高,所以我们要进行自定义监控,把有些不常用的监控项取消掉 创...
配置zabbix数据库环境相关问题 zabbix

配置zabbix数据库环境相关问题

配置zabbix数据库环境相关问题 修改php.ini文件不生效出现报错 明明已经修改了,/etc/php.ini文件,还是不能生效,计算机骗我了???我去排了一下错 解决方法: 首先根目录新建xx....
LNMP安装部署zabbix服务端 zabbix

LNMP安装部署zabbix服务端

LNMP安装部署zabbix zabbix的安装坑太多,各种报错,昨天升级了php73,安装zabbix各种缺少php的依赖,明明rpm包都有,就是提示缺这缺那,导致我把php整个卸载了,重新下载了一...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: