Zabbix触发器源代码分析
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,Zabbix的trigger就是用来设置监控报警条件的,如果监控项目是基于模板的,那么直接在创建模板的时候设置相应item的trigger即可,如果监控项目不是基于模板的而是单独添加的,那么对于多台服
千家信息网最后更新 2025年01月19日Zabbix触发器源代码分析
Zabbix的trigger就是用来设置监控报警条件的,如果监控项目是基于模板的,那么直接在创建模板的时候设置相应item的trigger即可,如果监控项目不是基于模板的而是单独添加的,那么对于多台服务器添加相应的trigger就得使用程序处理了。
创建trigger相关的源代码
frontends/php/include/triggers.inc.php
frontends/php/triggers.php
triggers表用于记录每个trigger的详细信息
mysql> desc triggers;+-------------+---------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------------+---------------------+------+-----+---------+-------+| triggerid | bigint(20) unsigned | NO | PRI | NULL | || expression | varchar(2048) | NO | | | || description | varchar(255) | NO | | | || url | varchar(255) | NO | | | || status | int(11) | NO | MUL | 0 | || value | int(11) | NO | MUL | 0 | || priority | int(11) | NO | | 0 | || lastchange | int(11) | NO | | 0 | || comments | text | NO | | NULL | || error | varchar(128) | NO | | | || templateid | bigint(20) unsigned | YES | MUL | NULL | || type | int(11) | NO | | 0 | || state | int(11) | NO | | 0 | || flags | int(11) | NO | | 0 | |+-------------+---------------------+------+-----+---------+-------+14 rows in set (0.12 sec)
functions表记录每个trigger相关的函数
mysql> desc functions;+------------+---------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+---------------------+------+-----+---------+-------+| functionid | bigint(20) unsigned | NO | PRI | NULL | || itemid | bigint(20) unsigned | NO | MUL | NULL | || triggerid | bigint(20) unsigned | NO | MUL | NULL | || function | varchar(12) | NO | | | || parameter | varchar(255) | NO | | 0 | |+------------+---------------------+------+-----+---------+-------+5 rows in set (0.00 sec)
trigger_depends表记录不同trigger的依赖关系
mysql> desc trigger_depends;+----------------+---------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------------+---------------------+------+-----+---------+-------+| triggerdepid | bigint(20) unsigned | NO | PRI | NULL | || triggerid_down | bigint(20) unsigned | NO | MUL | NULL | || triggerid_up | bigint(20) unsigned | NO | MUL | NULL | |+----------------+---------------------+------+-----+---------+-------+3 rows in set (0.01 sec)
triggers表通过triggerid与functions表关联,functions表通过itemid与items表关联,而items表可以通过hostid与hosts表关联
根据triggerid查找trigger信息
SELECT t.* FROM triggers t WHERE t.triggerid=13073;
根据triggerid查找hosts
select distinct h.* from hosts h,functions f,items i where i.itemid=f.itemid and h.hostid=i.hostid and triggerid=13073\G
根据hostid查找所有的triggers
select distinct t.* from triggers t,functions f,items i where f.itemid=i.itemid and f.triggerid=t.triggerid and i.hostid=10309;
根据trigger描述和host名称获取所有的triggers
select t.* from triggers t,functions f,items i ,hosts h where i.hostid=h.hostid and f.itemid=i.itemid and t.triggerid=f.triggerid and h.host='tw-xxxxxx' and t.description='Processor load is too high on {HOST.NAME}' order by t.triggerid desc;
模板
关联
监控
信息
项目
源代码
不同
函数
可以通过
名称
多台
就是
时候
服务器
条件
监控报警
程序
而是
处理
报警
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何破解微信数据库
hmi通过vbs编程连接数据库
人脸识别系统服务器开发
小学生网络安全教育的总结
宁波市珍珠菜网络技术有限公司
肃宁软件开发技术
数据库创建函数语句
网络安全法的六大基本内容
为配合网络安全审查要多久
山东拓普网络技术有限公司
网络安全实用教程沈苏彬
大庆代驾软件开发公司
网络安全半包
工控网络安全知识重要性
云桌面服务器组成架构
软件开发的未来收益
公交方面的数据库
戴尔服务器怎么查硬件日志
中国网络安全有限公司
仿真有数据库吗
数据库原理与技术 王世民
软件开发的所得税减免
服务器t4是什么
数据机房中eu服务器
中公教育网络安全培训班
个人云与服务器的区别
关系数据库sql考题
一张图看懂网络安全科普知识
更改数据库主键命名规定
plsql怎么给数据库配置别名