Zabbix触发器源代码分析
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,Zabbix的trigger就是用来设置监控报警条件的,如果监控项目是基于模板的,那么直接在创建模板的时候设置相应item的trigger即可,如果监控项目不是基于模板的而是单独添加的,那么对于多台服
千家信息网最后更新 2024年11月29日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安全错误
数据库的锁怎样保障安全
网络安全 辩论
网络安全检查泄密事件
全国网络安全员竞赛报名
无法连接服务器 剑三
包头学网络技术在哪里
服务器域名映射
烟台软件开发公司有哪些
如何上传代码到服务器
什么服务器能玩所有游戏
政府拨款高校软件开发
midas数据库 ims
分布式实时数据库适合于集团吗
可以打印海关数据库
智慧屏 服务器
100万流量需要租用多大服务器
双路服务器主板内存插槽16个
桌面型数据库系统
普陀区合格软件开发包括哪些
RSAC网络安全大会
服务器管理工具有哪些
怎么关闭数据库的共享
河南曦月互联网科技
杭途科技网络安全监测装置
时序数据库要安装在服务器上吗
提个网络安全政策
稳健安全的即时通讯软件开发
绵阳鹿米互联网科技有限公司
天地伟业 中心管理服务器
jpa 数据库语句
交通银行软件开发中心应届生