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