Obserwowalność

Czym właściwie jest obserwowalność (observability)? Obserwowalność to sposób, w jaki z zewnątrz poznajemy i oceniamy kondycję, stan wewnętrzny oraz działanie danego systemu poprzez pomiar charakterystycznych zmiennych. Nie jest to pojedyncze narzędzie ani aplikacja, lecz koncepcja i kompleksowe podejście, którego wdrożenie daje zespołom IT możliwość „zajrzenia” w szczegóły operacyjne, wykrywania anomalii w zachowaniu aplikacji oraz zapobiegania potencjalnym problemom, zanim staną się one widoczne z perspektywy użytkownika lub klienta.

Szczegółowy opis usługi

Różnica pomiędzy obserwowalnością a tradycyjnym monitoringiem zaczyna się już na poziomie danych. Monitoring zazwyczaj opiera się na zestawie wcześniej zdefiniowanych dashboardów, których celem jest alarmowanie o przewidywanych problemach wydajnościowych. Śledzi on i ocenia znane (oczekiwane) typy problemów, które mogą się pojawić. Narzędzia monitorujące odpowiadają więc na znane pytania.

Obserwowalność natomiast dostarcza informacji, które pozwalają wykrywać rzeczywiste lub potencjalne problemy, z którymi organizacja wcześniej się nie spotkała. Dzięki temu umożliwia odpowiadanie na nieoczekiwane pytania, tzw. unknown unknowns.

Koncepcja obserwowalności opiera się na trzech filarach: metrykach, logach i śladach (traces).

Metryki to liczbowe reprezentacje danych, takich jak wykorzystanie CPU, zajętość pamięci RAM itp., mierzone w regularnych odstępach czasu. Można na nich stosować modele matematyczne i predykcje. Są najczęściej wykorzystywane do podstawowej analizy i oceny wydajności systemów.

Logi to generowane maszynowo zapisy różnego rodzaju zdarzeń, zazwyczaj zawierające znacznik czasu oraz dane związane z konkretnym zdarzeniem. Mogą również zawierać informacje o poziomie (ważności) zdarzenia, identyfikacji aplikacji źródłowej, nazwie lub adresie IP serwera i inne szczegóły.

Traces (ślady) umożliwiają powiązanie, za pomocą unikalnego identyfikatora, sekwencji wywołań pomiędzy poszczególnymi usługami, systemami i aplikacjami z żądaniem użytkownika, które zapoczątkowało przetwarzanie. W przypadku problemów możliwe jest prześledzenie całej ścieżki żądania end-to-end, znalezienie jego rzeczywistej przyczyny lub identyfikacja wąskiego gardła w całym procesie.

Do zbierania, redukcji i czyszczenia danych, a następnie przesyłania wyłącznie wartościowych informacji do docelowego systemu analitycznego, wykorzystywane jest narzędzie określane jako pipeline obserwowalności (observability pipeline). Jest to warstwa kontrolna umieszczona pomiędzy różnymi źródłami danych a systemami docelowymi do ich analizy i przetwarzania. Umożliwia przyjmowanie dowolnych danych w dowolnym formacie, wydobycie z nich wartości informacyjnej oraz skierowanie ich do dowolnego celu. Efektem jest wyższa wydajność oraz niższe koszty infrastruktury IT.


Dla kogo jest ta usługa?

Obserwowalność jest istotna dla wszystkich zespołów IT, które muszą analizować dane w skali całej organizacji, identyfikować nieoczekiwane sygnały w środowisku oraz docierać do pierwotnych przyczyn problemów. Umożliwia to zapobieganie przyszłym incydentom (nie tylko) w infrastrukturze IT oraz poprawę ogólnej wydajności i dostępności systemów.


Główne zalety usługi

Uzyskanie kontroli nad stale rosnącą ilością danych pochodzących z różnych źródeł

Uproszczenie pozyskiwania i zbierania danych

Ułatwienie analizy trendów w danych

Optymalizacja kosztów przechowywania danych oraz licencjonowania narzędzi analitycznych

Zwiększenie bezpieczeństwa danych i lepsza widoczność przepływów danych

Pomoc w wydobyciu rzeczywistej wartości informacyjnej z surowych danych

Jak przebiega wdrożenie?

  1. Analiza środowiska, aplikacji, usług oraz zdefiniowanie potrzeb klienta i danych
  2. Identyfikacja odpowiednich produktów i opracowanie koncepcji wdrożenia
  3. Implementacja rozwiązania
  4. Podłączenie źródeł danych
  5. Implementacja logiki transformacji danych zgodnie z potrzebami poszczególnych systemów docelowych
  6. Weryfikacja i debugowanie całego rozwiązania
  7. Akceptacja rozwiązania po stronie klienta
  8. Wsparcie w trakcie eksploatacji
  9. Informowanie o nowych możliwościach w ramach wdrożonej bazy rozwiązań
  10. Regularne działania prewencyjne (profilaktyczne) w celu optymalizacji działania systemu