Skip to content

Zabbix server does not collect data for some items

Заббикс мог не мониторить какие-либо значения, если не получал их и для значения не было триггера с условием nodata.

Так как на все значения вешать nodata не вариант - делаем проверку на триггеры которые отвалились с ошибкой.
Это делается при помощи запроса select hostid,description,error from items where error is NOT NULL and error !=''; в базе с заббиксом.
Когда триггер отваливается - поле error принимает значение в котором либо просто пишется ZBX_NOTSUPPORTED, либо уточняется почему триггер стал не рабочим.

Чтобы узнать на каком сервере отвалился айтем - делаем запрос,

select hostid,description,error from items where error is NOT NULL and error !='';
+--------+-------------+-------------------------------+
| hostid | description | error                         |
+--------+-------------+-------------------------------+
|  10150 | Stratum num | Not supported by Zabbix Agent |
+--------+-------------+-------------------------------+
1 row in set (0.00 sec)

берём поле hostid - это id сервера на котором отвалился айтем и подставляем его в браузере так - https://zabbix.example.net/items.php?hostid=10150
Заходим и смотрим где, почему и зачем отвалился мониторинг.

А еще можно вот так узнать у каких хостов что-то отвалилось:

select hosts.host,items.description,items.error from items left join hosts on items.hostid = hosts.hostid where items.error is NOT NULL and items.error !='';

Сама проверка делается выглядит так:

UserParameter=zabbix.item_errors, mysql -hdbserver.example.net -uzabbix zabbix -B -s -pm3G4sup3rp4ssw0rD -e "select hostid,description,error from items where error is NOT NULL and error !=''"|wc -l

И создаем триггер, который будет опрашивать параметр "zabbix.item_errors" и, если он больше нуля, будет кричать.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

π