用 Zabbix 监控值统计每个月触发器告警次数
场景模拟:
知名企业A公司的运维人员小智,想统计一下每个月发生的告警数量,于是他去查询数据库表alerts告警通知表,但是他发现界面上出现的一些问题(触发器生效),没有记录到alerts表中。因为只有触发器生效并且执行了告警通知的动作后,才会把这个触发器记录到alerts表中,然而,对于他来说,他想要的效果是统计一个月中,产生的触发器告警数(即问题数),下面由我们来为小智出谋划策吧!
实验过程:(pymysql查询数据库)
第一步:安装pymysql库
注意:因为我的zabbix用的数据库是mysql,所以用这个pymysql数据库连接库
第二步:编写脚本
脚本如下:
import pymysqldef main():"""host:数据库IPport:数据库端口user:数据库用户名password:数据库密码db:数据库名"""host = 'localhost'port = 3306user = 'zabbix'password = 'zabbix'db = 'zabbix'mysql = pymysql.connect(host=host,port=port,user=user,passwd=password,db=db)sql = "select name,count(name) '发送次数',from_unixtime(clock) '发生时间' from events where clock in (select clock from events where TIMESTAMPDIFF(day,from_unixtime(clock,'%Y-%m-%d'),current_date)<30) and value=1 and source=0 group by name order by count(name) desc;"cursor = mysql.cursor()cursor.execute(sql)for col in cursor.fetchall():print(col[0].strip()+" | "+str(col[1])+" | "+col[2].strftime('%Y-%m-%d'))cursor.close()mysql.close()if name == "main":main()
解析一下:
sql并没有做优化,读者可自行优化改查询语句
Sql语句中,events表中的source=1代表是触发器的时间,value=1代表触发器的状态是problem即(问题)
脚本中sql语句在数据库查询的结果如下图
第三步:把脚本添加到agent自定义键值中
记得要重启zabbix_agent,不然配置无效
第四步:验证测试结果
第一列:触发器名
第二列:每个月这个触发器出现的次数
第三列:是触发器第一次出现的时间
扩展
如何针对 Zabbix 模板里某个主机的触发器进行修改
背景:
一个模板被多台主机使用,其中某一台主机的告警阈值需要被修改,后续其他机器的该项告警阈值需要保持不变。如果只是监控项上触发器,我们可以选择在主机上直接停用不符合阈值的告警,再新建一条阈值符合预期的触发器告警这种做法,但是如果触发器是来自自动发现规则的触发器类型的话,我们再用这种新增的做法,那涉及修改的内容就会多很多,特别是自动发现规则里面的监控项原型数量很多的时候,你要新建就会很麻烦。
现在决定对触发器类型里面的阈值设置成宏值,以为后续可以进行灵活地修改做基础。
1、监控原型、触发器类型、最新数据,如图1、2、3.
2、现在查看主机的触发器以及现在的最新告警,如图4、5.
主机生成的相应触发器:
现在最新的告警内容
3、现在进入到相应的触发器,尝试进行修改。如图6.
因为该触发器内容源于模板里面的触发器类型,在主机里面是没法进行修改的,只能去到上一级的模板里面才能修改,但若在模板进行了修改,后续使用该模板的机器也会跟随模板而改。违背了开始的需求。
4、在模板尝试新建一条触发器类型,设置宏值以取代具体的阈值。如图7。
对比上下两条触发器可知,针对的内容是一样的,不同的是把原本具体设定的阈值改为了宏值。
另外在对应模板的“宏”处把新增的宏值添加上。如图8
5、回到主机,进行测试验证。图9、10
可以在下图看到尽管该值来源于模板,但仍能在主机对其进行修改,无需改动模板触发器类型内容。
6、进入到主机的触发器去查看,如图11.
可以看到多了四个带有刚才所设置的宏值的触发器。
7、查看最新告警内容。图12.
参考链接 :
用 Zabbix 监控值统计每个月触发器告警次数 :https://mp.weixin.qq.com/s/8q3eNCdSUwUgSsKpcAY2WA
技巧 | 如何针对 Zabbix 模板里某个主机的触发器进行修改 :https://mp.weixin.qq.com/s/sjwV6qfo1O1zdgzNzbdbtg
用 Zabbix 监控值统计每个月触发器告警次数相关推荐
- 如何处理Zabbix监控值中文字符乱码情况?3点思路分享
感谢本文作者胡璞玉投稿!欢迎更多用户分享踩过的坑的使用经验! 图片 胡璞玉 | Zabbix手册官方译者 Zabbix 5.0.6.0指导手册官方译者 系统架构师,长期从事IT工作,目前关注医疗信息化 ...
- @zabbix监控网络设备温度Temp及告警配置 (sensor)
文章目录 1.服务器数据源获取 2.Temp常用的oid(cisco) 3.zabbix web配置 1.服务器数据源获取 使用walk工具确认监控的数据 snmpwalk -v 2c -c 团体名 ...
- zabbix mysql监控告警_Zabbix监控mysql配置及故障告警配置
同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配置自带模板监控mysql 1.提供配置文件模板 文件位置在源码包/usr/local/src/zabbix-3.0.4/conf/za ...
- 怎么看服务器cpu温度命令_简单几步使用zabbix监控Linux物理服务器CPU温度
前段时间有个属于笔者维护的小机房空调故障,温度过高导致系统卡慢,多日无人发现.于是想着使用zabbix监控CPU温度并设置告警阀值,同时也能监控到风扇异常.挡风板太脏空气不畅.进程死锁导致CPU使用率 ...
- Data_web失败任务通过zabbix监控报警(七)
前言: datax_web的数据库job_info表中last_handle_code字段200代表为上次执行成功,500表示上次执行未成功. 1. 通过写一个python脚本去取值即可 #!/usr ...
- zabbix监控告警表报统计
发送邮件的脚本 #!/usr/bin/python #coding:utf-8 import smtplib, time, os from email.mime.text import MIMETex ...
- Zabbix 监控功能实现(监控数据库,使用percona 优化数据库的监控,监控java应用,Agent端 主动传输数据,Zabbix proxy 的使用,Zabbix 监控 + 智能降噪告警)
1.监控数据库: 基本和监控nginx时一样: 不同的是:在给了mysql密码以后,需要在指定位置编写.my.cnf文件,告诉系统数据库root用户的密码: 重启 systemctl restart ...
- zabbix监控配置及邮箱告警
zabbix监控配置及邮箱告警 zabbix监控指标 zabbix监控配置流程 zabbix监控配置流程详解 客户端配置 服务端配置 1.添加主机 2.添加监控项 使用模板添加 自定义模板 添加监控项 ...
- oracle insert 触发器无效_分享一个超实用的Zabbix监控Oracle用户无效对象手册
一.Oracle客户端配置 1.创建脚本invalid_object_check.sh SQL语句查询无效对象,首先创建一个获取无效对象信息的原始脚本/etc/zabbix/scripts/inval ...
最新文章
- 基于qml创建最简单的图像处理程序(1)-基于qml创建界面
- PostgreSQL — Overview
- eclipse mysql5.7_MySQL5.7、Navicate、jdk、Tomcat、eclipse全套配置及安装(win10)-Go语言中文社区...
- vs2005添加live555工程
- thinkphp5.0l路由冲突原因及解决方法
- Java描述设计模式(14):解释器模式
- Java数组实现五子棋功能
- 学习云计算有哪些优势?云计算教程学习路线图
- git 查看、创建、删除 本地,远程 分支
- Kotlin Android Studio 环境搭建
- 从工程师到架构师,Android程序员的进阶之路
- project euler 开坑
- 使用Battery Historian采集android耗电数据
- 第1章 Android编程入门
- 服务器显示504,帮您解决win7系统访问nginx服务器提示504 Gateway Time-out错误的修复技巧...
- Mac Navicat12.0.22 安装手册和操作说明
- 麒麟子Cocos Creator实用技巧
- day09---(02)课程大纲-小节添加修改删除(前端)
- 支持查看朋友圈的微信Mac版客户端
- 收录CTF MISC方向中使用的在线工具网站
热门文章
- 2016-2018年机器学习大赛TOP开源作品汇总
- 数据分析:星巴克店铺分布有何规律?
- 八皇后时间复杂度_九章算法 | N皇后问题
- java 合并csv_用java将三个csv表格文件,整合数据组合成一个文件。
- laravel 判断字符串包含_laravel 字符串函数
- 删除“ie8左侧收藏夹图标(黄星星)”及“恢复”的方法
- 进阶~Qt程序启动画面
- juniper srx电话单通
- 《产品设计与开发(原书第5版)》——3.2 机会识别的评比结构
- Windows的拖放操作使用方法