Thursday, December 13, 2012

Zabbix: Timer process too busy (high CPU load)

The timer process recalculates every 30 seconds the following trigger functions:

nodata(), date(), dayofmonth(), dayofweek(), time(), now()

If you use Zabbix internal checks to monitor self-load and noticed that Timer process is 100% busy, it's good to know, how much triggers it processes.

pg cli # SELECT function, count(*) FROM functions GROUP BY function;
 function  | count  
-----------+--------
 count     |   8621
 prev      |    936
 max       |    560
 abschange |      1
 iregexp   |     97
 str       |  17961
 change    | 121942
 last      | 159969
 diff      |     33
 nodata    |  36800
 avg       |  17937
 min       |   2273
(12 rows)


pg cli # SELECT function, parameter, count(*) FROM functions where function IN ('nodata', 'date', 'dayofmonth', 'dayofweek', 'time', 'now') GROUP BY function, parameter;
 function | parameter | count 
----------+-----------+-------
 nodata   | 1200      |    32
 nodata   | 300       | 27457
 nodata   | 600       |   836
 nodata   | 7200      |   132
 nodata   | 60        |  8247
 nodata   | 3600      |    96
(6 rows)