Monitoring klastra Kubernetes to niemałe wyzwanie. K8s to świetny system do automatyzacji uruchamiania, skalowania i zarządzania aplikacjami w kontenerach. Eliminuje on ogromną ilość nakładów administracyjnych i pozwala skupić się na budowaniu oprogramowania, które zapewnia prawdziwą wartość dla klientów. Ale bez monitorowania warstwy zarządzającej (orkiestracji), to trochę jazda po omacku. Wtyczka Dynatrace ActiveGate, służąca do monitorowania klastra Kubernetes, to podejście wykorzystujące technologię ActiveGate Plugin do rozszerzenia analizy problemu w Dynatrace.

Kubernetes jest skomplikowany i to nie pomaga

Wiele komponentów i usług Kubernetes działa razem, aby utrzymać pożądany stan i zdrowie klastra. Są serwisy realizujące automatyczny load balancing między węzłami, automatyczne ponowne uruchamianie nieudanych węzłów/podów, a także serwisy odpowiedzialne za instalację aktualizacji aplikacji. W tak złożonym systemie, awaria dowolnego komponentu może mieć poważne konsekwencje. Zwłaszcza, gdy podstawowe elementy klastra wchodzą w stan awaryjny. Dodatkowo, Kubernetes nie został zaprojektowany z myślą o autodiagnostyce (self-monitoring) i warto o tym pamiętać.

Monitorowanie to nie to samo, co generowanie alertów

Na szczęście nie wszystko stracone. Monitoring klastra Kubernetes da się zrealizować, ponieważ K8s został wyposażony w eksportery Prometheusa, zapewniające dostęp do różnych metryk. Po uruchomieniu Prometheus Operator i kube-prometheus, otrzymujemy przegląd stanu, wydajności, węzłów, wdrożeń (deployments) i podów klastra. Jeśli któryś z komponentów wchodzi w tryb awaryjny, Prometheus generuje alarmy w Alertmanagerze, na które powinien zareagować operator klastra. Jednak rozwiązywanie problemów często przypomina szukanie przyczyny po omacku, a główna przyczyna problemów często pozostaje nieznana.

Dodaj sztuczną inteligencję Dynatrace do Prometheusa

Wtyczki Dynatrace ActiveGate są wykonywane w Active Gateway-u i mogą pobierać dane i topologię ze zdalnych źródeł. Dzięki temu każda technologia eksponująca zewnętrzny interfejs może zostać zintegrowana z Dynatrace. Poprzez korelację danych zebranych przez wtyczkę i OneAgenta, Dynatrace rozszerza swoją analizę problemu o zdarzenia i przyczynę (root cause) pochodzącą ze źródeł zewnętrznych, gdzie Dynatrace nie działa.

Kubernetes w widoku technologii.

Węzły klastra Kubernetes.

Parametry „życiowe”węzła.

Rozkład parametrów w czasie.

Status podów w węźle.

Jak zainstalować wtyczkę Dynatrace?

Rozpoczęcie korzystania z wtyczki Dynatrace ActiveGate jest łatwe, wystarczy postępować zgodnie z instrukcjami podanymi w https://github.com/dynatrace-innovationlab/activegateplugin-k8s

Jak pomóc w rozwoju wtyczki?

Wtyczka jest dostępna w publicznym repozytorium na stronie GitHub Dynatrace Innovation Lab. Możesz przetestować i przyczynić się do rozwoju wtyczki, publikując swoje ulepszenia czy dodatki bezpośrednio w kodzie.

Zastrzeżenie

Wtyczka Dynatrace Kubernetes ActiveGate jest obecnie w fazie EAP (Early Access Phase).

Oprogramowania w fazie Early Access pozwala na zapoznanie się z nowymi funkcjami platformy Dynatrace oraz umożliwia przekazywanie informacji zwrotnej, która może znacząco wpłynąć na nasz kierunek i realizację pełnej funkcjonalności.

Moduły w fazie Early Access nie nadają się do użycia w zastosowaniach produkcyjnych i jako takie, nie posiadają wsparcia ze strony Dynatrace. Celem udostępniania modułów w tej fazie jest testowanie rozwiązań i umożliwienie klientom i partnerom współpracy przy docelowej implementacji. Po otrzymaniu informacji zwrotnej i kolejnych iteracjach projektu, Dynatrace może wprowadzić bardzo istotne zmiany bez szczególnych ostrzeżeń. To sprawia, że nie jest to kod produkcyjny i stosowanie go wiąże się z ryzykiem, dlatego zaleca się jedynie eksperymenty na wyizolowanych środowiskach.

Copyright: Dynatrace

Autor oryginału: Dominik Sachsenhofer