Zabbix i kako meriti vremensko odstupanje od NTP ili Zabbix servera
Imam Zabbix host, i imam nekoliko internih NTP servera.
Treba mi da izmerim koliko host odstupa od tih servera, bilo od pojedinačnog servera, ili od njihovog proseka.
Pod CPU postoji nekoliko vremena, ali su ona u (%) – bazično to je procenat vremena koje je procesor bio zauzet odrešenim stvarima, dakle u smislu vremena na hostu, to je neupotrebljivo.
Šta imam iz “Template Linux” grupe stavki :
system.localtime
Liefert die Uhrzeit (Unixtimestamp) des überwachten Hosts als Numeric (unsigned) zurück.
Ono što može da se uradi je da se oformi novi Item koji bi predstavljao razliku vrednosti promenljive “system.localtime” za host mašinu i za Zabbix server (paziti da se onda tip promenljive stavi kao “floating point” inače se javlja greška).
Primer formule :
last(“moj.host-10.10.10.105:system.localtime”)-last(“Zabbix server:system.localtime”)
system.localtime.fuzzytime, paziti, to je SAMO trigger!!!
The “fuzzytime” function generate an alert if the time of a monitored server has drifted. It compares the time reported by the host to the time on the Zabbix server at the time triggers are processed.
fuzzytime (sec), may be (float, int) :
Returns 1 if timestamp (item value) does not differ from Zabbix server time for more than N seconds, 0 – otherwise.
Usually used with system.localtime to check that local time is in sync with local time of Zabbix server.
Evo kako izgleda formula :
{MojCentOS:system.localtime.fuzzytime(2)}=1
Napomena : formule se OBAVEZNO ubacuju korišćenjem tastera “Add” sa desne strane, tako je MNOGO jednostavnije.
Odličan link vezan za okidače/Triggers.
Realizacija
Metod 1
1. Postaviti novi “Item” pod željenim hostom, sa karakteristikama – to u ovom slučaju NIJE moguće, jer je ova stavka SAMO trigger i ne može se postaviti kao Item.
2. Postaviti nad željenim hostom novi Trigger :
Name – Time diff 10.10.10.36-Zabbix server
Expression – {mail-10.10.10.36:system.localtime.fuzzytime(3)}>0
Ovo znači da će Trigger okinuti ako je vreemenska razlika između mail servera i Zabbix servera veća od 3sec.
3. Onda se uz ovaj Trigger postavi i Action :
Name – Time diff 10.10.10.36-Zabbix server>3sec
Condition – (A) Trigger name like Time diff 10.10.10.36-Zabbix server
Operations – Send message to users: velda (Velda) via Email Immediately Default
Severity – Warning (ovo obavezno namestiti!!!)
Primedba : Trigger expressions are evaluated on the fly and results are not stored anywhere. Dakle ako hoćemo da vidimo vrednost vremenske razlike između našeg mail servera i Zabbix servera potrebno je kreirati Item tipa Calculated, sa formulom : last(“mail-10.10.10.36:system.localtime”)-last(“NTP_Server_102:system.localtime”)
Napomena : ovaj metod može davati priličnu grešku gde ona ne postoji, ako su vremena uzorkovanja dva servera različita!!
Metod 2
1. Napraviti Item
Name – Time-diff-10.10.10.36-to-Zabbix-server
Type – Calculated
Key – system.localtime.fuzzytime
Formula – fuzzytime(system.localtime,65)
Type of information – Numeric (unsigned)
Data type – Decimal
Units – s
Use custom multiplier – no
Update interval (in sec) – 60
…..
Applications – General
2. Napraviti Trigger
Name – Time-diff-10.10.10.36-to-Zabbix-server>3s
Expression – {mail-10.10.10.36:system.localtime.fuzzytime.last()}>3
3. Napraviti Action
Link ka stranici gde su definicije nekih od varijabli.
Zgodan link za fuzzytime.