12 Zdalne monitorowanie statystyk Zabbix
Przegląd
Możliwe jest udostępnienie zdalnie niektórych wewnętrznych metryk serwera i proxy Zabbix innej instancji Zabbix lub narzędziu zewnętrznemu. Może to być przydatne, aby osoby zapewniające wsparcie/dostawcy usług mogli zdalnie monitorować serwery/proxy Zabbix swoich klientów lub w organizacjach, w których Zabbix nie jest głównym narzędziem monitorującym, aby wewnętrzne metryki Zabbix mogły być monitorowane przez system zewnętrzny w ramach nadrzędnej konfiguracji monitoringu.
Wewnętrzne statystyki Zabbix są udostępniane dla konfigurowalnego zestawu adresów wymienionych w nowym parametrze 'StatsAllowedIP' server/proxy. Żądania będą akceptowane wyłącznie z tych adresów.
Pozycje
Aby skonfigurować odpytywanie wewnętrznych statystyk na innej instancji Zabbix, można użyć dwóch pozycji:
- wewnętrzna pozycja
zabbix[stats,<ip>,<port>]— do bezpośrednich zdalnych zapytań do serwera/proxy Zabbix.<ip>i<port>są używane do identyfikacji instancji docelowej. - pozycja agenta
zabbix.stats[<ip>,<port>]— do zdalnych zapytań do serwera/proxy Zabbix opartych na agencie.<ip>i<port>są używane do identyfikacji instancji docelowej.
Zobacz także: Pozycje wewnętrzne, Pozycje agenta Zabbix
Poniższy diagram ilustruje użycie jednej z tych pozycji w zależności od kontekstu.

— Serwer
→ zewnętrzna instancja Zabbix (zabbix[stats,<ip>,<port>])
— Serwer →
proxy → zewnętrzna instancja Zabbix (zabbix[stats,<ip>,<port>])
— Serwer →
agent → zewnętrzna instancja Zabbix (zabbix.stats[<ip>,<port>])
— Serwer →
proxy → agent → zewnętrzna instancja Zabbix
(zabbix.stats[<ip>,<port>])
Aby upewnić się, że instancja docelowa zezwala na odpytywanie jej przez instancję zewnętrzną, podaj adres instancji zewnętrznej w parametrze StatsAllowedIP na instancji docelowej.
Udostępniane metryki
Pozycje statystyk zbierają statystyki zbiorczo i zwracają JSON, który stanowi podstawę dla pozycji zależnych do pobierania z niego danych. Następujące metryki wewnętrzne są zwracane przez dowolną z tych dwóch pozycji:
zabbix[boottime]zabbix[hosts]zabbix[items]zabbix[items_unsupported]zabbix[preprocessing](tylko serwer)zabbix[preprocessing_queue](tylko serwer)zabbix[process,<type>,<mode>,<state>](tylko statystyki oparte na typie procesu)zabbix[rcache,<cache>,<mode>]zabbix[requiredperformance]zabbix[triggers](tylko serwer)zabbix[uptime]zabbix[vcache,buffer,<mode>](tylko serwer)zabbix[vcache,cache,<parameter>]zabbix[version]zabbix[vmware,buffer,<mode>]zabbix[wcache,<cache>,<mode>](typ pamięci podręcznej „trends” tylko dla serwera)
Szablony
Szablony są dostępne do zdalnego monitorowania wewnętrznych metryk serwera Zabbix lub proxy z zewnętrznej instancji:
- Stan zdalnego serwera Zabbix
- Stan zdalnego proxy Zabbix
Należy pamiętać, że aby użyć szablonu do zdalnego monitorowania wielu zewnętrznych instancji, wymagany jest oddzielny host dla monitorowania każdej zewnętrznej instancji.
Proces trapper
Odbieranie żądań metryk wewnętrznych z zewnętrznej instancji Zabbix jest obsługiwane przez proces trapper, który weryfikuje żądanie, zbiera metryki, tworzy bufor danych JSON i odsyła przygotowany JSON z powrotem, na przykład z serwera:
{
"response": "success",
"data": {
"boottime": N,
"uptime": N,
"hosts": N,
"items": N,
"items_unsupported": N,
"preprocessing": {
"queued": {
"count": N,
"size": N
},
"direct": {
"count": N,
"size": N
},
"queue": N
},
"preprocessing_queue": N,
"process": {
"alert manager": {
"busy": {
"avg": N,
"max": N,
"min": N
},
"idle": {
"avg": N,
"max": N,
"min": N
},
"count": N
},
...
},
"queue": N,
"rcache": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"requiredperformance": N,
"triggers": N,
"uptime": N,
"vcache": {
"buffer": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"cache": {
"requests": N,
"hits": N,
"misses": N,
"mode": N
}
},
"vmware": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"version": "N",
"wcache": {
"values": {
"all": N,
"float": N,
"uint": N,
"str": N,
"log": N,
"text": N,
"not supported": N
},
"history": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"index": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"trend": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
}
}
}
}
Wewnętrzne pozycje kolejki
Istnieją także dwie dodatkowe pozycje, które umożliwiają zdalne odpytywanie statystyk wewnętrznej kolejki w innej instancji Zabbix:
- wewnętrzna pozycja
zabbix[stats,<ip>,<port>,queue,<from>,<to>]— do bezpośrednich zapytań o wewnętrzną kolejkę do zdalnego serwera/proxy Zabbix - pozycja agenta
zabbix.stats[<ip>,<port>,queue,<from>,<to>]— do opartych na agencie zapytań o wewnętrzną kolejkę do zdalnego serwera/proxy Zabbix
Zobacz także: Wewnętrzne pozycje, Pozycje agenta Zabbix