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

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. Jeśli masz własny klaster, który chcesz skonfigurować pod kątem 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 dodają obszar roboczy usługi Log Analytics do grupy zasobów. Obszar roboczy jest skonfigurowany do odbierania zdarzeń platformy usługi Service Fabric z tabel magazynu skonfigurowanych za pomocą agenta Diagnostyka Azure systemu Windows. 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 skonfigurujemy 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

Wybranie rozwiązania monitora kontenerów powoduje 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

Wybranie 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ć swoje 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 zobaczysz listę zaleceń z dzienników usługi Azure Monitor dla liczników wydajności, które można zbierać, a także opcję wyszukiwania innych liczników. Sprawdź, czy są zbierane liczniki Procesor (_Total)% czasu procesora i pamięci(*)\Dostępne bajty MByte .

Odśwież rozwiązanie do monitorowania kontenerów w ciągu kilku minut i zacznij wyświetlać dane wydajności komputera. Ułatwia to zrozumienie sposobu korzystania z zasobów. 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.