Dela via


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

Kommentar

Den här artikeln uppdaterades nyligen för att använda termen Azure Monitor-loggar i stället för Log Analytics. Loggdata lagras fortfarande på en Log Analytics-arbetsyta och samlas fortfarande in och analyseras av samma Log Analytics-tjänst. Vi uppdaterar terminologin för att bättre återspegla loggarnas roll i Azure Monitor. Mer information finns i Terminologiändringar i Azure Monitor.

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 skalningsuppsättningar för virtuella datorer: 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. De här ändringarna lägger till Log Analytics-arbetsytan i resursgruppen. Arbetsytan konfigureras så att den hämtar upp Service Fabric-plattformshändelser från lagringstabeller som har 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 ställer vi in containerövervakning.

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 klickar på 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).

Det leder till Log Analytics-arbetsytan där du kan se 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 övervakningslösningen för containrar efter ett par minuter. Du ska nu se information om Datorprestanda komma in. Det här 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.