Udostępnij przez


Monitorowanie w usługach Azure Kubernetes Services

Wskazówka

Ta zawartość jest fragmentem e-książki, Architektura Cloud Native .NET Applications for Azure, dostępnej w .NET Docs lub jako bezpłatny plik PDF do pobrania, który można czytać offline.

Natywne aplikacje .NET dla chmury Azure - okładka miniatury eBooka.

Wbudowane rejestrowanie na platformie Kubernetes jest pierwotne. Istnieją jednak pewne doskonałe opcje pobierania dzienników z platformy Kubernetes i do miejsca, w którym można je prawidłowo przeanalizować. Jeśli musisz monitorować klastry usługi AKS, konfiguracja Elastic Stack dla Kubernetes jest doskonałym rozwiązaniem.

Usługa Azure Monitor for Containers

Azure Monitor for Containers obsługuje przetwarzanie dzienników nie tylko z platformy Kubernetes, ale także z innych platform do orkiestracji, takich jak DC/OS, Docker Swarm i Red Hat OpenShift.

Korzystanie z logów z różnych kontenerów Rysunek 7–10. Konsumpcja dzienników z różnych kontenerów

Prometheus to popularne rozwiązanie do monitorowania metryk typu open source. Jest częścią Cloud Native Computing Foundation. Zazwyczaj korzystanie z rozwiązania Prometheus wymaga zarządzania serwerem Prometheus z własnym magazynem. Jednak usługa Azure Monitor dla kontenerów zapewnia bezpośrednią integrację z punktami końcowymi metryk rozwiązania Prometheus, więc oddzielny serwer nie jest wymagany.

Informacje o dziennikach i metryki są zbierane nie tylko z kontenerów uruchomionych w klastrze, ale także z samych hostów klastra. Umożliwia korelowanie informacji dziennika z tych dwóch, co znacznie ułatwia śledzenie błędu.

Instalowanie modułów zbierających dzienniki różni się w klastrach systemów Windows i Linux . Jednak w obu przypadkach kolekcja dzienników jest implementowana jako element DaemonSet platformy Kubernetes, co oznacza, że moduł zbierający dzienniki jest uruchamiany jako kontener w każdym z węzłów.

Niezależnie od tego, który orkiestrator lub system operacyjny uruchamia demona usługi Azure Monitor, informacje z dzienników są przekazywane do tych samych narzędzi usługi Azure Monitor, z którymi są zaznajomieni użytkownicy. Takie podejście zapewnia równoległe środowisko w środowiskach, które łączą różne źródła dzienników, takie jak hybrydowe środowisko Kubernetes/Azure Functions.

Przykładowy pulpit nawigacyjny przedstawiający informacje o rejestrowaniu i metryce z wielu uruchomionych kontenerów. Rysunek 7–11. Przykładowy panel kontrolny pokazujący dane z rejestrowania oraz dane metryczne z wielu uruchomionych kontenerów.

Log.Finalize()

Rejestrowanie jest jednym z najbardziej pomijanych i najważniejszych części wdrażania dowolnej aplikacji na dużą skalę. Wraz ze wzrostem rozmiaru i złożoności aplikacji sprawia to trudności z ich debugowaniem. Posiadanie dostępnych dzienników najwyższej jakości znacznie ułatwia debugowanie i przenosi je z obszaru "prawie niemożliwe" do "przyjemnego doświadczenia".