3.2. Monitorování

Správnost běhu a fungování všech částí komponenty Imwhooser je možné kontrolovat pomocí k tomu určeného rozhraní. To umožňuje přímé monitorování pomocí systému Prometheus, nebo pomocí nástrojů, které jsou schopny zpracovat data ve formátu OpenMetrics.

Monitorovací rozhraní běží na stejném portu, na kterém je dostupná samotná komponenta Imwhooser (viz Monitorování). V příkladech níže je použit port 8089; pokud komponenta běží na jiném portu, použijte odpovídající číslo. Rozhraní je určeno pro přístup z příkazové řádky serveru (lokálně), nikoli z webového prohlížeče.

3.2.1. Zjištění stavu komponenty

Informace o stavu komponenty získáte příkazem:

curl --silent localhost:8089/actuator/health

Pokud je komponenta v pořádku, vrací stav UP. V opačném případě vrací stav DOWN a důvod selhání nebo uvedená stránka není dostupná.

Příklad odpovědi při stavu UP:

{
  "status": "UP"
}

3.2.2. Zjištění stavu vstupních front

Pro každý nakonfigurovaný vstupní systém jsou k dispozici 3 metriky:

  • počet zpracovaných záznamů: queue.count

  • doba v sekundách od počátku chybového stavu: queue.error_at, hodnota -1 znamená, že fronta není v chybovém stavu a poslední zpracování bylo úspěšné

  • doba v sekundách od posledního zpracování nezávisle na tom, zda úspěšné či neúspěšné: queue.last_check

Po startu komponenty jsou všechny metriky nastaveny na výchozí hodnoty:

  • queue.count na hodnotu 0

  • queue.last_check na hodnotu -1

  • queue.error_at na hodnotu -1.

Součástí každé metriky je i název systému, pro který je metrika určena.

Možné hodnoty názvu systému jsou:

Metriky získáte příkazem (výpis se filtruje na metriky front pomocí grep, samotný endpoint /actuator/prometheus vrací podstatně rozsáhlejší výstup):

curl --silent localhost:8089/actuator/prometheus | grep "^queue"

Příklad odpovědi:

queue_count_total{name="whois"} 0.0
queue_last_check{name="whois"} 22.0
queue_error_at{name="whois"} -1.0

3.2.3. Zjištění stavu fronty do Elza

Pro odchozí frontu do Elza jsou k dispozici tyto metriky:

  • počet zpracovaných (odeslaných) záznamů: queue.count

  • počet zakázaných záznamů pro přenos: queue.count_disabled

  • počet záznamů, které uvízly ve frontě s chybou (sloupec status není null): queue.count_failed

  • počet neúspěšných pokusů o odeslání: queue.error_count

  • doba v sekundách od počátku chybového stavu: queue.error_at, hodnota -1 znamená, že fronta není v chybovém stavu a poslední zpracování bylo úspěšné

  • doba v sekundách od posledního zpracování nezávisle na tom, zda úspěšné či neúspěšné: queue.last_check

Po startu komponenty jsou metriky nastaveny na výchozí hodnoty:

  • queue.count na hodnotu 0

  • queue.count_disabled na hodnotu odpovídající počtu zakázaných záznamů v DB

  • queue.count_failed na hodnotu odpovídající počtu chybných záznamů v DB

  • queue.error_count na hodnotu 0

  • queue.last_check na hodnotu -1

  • queue.error_at na hodnotu -1.

Název systému pro Elza je elza.

Metriky získáte příkazem:

curl --silent localhost:8089/actuator/prometheus | grep "^queue"

Příklad odpovědi:

queue_count_total{name="elza"} 0.0
queue_count_disabled{name="elza"} 2.0
queue_count_failed{name="elza"} 0.0
queue_error_count_total{name="elza"} 0.0
queue_last_check{name="elza"} 22.0
queue_error_at{name="elza"} -1.0