溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Zabbix觸發(fā)器源代碼分析

發(fā)布時(shí)間:2020-02-27 05:02:13 來(lái)源:網(wǎng)絡(luò) 閱讀:5293 作者:自由linux 欄目:數(shù)據(jù)庫(kù)


Zabbix的trigger就是用來(lái)設(shè)置監(jiān)控報(bào)警條件的,如果監(jiān)控項(xiàng)目是基于模板的,那么直接在創(chuàng)建模板的時(shí)候設(shè)置相應(yīng)item的trigger即可,如果監(jiān)控項(xiàng)目不是基于模板的而是單獨(dú)添加的,那么對(duì)于多臺(tái)服務(wù)器添加相應(yīng)的trigger就得使用程序處理了。

創(chuàng)建trigger相關(guān)的源代碼

frontends/php/include/triggers.inc.php

frontends/php/triggers.php


triggers表用于記錄每個(gè)trigger的詳細(xì)信息

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表記錄每個(gè)trigger相關(guān)的函數(shù)

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的依賴關(guān)系

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表通過(guò)triggerid與functions表關(guān)聯(lián),functions表通過(guò)itemid與items表關(guān)聯(lián),而items表可以通過(guò)hostid與hosts表關(guān)聯(lián)




根據(jù)triggerid查找trigger信息

SELECT t.* FROM triggers t WHERE t.triggerid=13073;


根據(jù)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


根據(jù)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;



根據(jù)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;














向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI