Udostępnij za pośrednictwem


Samouczek: monitorowanie kontenerów systemu Windows w usłudze Service Fabric przy użyciu dzienników usługi Azure Monitor

Jest to trzecia część samouczka i przeprowadzi Cię przez proces konfigurowania dzienników usługi Azure Monitor w celu monitorowania kontenerów systemu Windows zorganizowanych w usłudze Service Fabric.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Konfigurowanie dzienników usługi Azure Monitor dla klastra usługi Service Fabric
  • Używanie obszaru roboczego usługi Log Analytics w celu wyświetlania dzienników i wykonywania o nie zapytań z poziomu kontenerów i węzłów
  • Konfigurowanie agenta usługi Log Analytics na potrzeby pobierania metryk kontenerów i węzłów

Uwaga

Ten artykuł został niedawno zaktualizowany, aby użyć terminu Dzienniki usługi Azure Monitor zamiast usługi Log Analytics. Dane dziennika są nadal przechowywane w obszarze roboczym usługi Log Analytics i są nadal zbierane i analizowane przez tę samą usługę Log Analytics. Aktualizujemy terminologię, aby lepiej odzwierciedlać rolę dzienników w usłudze Azure Monitor. Aby uzyskać szczegółowe informacje, zobacz Zmiany terminologii usługi Azure Monitor.

Wymagania wstępne

Przed rozpoczęciem tego samouczka należy:

Konfigurowanie dzienników usługi Azure Monitor za pomocą klastra w szablonie usługi Resource Manager

Jeśli używasz szablonu dostarczonego w pierwszej części tego samouczka, powinien on zawierać następujące dodatki do ogólnego szablonu usługi Azure Resource Manager w ramach usługi Service Fabric. W przypadku, gdy masz własny klaster, który chcesz skonfigurować do monitorowania kontenerów za pomocą dzienników usługi Azure Monitor:

  • Wprowadź następujące zmiany w szablonie usługi Resource Manager.
  • Wdróż je przy użyciu programu PowerShell w celu uaktualnienia klastra przez wdrożenie szablonu. Usługa Azure Resource Manager potrafi rozpoznać istniejący zasób, więc wdroży go jako uaktualnienie.

Dodawanie dzienników usługi Azure Monitor do szablonu klastra

Wprowadź następujące zmiany w szablonie template.json:

  1. Dodaj lokalizację i nazwę obszaru roboczego usługi Log Analytics w sekcji parameters:

    "omsWorkspacename": {
      "type": "string",
      "defaultValue": "[toLower(concat('sf',uniqueString(resourceGroup().id)))]",
      "metadata": {
        "description": "Name of your Log Analytics Workspace"
      }
    },
    "omsRegion": {
      "type": "string",
      "defaultValue": "East US",
      "allowedValues": [
        "West Europe",
        "East US",
        "Southeast Asia"
      ],
      "metadata": {
        "description": "Specify the Azure Region for your Log Analytics workspace"
      }
    }
    

    Aby zmienić wartość dla dowolnego z tych elementów, dodaj te same parametry do pliku template.parameters.json i zmień używane w nim wartości.

  2. Dodaj nazwę rozwiązania oraz rozwiązanie do sekcji variables:

    "omsSolutionName": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]",
    "omsSolution": "ServiceFabric"
    
  3. Dodaj program Microsoft Monitoring Agent jako rozszerzenie maszyny wirtualnej. Znajdź zasób zestawów skalowania maszyn wirtualnych: resources>"apiVersion": "[variables('vmssApiVersion')]". W obszarze properties>virtualMachineProfile>extensionProfile>extensions dodaj następujący opis w ramach rozszerzenia ServiceFabricNode:

    {
        "name": "[concat(variables('vmNodeType0Name'),'OMS')]",
        "properties": {
            "publisher": "Microsoft.EnterpriseCloud.Monitoring",
            "type": "MicrosoftMonitoringAgent",
            "typeHandlerVersion": "1.0",
            "autoUpgradeMinorVersion": true,
            "settings": {
                "workspaceId": "[reference(resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename')), '2015-11-01-preview').customerId]"
            },
            "protectedSettings": {
                "workspaceKey": "[listKeys(resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename')),'2015-11-01-preview').primarySharedKey]"
            }
        }
    },
    
  4. Dodaj obszar roboczy usługi Log Analytics jako pojedynczy zasób. W obszarze resources po zasobie zestawów skalowania maszyn wirtualnych dodaj następujący kod:

    {
        "apiVersion": "2015-11-01-preview",
        "location": "[parameters('omsRegion')]",
        "name": "[parameters('omsWorkspacename')]",
        "type": "Microsoft.OperationalInsights/workspaces",
        "properties": {
            "sku": {
                "name": "Free"
            }
        },
        "resources": [
            {
                "apiVersion": "2015-11-01-preview",
                "name": "[concat(variables('applicationDiagnosticsStorageAccountName'),parameters('omsWorkspacename'))]",
                "type": "storageinsightconfigs",
                "dependsOn": [
                    "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]",
                    "[concat('Microsoft.Storage/storageAccounts/', variables('applicationDiagnosticsStorageAccountName'))]"
                ],
                "properties": {
                    "containers": [ ],
                    "tables": [
                        "WADServiceFabric*EventTable",
                        "WADWindowsEventLogsTable",
                        "WADETWEventTable"
                    ],
                    "storageAccount": {
                        "id": "[resourceId('Microsoft.Storage/storageaccounts/', variables('applicationDiagnosticsStorageAccountName'))]",
                        "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('applicationDiagnosticsStorageAccountName')),'2015-06-15').key1]"
                    }
                }
            },
            {
                "apiVersion": "2015-11-01-preview",
                "name": "System",
                "type": "datasources",
                "dependsOn": [
                    "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
                ],
                "kind": "WindowsEvent",
                "properties": {
                    "eventLogName": "System",
                    "eventTypes": [
                        {
                            "eventType": "Error"
                        },
                        {
                            "eventType": "Warning"
                        },
                        {
                            "eventType": "Information"
                        }
                    ]
                }
            }
        ]
    },
    {
        "apiVersion": "2015-11-01-preview",
        "location": "[parameters('omsRegion')]",
        "name": "[variables('omsSolutionName')]",
        "type": "Microsoft.OperationsManagement/solutions",
        "dependsOn": [
            "[concat('Microsoft.OperationalInsights/workspaces/', parameters('OMSWorkspacename'))]"
        ],
        "properties": {
            "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
        },
        "plan": {
            "name": "[variables('omsSolutionName')]",
            "publisher": "Microsoft",
            "product": "[Concat('OMSGallery/', variables('omsSolution'))]",
            "promotionCode": ""
        }
    },
    

