Zabbix触发器源代码分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Zabbix的trigger就是用来设置监控报警条件的,如果监控项目是基于模板的,那么直接在创建模板的时候设置相应item的trigger即可,如果监控项目不是基于模板的而是单独添加的,那么对于多台服
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
互联网高科技
互联网科技图片
互联网科技公司排名
为想互联网科技怎么样
科技平台互联网
厦门中拓互联网络科技有限公司
互联网科技小贷
大白互联网科技
人人互联网科技是培训
互联网科技产品
科技互联网的估值
宁夏科技产业互联网案例
语蝶互联网科技有限公司
和信科技工业互联网
互联网科技商业
杭州壁岐互联网科技有限公司
中国互联网十大科技股排名
互联网科技融合创新
工业互联网科技创业
张家口科技产业互联网平台
重庆互联网络科技
碳银互联网科技
齐家互联网科技有限公司
联恩商钥互联网科技有限公司
重庆威客帮互联网科技
互联网科技革命什么开始
翼展科技 首家互联网医院
启辰互联网科技
广州百诚互联网科技有限公司官网
21世纪互联网科技成就