Zabbix触发器源代码分析
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,Zabbix的trigger就是用来设置监控报警条件的,如果监控项目是基于模板的,那么直接在创建模板的时候设置相应item的trigger即可,如果监控项目不是基于模板的而是单独添加的,那么对于多台服
千家信息网最后更新 2025年11月06日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安全错误
数据库的锁怎样保障安全
服务器 安全 监控系统
商务交易网络安全要素
我的世界服务器端是啥
制造业数字化转型中的网络安全
牛大魔王服务器下载
计算机网络技术专转本率
服务器上装什么安全软件
sas eg数据库
北理网络安全研究生就业
服务器开空间
加拿大网络安全性
天津和平区三品云科技软件开发
仙桃市游戏软件开发
电商 数据库 是用什么地方
数据库连接池配置参数
wps怎么建立客户数据库
国产数据库产品及应用领域
cs够连接到任意官方服务器失败
数据库查询某个值最高的
软件开发企业交什么税
北京软件开发招聘信息专科
自动化系统数据库维护
网络安全专业毕业后能干什么
人民日报 数据库
微信软件开发收费
浪潮服务器高温关机重启
ZinC数据库属于哪个子集
通信段网络安全工作的原则
戴尔服务器机盖怎么开
仙桃市游戏软件开发