Najlepsze rozwiązania dotyczące monitorowania i diagnostyki dla usługi Azure Service Fabric

Monitorowanie i diagnostyka mają kluczowe znaczenie dla tworzenia, testowania i wdrażania obciążeń w dowolnym środowisku chmury. Możesz na przykład śledzić sposób używania aplikacji, akcje wykonywane przez platformę usługi Service Fabric, wykorzystanie zasobów z licznikami wydajności oraz ogólną kondycję klastra. Te informacje umożliwiają diagnozowanie i rozwiązywanie problemów oraz zapobieganie ich występowaniu w przyszłości.

Monitorowanie aplikacji

Monitorowanie aplikacji śledzi sposób użycia funkcji i składników aplikacji. Monitoruj aplikacje, aby upewnić się, że problemy wpływające na użytkowników są przechwytywane. Monitorowanie aplikacji jest obowiązkiem osób tworzących aplikację i jej usługi, ponieważ jest ona unikatowa dla logiki biznesowej aplikacji. Zaleca się skonfigurowanie monitorowania aplikacji za pomocą usługi Application Insights, narzędzia do monitorowania aplikacji platformy Azure.

Monitorowanie klastrów

Jednym z celów usługi Service Fabric jest zapewnienie odporności aplikacji na awarie sprzętowe. Ten cel jest osiągany dzięki możliwości wykrywania problemów z infrastrukturą i szybkiego przełączania obciążeń w tryb failover do innych węzłów w klastrze. Ale co zrobić, jeśli same usługi systemowe mają problemy? A jeśli próbujesz wdrożyć lub przenieść obciążenie, naruszono reguły umieszczania usług? Usługa Service Fabric udostępnia diagnostykę tych i innych problemów, aby upewnić się, że wiesz, jak platforma usługi Service Fabric współdziała z aplikacjami, usługami, kontenerami i węzłami.

W przypadku klastrów systemu Windows zaleca się skonfigurowanie monitorowania klastra przy użyciu dzienników agenta diagnostyki i usługi Azure Monitor.

W przypadku klastrów systemu Linux dzienniki usługi Azure Monitor są również zalecanym narzędziem do monitorowania platformy Azure i infrastruktury. Diagnostyka platformy systemu Linux wymaga innej konfiguracji, jak wspomniano w artykule Zdarzenia klastra systemu Linux w usłudze Service Fabric w dzienniku systemowym.

Monitorowanie infrastruktury

Dzienniki usługi Azure Monitor są zalecane do monitorowania zdarzeń na poziomie klastra. Po skonfigurowaniu agenta usługi Log Analytics z obszarem roboczym zgodnie z opisem w poprzednim linku będzie można zbierać metryki wydajności, takie jak wykorzystanie procesora CPU, liczniki wydajności platformy .NET, takie jak wykorzystanie procesora CPU na poziomie procesu, liczniki wydajności usługi Service Fabric, takie jak liczba wyjątków od niezawodnej usługi i metryki kontenera, takie jak wykorzystanie procesora CPU. Należy zapisać dzienniki kontenera w stdout lub stderr, aby były one dostępne w dziennikach usługi Azure Monitor.

Watchdogs

Ogólnie rzecz biorąc, watchdog to oddzielna usługa, która monitoruje kondycję i obciążenie usług, wysyła polecenia ping do punktów końcowych i zgłasza nieoczekiwane zdarzenia kondycji w klastrze. Może to pomóc w zapobieganiu błędom, które mogą nie być wykrywane tylko na podstawie wydajności pojedynczej usługi. Watchdogs to również dobre miejsce do hostowania kodu, który wykonuje akcje naprawcze, które nie wymagają interakcji użytkownika, takie jak czyszczenie plików dziennika w magazynie w określonych odstępach czasu. Jeśli chcesz w pełni zaimplementować usługę watchdog sf typu open source, która zawiera łatwy w użyciu model rozszerzalności watchdog i działa zarówno w klastrach systemu Windows, jak i Linux, zobacz projekt FabricObserver . FabricObserver to oprogramowanie gotowe do produkcji. Zachęcamy do wdrożenia serwera FabricObserver w klastrach testowych i produkcyjnych i rozszerzania go w celu zaspokojenia Twoich potrzeb za pomocą modelu wtyczek lub rozwidlania go i pisania własnych wbudowanych obserwatorów. Poprzednie (wtyczki) jest zalecanym podejściem.

Następne kroki