W tym miejscu znajduje się przykładowy szablon (używany w pierwszej części tego samouczka) zawierający wszystkie wprowadzone zmiany, do których można się odwołać w razie potrzeby. Te zmiany spowodują dodanie obszaru roboczego usługi Log Analytics do grupy zasobów. Obszar roboczy zostanie skonfigurowany w celu korzystania ze zdarzeń platformy usługi Service Fabric z poziomu tabel magazynu skonfigurowanych za pomocą agenta Microsoft Azure Diagnostics. Agent usługi Log Analytics (Microsoft Monitoring Agent) został również dodany do każdego węzła w klastrze jako rozszerzenie maszyny wirtualnej. Oznacza to, że podczas skalowania klastra agent jest automatycznie konfigurowany na każdej maszynie i podłączany do tego samego obszaru roboczego.

Wdróż szablon z wprowadzonymi zmianami, aby uaktualnić bieżący klaster. Po zakończeniu tej czynności zasoby analizy dzienników powinny być widoczne w grupie zasobów. Gdy klaster będzie gotowy, wdróż w nim konteneryzowaną aplikację. W następnym kroku zostanie skonfigurowane monitorowanie kontenerów.

Dodawanie rozwiązania do monitorowania kontenerów do obszaru roboczego usługi Log Analytics

Aby skonfigurować rozwiązanie kontenera w obszarze roboczym, wyszukaj wyrażenie Rozwiązanie do monitorowania kontenerów i utwórz zasób kontenerów (w kategorii Monitorowanie + zarządzanie).

Dodawanie rozwiązania kontenerów

Po wyświetleniu monitu o obszar roboczy usługi Log Analytics wybierz obszar roboczy, który został utworzony w grupie zasobów, a następnie wybierz pozycję Utwórz. Spowoduje to dodanie rozwiązania do monitorowania kontenerów do obszaru roboczego, które inicjuje agenta usługi Log Analytics wdrożonego przez szablon, aby rozpocząć zbieranie dzienników i statystyk platformy Docker.

Przejdź z powrotem do grupy zasobów, gdzie powinno zostać wyświetlone nowo dodane rozwiązanie do monitorowania. Jeśli ją wybierzesz, strona docelowa powinna wyświetlić liczbę uruchomionych obrazów kontenerów.

Należy pamiętać, że uruchomiliśmy pięć wystąpień kontenera fabrikam z części drugiej samouczka

Strona docelowa rozwiązania kontenera

