Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

3 Pasywne i aktywne sprawdzenia agenta

Przegl?d

Rozdzia? ten przedstawia szczeg¨®?owo pasywne i aktywne sprawdzenia wykonywane przez agenta Áú»¢¶Ä²©.

Do komunikacji z agentem Áú»¢¶Ä²© u?ywa protoko?u komunikacyjnego opartego o JSON.

Istnieje kilka definicji uzytych w szczeg¨®?ach protoko?u wykorzystywanego przez Áú»¢¶Ä²©:

<HEADER> - "ZBXD\x01" (5 bajt¨®w)
       <DATALEN> - d?ugo?? danych (8 bajt¨®w). 1 zostanie sformatowane jako 01/00/00/00/00/00/00/00 (osiem bajt¨®w w HEX, liczba 64-bitowa)

?eby nie przekroczy? pojemno?ci pami?ci (potencjalnie) serwer Áú»¢¶Ä²© jest ograniczony do przyjmowania tylko 64MB w jednym po??czeniu, gdy jest u?ywany protok¨®? Áú»¢¶Ä²© w wersjach 2.2.0-2.2.2 (128MB przed 2.2.0, nielimitowany przed Áú»¢¶Ä²© 2.0.3).

Od 2.2.3, limit zosta? zmieniony z powrotem na 128MB, ?eby utrzyma? kompatybilno?? ze starszymi wersjami Áú»¢¶Ä²©, poniewa? gdy proces z ograniczeniem do 128MB wysy?a? dane do innego z ograniczeniem do 64MB, mog?o to spowodowa? ca?kowite odrzucenie danych z powodu przekroczenia limitu.

Sprawdzenia pasywne

Sprawdzenie pasywne jest prostym zapytaniem o dane. Serwer lub proxy Áú»¢¶Ä²© pyta o jakie? dane (na przyk?ad, obci??enie CPU), a agent Áú»¢¶Ä²© odsy?a rezultaty.

Zapytanie serwera

<klucz pozycji>\n

Odpowied? agenta

<HEADER><DATALEN><DATA>

Na przyk?ad:

  1. Serwer otwiera po??czenie TCP
  2. Serwer wysy?a agent.ping\n
  3. Agent czyta zapytanie i odpowiada <HEADER><DATALEN>1
  4. Serwer przetwarza dane, ?eby pobra? warto??, w tym przypadku '1'
  5. Po??czenie TCP jest zamykane

Sprawdzenia aktywne

Sprawdzenia aktywne wymagaj? wi?cej przetwarzania. Agent najpierw musi pobra? z serwera(¨®w) list? pozycji do niezale?nego przetwarzania.

Serwery do pobrania sprawdze¨½ aktywnych s? wpisane w parametrze 'ServerActive' w pliku konfiguracji agenta. Cz?stotliwo?? odpytywania tych sprawdze¨½ jest ustawiona w parametrze 'RefreshActiveChecks' w tym samym pliku konfiguracji. Jednak?e, je?eli od?wie?enie si? nie uda, zostanie powt¨®rzone dok?adnie za 60 sekund. Nast?pnie agent okresowo b?dzie wysy?a? nowe warto?ci do serwera(¨®w).

Pobieranie listy pozycji

Zapytanie agenta

<HEADER><DATALEN>{
          "request":"active checks",
          "host":"<nazwa_hosta>"
       }

Odpowied? serwera

{
           "response":"success",
           "data":[
           {
               "key":"log[\/home\/zabbix\/logs\/zabbix_agentd.log]",
               "delay":"30",
               "lastlogsize":"0"
           },
           {
               "key":"agent.version",
               "delay":"600"
           }
           ]
       }

Serwer musi odpowiedzie? poprawnie. Dla ka?dej zwr¨®conej pozycji musi istnie? key i delay. Dla pozycji typu "Log", musi r¨®wnie? istnie? lastlogsize.

Na przyk?ad:

  1. Agent otwiera po??czenie TCP
  2. Agent pyta si? o list? sprawdze¨½
  3. Serwer w odpowiedzi wysy?a list? pozycji (klucz pozycji, op¨®?nienie)
  4. Agent parsuje odpowied?
  5. Po??czenie TCP jest zamykane
  6. Agent uruchamia okresowe zbieranie danych

Nale?y zauwa?y?, ?e ta (istotna) informacja o konfiguracji mo?e by? dost?pna dla os¨®b trzecich, maj?cych dost?p do portu trappera serwera Áú»¢¶Ä²©, gdy u?ywane s? aktywne proxy. Dzieje si? tak dlatego, ?e ka?dy mo?e udawa? aktywnego agenta i ??da? danych konfiguracyjnych; nie jest tu stosowane uwierzytelnianie.

Przesy?anie zebranych danych

Agent wysy?a

<HEADER><DATALEN>{
          "request":"agent data",
          "data":[
              {
                  "host":"<nazwa_hosta>",
                  "key":"log[\/home\/zabbix\/logs\/zabbix_agentd.log]",
                  "value":" 13039:20090907:184546.759 zabbix_agentd started. ZABBIX 1.6.6 (revision {7836}).",
                  "lastlogsize":80,
                  "clock":1252926015
              },
              {
                  "host":"<nazwa_hosta>",
                  "key":"agent.version",
                  "value":"1.6.6",
                  "clock":1252926015
              }
          ],
          "clock":1252926016
       }

Odpowied? serwera

<HEADER><DATALEN>{
           "response":"success",
           "info":"Processed 2 Failed 0 Total 2 Seconds spent 0.002070"
       }

Je?eli wysy?anie jakich? warto?ci zako¨½czy si? b??dem po stronie serwera (na przyk?ad, poniewa? host lub pozycja zosta?y wy??czone lub usuni?te), agent nie powt¨®rzy wysy?anie tych warto?ci.

Na przyk?ad:

  1. Agent otwiera po??czenie TCP
  2. Agent wysy?a list? warto?ci
  3. Serwer przetwarza dane i odsy?a status
  4. Po??czenie TCP jest zamykane

Stary protok¨®? XML

Áú»¢¶Ä²© mo?e przetworzy? do 16 MB danych XML zakodowanych w Base64, ale pojedyncza zdekodowana warto?? nie powinna by? d?u?sza ni? 64 KB, w przeciwnym przypadku zostanie uci?ta do 64 KB podczas dekodowania.

Zobacz r¨®wnie?