Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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.
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.
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".