Självstudie: Övervaka Windows-containrar i Service Fabric med hjälp av Azure Monitor-loggar

Det här är del tre i en självstudie och vägleder dig genom att konfigurera Azure Monitor-loggar för att övervaka dina Windows-containrar som är orkestrerade i Service Fabric.

I den här självstudien lär du dig att:

  • Konfigurera Azure Monitor-loggar för ditt Service Fabric-kluster
  • Använda en Log Analytics-arbetsyta till att visa och fråga loggar från containrar och noder
  • Konfigurera Log Analytics-agenten så att containrar och nodvärden hämtas in

Förutsättningar

Innan du börjar de här självstudierna bör du:

Konfigurera Azure Monitor-loggar med klustret i Resource Manager-mallen

Om du använde mallen i den första delen av självstudiekursen bör den omfatta följande tillägg till en allmän Service Fabric Azure Resource Manager-mall. Om du har ett eget kluster som du vill konfigurera för övervakning av containrar med Azure Monitor-loggar:

  • göra följande ändringar i Resource Manager-mallen
  • distribuera med PowerShell för att uppgradera klustret genom att distribuera mallen. Azure Resource Manager ser att resursen finns, så den lanseras som en uppgradering.

Lägga till Azure Monitor-loggar i klustermallen

Gör följande ändringar i template.json:

  1. Lägga till Log Analytics-arbetsytan, position och namn, i avsnittet parametrar:

    "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"
      }
    }
    

    Om du vill ändra något av värdena lägger du till samma parametrar i template.parameters.json och ändrar värdena som används där.

  2. Lägg till lösningsnamnet och lösningen i dina variabler:

    "omsSolutionName": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]",
    "omsSolution": "ServiceFabric"
    
  3. Lägg till Microsoft Monitoring Agent som ett tillägg för virtuella datorer. Hitta resursen för vm-skalningsuppsättningar: resurser>"apiVersion": "[variables('vmssApiVersion')]". Under properties>virtualMachineProfile>extensionProfile>extensions lägger du till följande tilläggsbeskrivning under tillägget 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. Lägg till Log Analytics-arbetsytan som enskild resurs. I resources, efter resursen för skalningsuppsättningar för virtuella datorer, lägger du till följande:

    {
        "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": ""
        }
    },
    

Här är en exempelmall (används i del 1 i den här guiden). I den finns alla ändringarna, att referera till vid behov. Dessa ändringar lägger till en Log Analytics-arbetsyta i resursgruppen. Arbetsytan är konfigurerad för att hämta Service Fabric-plattformshändelser från de lagringstabeller som konfigurerats med Windows Azure Diagnostics-agenten. Log Analytics-agenten (Microsoft Monitoring Agent) har också lagts till i varje nod i klustret som ett tillägg för virtuella datorer. Det innebär att agenten konfigureras automatiskt på varje dator och kopplas till samma arbetsyta när du skalar klustret.

Distribuera mallen med dina ändringar för att uppgradera det aktuella klustret. Du bör se log analytics-resurserna i resursgruppen när detta har slutförts. När klustret är klart kan du distribuera ditt containerprogram till det. I nästa steg konfigurerar vi övervakning av containrarna.

Lägga till övervakningslösning för containrar i Log Analytics-arbetsytan

När du vill konfigurera containerlösningen i arbetsytan söker du efter Övervakningslösning för container och skapar en containerresurs (i kategorin Övervakning och hantering).

Lägga till containerlösning

När du uppmanas att ange Log Analytics-arbetsytan väljer du den arbetsyta som skapades i resursgruppen och väljer Skapa. Detta lägger till en containerövervakningslösning på din arbetsyta och initierar Log Analytics-agenten som distribueras av mallen för att börja samla in Docker-loggar och statistik.

Navigera tillbaka till resursgruppen. Du bör nu se den nyligen tillagda övervakningslösningen. Om du väljer det bör landningssidan visa antalet containeravbildningar som du har kört.

Observera att vi körde fem instanser av fabrikam-containern från del två av självstudien

Landningssida för containerlösning

Om du väljer containerövervakarlösningen kommer du till en mer detaljerad instrumentpanel som gör att du kan bläddra igenom flera paneler och köra frågor i Azure Monitor-loggar.

Eftersom agenten plockar upp dockerloggar är standardinställningen att stdout och stderr visas. Om du rullar vågrätt visas inventering, status, mått och exempelfrågor för containeravbildningar som du kan köra för att få mer användbara data.

Instrumentpanel för containerlösning

Om du väljer någon av dessa paneler kommer du till Kusto-frågan som genererar det visade värdet. Ändra frågan till * så att du ser alla olika typer av loggar som hämtas in. Härifrån kan du fråga eller filtrera efter containrarnas prestanda och loggar och titta på händelser för Service Fabric-plattformen. Agenterna avger dessutom ständigt pulsslag från varje nod. Du kan ta en titt på dem och kontrollera att data fortfarande samlas in från alla datorer om klusterkonfigurationen ändras.

Containerfråga

Konfigurera Log Analytics-agenten för att hämta prestandaräknare

En annan fördel med att använda Log Analytics-agenten är möjligheten att ändra de prestandaräknare som du vill hämta via gränssnittet för logganalys i stället för att behöva konfigurera Azure-diagnostikagenten och göra en Resource Manager-mallbaserad uppgradering varje gång. Det gör du genom att välja på OMS-arbetsytan på landningssidan för containerövervakningslösningen (eller Service Fabric).

Detta tar dig till din Log Analytics-arbetsyta, där du kan visa dina lösningar, skapa anpassade instrumentpaneler och konfigurera Log Analytics-agenten.

  • Välj Avancerade inställningar för att öppna menyn Avancerade inställningar.
  • Välj Anslutna källor>Windows-servrar för att kontrollera att du har 5 Windows-datorer anslutna.
  • Välj Data>Windows-prestandaräknare för att söka efter och lägga till nya prestandaräknare. Här visas en lista med rekommendationer från Azure Monitor-loggar för prestandaräknare som du kan samla in samt alternativet att söka efter andra räknare. Kontrollera att processor(_Total)% processortid och minne(*)\Tillgängliga MBytes-räknare samlas in.

Uppdatera containerövervakningslösningen om några minuter så bör du börja se data om datorprestanda som kommer in. Detta hjälper dig att förstå hur dina resurser används. Du kan också använda de här måtten till att fatta rätt beslut om skalning av klustret och för att bekräfta om ett kluster balanserar ut belastningen som förväntat.

Obs! Kontrollera tidsfiltren är inställda på rätt sätt så att du kan använda de här måtten.

Prestandaräknare 2

Nästa steg

I den här självstudiekursen lärde du dig att:

  • Konfigurera Azure Monitor-loggar för ditt Service Fabric-kluster
  • Använda en Log Analytics-arbetsyta till att visa och fråga loggar från containrar och noder
  • Konfigurera Log Analytics-agenten så att containrar och nodvärden hämtas in

Nu när du har konfigurerat övervakning för ditt containerbaserade program kan du prova:

  • Konfigurera Azure Monitor-loggar för ett Linux-kluster genom att följa liknande steg som i den här självstudien. Referera till den här mallen och gör ändringar i Resource Manager-mallen.
  • Konfigurera Azure Monitor-loggar för att konfigurera automatisk avisering för att underlätta identifiering och diagnostik.
  • Utforska Service Fabric-listan över rekommenderade prestandaräknare för att konfigurera klustren.
  • Bekanta dig med loggsöknings - och frågefunktionerna som erbjuds som en del av Azure Monitor-loggarna.