Wybranie rozwiązania monitora kontenerów spowoduje przejście do bardziej szczegółowego pulpitu nawigacyjnego, który umożliwia przewijanie wielu paneli, a także uruchamianie zapytań w dziennikach usługi Azure Monitor.

W związku z tym, że agent pobiera dzienniki platformy Docker, domyślnie wyświetla elementy stdout i stderr. Jeśli przewiniesz w poziomie, zobaczysz spis obrazów kontenera, stan, metryki i przykładowe zapytania, które można uruchomić, aby uzyskać bardziej przydatne dane.

Pulpit nawigacyjny rozwiązania kontenera

Kliknięcie dowolnego z tych paneli spowoduje przejście do zapytania Kusto, które generuje wyświetlaną wartość. Zmień zapytanie na *, aby zobaczyć wszystkie rodzaje zbieranych dzienników. W tym miejscu można wysyłać zapytania dotyczące wydajności kontenerów i dzienników lub filtrować je albo wyszukiwać zdarzenia platformy usługi Service Fabric. Poza tym agenci stale emitują puls z każdego widocznego węzła, aby upewnić się, że dane ze wszystkich maszyn są zbierane nawet w przypadku zmiany konfiguracji klastra.

Zapytanie dotyczące kontenera

Konfigurowanie agenta usługi Log Analytics w celu zbierania liczników wydajności

Kolejną zaletą korzystania z agenta usługi Log Analytics jest możliwość zmiany liczników wydajności, które mają być pobierane za pośrednictwem środowiska interfejsu użytkownika analizy dzienników, zamiast konfigurowania agenta diagnostyki Azure i przeprowadzania uaktualnienia opartego na szablonie usługi Resource Manager za każdym razem. W tym celu wybierz obszar roboczy pakietu OMS na stronie docelowej rozwiązania do monitorowania kontenerów (lub usługi Service Fabric).

Spowoduje to przejście do obszaru roboczego usługi Log Analytics, w którym można wyświetlać rozwiązania, tworzyć niestandardowe pulpity nawigacyjne, a także konfigurować agenta usługi Log Analytics.

  • Wybierz pozycję Ustawienia zaawansowane, aby otworzyć menu Ustawienia zaawansowane.
  • Wybierz pozycję Połączone źródła>Serwerów z systemem Windows, aby sprawdzić, czy masz 5 połączonych komputerów z systemem Windows.
  • Wybierz pozycję Dane>Liczniki wydajności systemu Windows, aby wyszukać i dodać nowe liczniki wydajności. W tym miejscu zostanie wyświetlona lista zaleceń z dzienników usługi Azure Monitor dla liczników wydajności, które można zebrać, a także opcję wyszukiwania innych liczników. Sprawdź, czy są zbierane liczniki Procesor (_Total)% czasu procesora i pamięci(*)\Dostępne bajty MByte .

Po kilku minutach odśwież rozwiązanie do monitorowania kontenerów, aby wyświetlić dane przychodzące dotyczące wydajności komputera. Pomoże to zrozumieć, w jaki sposób zasoby są używane. Tych metryk można również używać na potrzeby podejmowania odpowiednich decyzji dotyczących skalowania klastra lub potwierdzania, że klaster równoważy obciążenie zgodnie z oczekiwaniami.

Uwaga: upewnij się, że filtry czasu zostały odpowiednio ustawione i umożliwiają korzystanie z tych metryk.

Liczniki wydajności 2

Następne kroki

W tym samouczku zawarto informacje na temat wykonywania następujących czynności:

  • Konfigurowanie dzienników usługi Azure Monitor dla klastra usługi Service Fabric
  • Używanie obszaru roboczego usługi Log Analytics w celu wyświetlania dzienników i wykonywania o nie zapytań z poziomu kontenerów i węzłów
  • Konfigurowanie agenta usługi Log Analytics na potrzeby pobierania metryk kontenerów i węzłów

Teraz, gdy skonfigurowano monitorowanie dla konteneryzowanej aplikacji, spróbuj:

  • Konfigurowanie dzienników usługi Azure Monitor dla klastra systemu Linux, wykonując podobne kroki, jak w tym samouczku. Utwórz odwołanie do tego szablonu, aby wprowadzić zmiany w szablonie usługi Resource Manager.
  • Skonfiguruj dzienniki usługi Azure Monitor, aby skonfigurować automatyczne alerty , aby ułatwić wykrywanie i diagnostykę.
  • Zapoznaj się z listą zalecanych liczników wydajności usługi Service Fabric w celu skonfigurowania ich na potrzeby klastrów.
  • Zapoznaj się z funkcjami przeszukiwania dzienników i wykonywania zapytań oferowanych w ramach dzienników usługi Azure Monitor.