Udostępnij za pośrednictwem


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

Monitorowanie i diagnostyka mają kluczowe znaczenie dla opracowywania, 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 i 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 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? Czy też w przypadku próby wdrożenia lub przeniesienia obciążenia reguły umieszczania usług są naruszone? Usługa Service Fabric zapewnia diagnostykę tych i innych problemów, aby upewnić się, że masz informacje na temat sposobu interakcji platformy usługi Service Fabric z aplikacjami, usługami, kontenerami i węzłami.

W przypadku klastrów systemu Windows zaleca się skonfigurowanie monitorowania klastra za pomocą agenta diagnostyki i dzienników usługi Azure Monitor.

W przypadku klastrów z systemem 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 opisano 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 użycie procesora CPU, liczniki wydajności platformy .NET, takie jak wykorzystanie procesora CPU, liczniki wydajności usługi Service Fabric, takie jak liczba wyjątków od niezawodnej usługi i metryki kontenera, takie jak użycie procesora CPU. Należy zapisać dzienniki kontenera w usłudze stdout lub stderr, aby były dostępne w dziennikach usługi Azure Monitor.

Watchdogs

Ogólnie rzecz biorąc, watchdog to oddzielna usługa, która monitoruje kondycję i ładowanie między usługami, punktami końcowymi ping i zgłasza nieoczekiwane zdarzenia kondycji w klastrze. Może to pomóc w zapobieganiu błędom, które nie mogą być wykrywane tylko na podstawie wydajności pojedynczej usługi. Watchdogs to również dobre miejsce do hostowania kodu, który wykonuje akcje korygujące, 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ć open source usługę sf watchdog, która zawiera łatwy w użyciu model rozszerzalności watchdog i działa zarówno w klastrach z systemami 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 oraz rozszerzenia go w celu spełnienia Twoich potrzeb za pomocą modelu wtyczki lub za pomocą rozwidlania go i pisania własnych wbudowanych obserwatorów. Poprzednie (wtyczki) jest zalecanym podejściem.

Następne kroki