Sprawdzanie kondycji usługi
W systemie dostępne jest miejsce dołączania w obrębie instalacji o nazwie "Sprawdzanie kondycji". Algorytmy dołączone w tym miejscu służą do sprawdzania różnych warunków systemowych i zwracania szczegółów pozwalających na ocenę kondycji systemu.
Jakie informacje są sprawdzane?
Każdy algorytm odpowiada za sprawdzanie jednego typu warunku sprawdzania kondycji. Jako warunek powinien być zdefiniowany prawidłowy typ składnika kondycji (zdefiniowany na liście wartości HEALTH_COMP_FLG). Algorytm może sprawdzać warunki w wielu rekordach (określanych jako składniki kondycji) i zwracać status i szczegóły każdego składnika kondycji. Na przykład, jeśli algorytm sprawdza poziom usługi w programach zadań w systemie, składnikiem kondycji jest kontrolka zadania. Algorytm powinien gromadzić wyniki dotyczące poziomu usługi dla każdego programu zadania i zwracać zbiór informacji do programu wywołującego.
Algorytmy miejsca dołączania powinny zwracać następujące informacje o każdym ze składników kondycji:
-
Szczegóły składnika kondycji powinny zawierać informacje specyficzne dla sprawdzanego obiektu. Na przykład, jeśli algorytm sprawdza poziom usługi kontrolki zadania, będzie to kod kontrolki zadania. Ponadto, aby umożliwić wyświetlanie szczegółów każdego typu składnika kondycji, algorytm powinien wypełniać kod obiektu obsługi, pole klucza głównego oraz szczegóły wartości wraz z opcją nawigacji.
-
Znacznik statusu składnika kondycji i Opis statusu składnika kondycji powinny być wypełnione prawidłowym kodem statusu i jego opisem, odpowiednimi dla sprawdzanego warunku. Informacje te mogą się różnić w zależności od typu składnika kondycji, ponieważ każdy typ składnika kondycji może mieć własne unikatowe wartości statusów.
-
Przyczyna statusu składnika kondycji powinna udostępniać dodatkowe informacje o wartości statusu składnika kondycji. Na przykład, jeśli składnik ma status o typie "błąd", pole to może zawierać przyczynę tego statusu.
-
Odpowiedź składnika kondycji służy do odwzorowywania wartości statusu składnika kondycji na standardową wartość zdefiniowaną na liście wartości HEALTH_RESPONSE_FLG. Wartości należą do podzbioru kodów odpowiedzi HTTP. Obsługiwane wartości to Wszystkie operacje sprawdzania powiodły się (200); Obniżenie wydajności funkcji innej niż krytyczna (203), Brak zawartości (204) i Obniżenie wydajności co najmniej jednej funkcji krytycznej (500).
-
Na potrzeby składników kondycji sprawdzających kilka warunków w ramach sprawdzania kondycji udostępniono listę Szczegóły odpowiedzi. Każdy warunek może zwracać własny status. W takim przypadku algorytm powinien wykorzystać listę szczegółów odpowiedzi do rejestrowania poszczególnych odpowiedzi i wypełnienia ogólnych pól znacznika, opisu i przyczyny statusu składnika kondycji informacjami zbiorczymi. Zalecane jest następujące rozwiązanie:
-
Należy ustawić znacznik statusu i odpowiedź na podstawie szczegółów poszczególnych odpowiedzi. Przykład takiej logiki można znaleźć w zamieszczonych poniżej informacjach o poziomie usługi zadania.
-
Gdy lista odpowiedzi jest wypełniona, w interfejsie użytkownika sprawdzania kondycji zostanie wyświetlony ogólny tekst przyczyny statusu wraz z ikoną umożliwiającą rozwinięcie szczegółów. Zaleca się wypełnić to pole tekstem takim jak "Szczegóły można znaleźć w wynikach".
-
W systemie udostępniono algorytm sprawdzający typ składnika kondycji Poziom usługi - zadanie. Ten typ składnika kondycji znajduje wszystkie kontrolki zadań skonfigurowane z co najmniej jednym algorytmem poziom usługi i wywołuje algorytmy dla każdej kontrolki zadania. Usługa biznesowa wypełnia dane wyjściowe tej usługi dot. kondycji dla każdej kontrolki zadania w następujący sposób:
-
Szczegóły składnika kondycji są wypełniane kodem i opisem kontrolki zadania. Ponadto udostępniane są informacje o przechodzeniu umożliwiające drążenie do kontrolki zadania. Są one używane do utworzenia hipertekstu w kolumnie.
-
Sposób wypełnienia pola Status zależy od tego, czy kontrolka zadania ma jeden algorytm czy wiele algorytmów. W przypadku jednego algorytmu zwracana jest wartość wyszukiwania "Poziom usługi" zwrócona przez algorytm. W przypadku wielu algorytmów określany jest status ogólny w oparciu o szczegółowe wartości statusu z każdego z nich. Jeśli któryś z algorytmów zwróci błąd, zwrócona zostanie ta wartość. Jeśli natomiast zwrócone zostanie ostrzeżenie, zwrócona zostanie ta wartość. W przeciwnym razie zwrócona zostanie wartość "Normalne".
-
Sposób wypełnienia pola Przyczyna statusu zależy od tego, czy kontrolka zadania ma jeden algorytm czy wiele algorytmów. W przypadku jednego algorytmu zwracany jest rozwinięty tekst przyczyny statusu zwróconej przez algorytm. W przypadku wielu algorytmów zwracany jest tekst z kategorii komunikatu/numeru komunikatu 11002/22001 (Szczegóły można znaleźć w wynikach)
-
Odpowiedź jest wypełniana na podstawie wartości ogólnego statusu poziomu usługi. Wartość Wszystkie operacje sprawdzania powiodły się (200) jest ustawiana, gdy poziom usługi ma wartość Normalne lub Wyłączone; wartość Obniżenie wydajności funkcji innej niż krytyczna (203) jest ustawiana, gdy poziom usługi ma wartość Ostrzeżenie, a wartość Obniżenie wydajności co najmniej jednej funkcji krytycznej (500) jest ustawiana, gdy poziom usługi ma wartość Błąd.
W jaki sposób są wywoływane algorytmy?
Algorytmy te są wywoływane przez udostępnioną w produkcie usługę biznesową F1-HealthCheck.
Usługa ta oblicza ogólną wartość odpowiedzi dotyczącej kondycji na podstawie wszystkich szczegółów zwróconych przez algorytmy. Wykorzystywane są wartości opisane powyżej dla znacznika HEALTH_RESPONSE_FLG.
Należy także zwrócić uwagę, że w systemie są dostępne przychodzące usługi internetowe dotyczące tej usługi biznesowej, obsługujące wywołania usług SOAP i REST, umożliwiające zewnętrznym systemom skorzystanie z usługi internetowej w celu pobrania tych informacji.