Zelfstudie: Windows-containers in Service Fabric bewaken met behulp van Azure Monitor-logboeken

Dit is deel drie van een zelfstudie. U wordt begeleid bij het configureren van Azure Monitor-logboeken voor het bewaken van uw Windows-containers die in Service Fabric worden georganiseerd.

In deze zelfstudie leert u het volgende:

  • Azure Monitor logboeken configureren voor uw Service Fabric-cluster
  • Een Log Analytics-werkruimte gebruiken om logboeken te bekijken en te doorzoeken vanuit uw containers en knooppunten
  • De Log Analytics-agent configureren om metrische gegevens uit containers en knooppunten te halen

Notitie

Dit artikel is onlangs bijgewerkt waarbij Log Analytics is vervangen door de term Azure Monitor-logboeken. Logboekgegevens worden nog steeds opgeslagen in een Log Analytics-werkruimte, en worden nog steeds verzameld en geanalyseerd met dezelfde Log Analytics-service. De terminologie wordt bijgewerkt om de rol van logboeken in Azure Monitor beter te weerspiegelen. Zie Wijzigingen in Azure Monitor-terminologie voor meer informatie.

Vereisten

Voordat u aan deze zelfstudie begint, dient u eerst:

Azure Monitor logboeken voor uw cluster instellen in de Resource Manager-sjabloon

Als u in het eerste deel van deze zelfstudie de opgegeven sjabloon hebt gebruikt, dient deze de volgende aanvullingen voor een generieke Service Fabric Azure Resource Manager-sjabloon te bevatten. Als u over een eigen cluster beschikt die u voor het bewaken van containers met Azure Monitor logboeken wilt instellen, gaat u als volgt te werk:

  • Breng de volgende wijzigingen in de Resource Manager-sjabloon aan.
  • Implementeer de sjabloon met PowerShell om uw cluster bij te werken door de sjabloon te implementeren. Azure Resource Manager weet dat de resource bestaat, zodat de resource als een upgrade wordt uitgebracht.

Azure Monitor-logboeken toevoegen aan uw cluster sjabloon

Breng de volgende wijzigingen in template.json aan:

  1. Voeg de locatie en de naam van de Log Analytics-werkruimte toe aan de sectie 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"
      }
    }
    

    Als u de waarde die voor een van beide is gebruikt, wilt wijzigen, voegt u dezelfde parameters toe aan template.parameters.json en wijzigt u de waarden die u daar hebt gebruikt.

  2. Voeg de naam van de oplossing en de oplossing toe aan variables:

    "omsSolutionName": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]",
    "omsSolution": "ServiceFabric"
    
  3. Voeg de MMA toe als een extensie van de virtuele machine. Zoek de resource voor virtuele-machineschaalsets: resources>"apiVersion": "[variables('vmssApiVersion')]" . Voeg onder properties>virtualMachineProfile>extensionProfile>extensions de volgende beschrijving van de extensie toe onder de extensie 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. Voeg de Log Analytics-werkruimte toe als afzonderlijke resource. Voeg in resources, na de resource voor de virtuele-machineschaalsets, het volgende toe:

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

Hier vindt u een voorbeeldsjabloon (gebruikt in deel één van deze zelfstudie) die al deze wijzigingen bevat en die u zo nodig kunt raadplegen. Dankzij deze wijzigingen wordt er een Log Analytics-werkruimte aan de resourcegroep toegevoegd. De werkruimte wordt geconfigureerd zodat Service Fabric-platformgebeurtenissen kunnen worden opgehaald uit de opslagtabellen die met de Windows Azure Diagnostics-agent zijn geconfigureerd. De Log Analytics-agent (MMA) is ook aan elk knooppunt in het cluster toegevoegd als een extensie van de virtuele machine. Dit betekent dat als het cluster wordt geschaald, de agent automatisch op elke machine wordt geconfigureerd en aan dezelfde werkruimte gekoppeld.

Implementeer de sjabloon met de nieuwe wijzigingen om het huidige cluster bij te werken. U ziet de log analytics-resources in uw resourcegroep wanneer deze is voltooid. Als het cluster klaar is, implementeert u er de containertoepassing in. In de volgende stap, wordt het bewaken van de containers ingesteld.

Containerbewakingsoplossing toevoegen aan de Log Analytics-werkruimte

Als u de Container-oplossing in uw werkruimte wilt instellen, zoekt u naar Containerbewakingsoplossing en maakt u een Containers-resource (onder de categorie Bewaking + Management).

Containers-oplossing toevoegen

Als u er door de Log Analytics-werkruimte om wordt gevraagd, selecteert u de werkruimte die in uw resourcegroep is gemaakt en selecteert u Maken. Hiermee wordt een containerbewakingsoplossing aan uw werkruimte toegevoegd, waarbij de Log Analytics-agent wordt geïnitieerd die door de sjabloon is geïmplementeerd om docker-logboeken en -statistieken te verzamelen.

Ga terug naar uw resourcegroep, waar u nu de pas toegevoegde bewakingsoplossing moet kunnen zien. Als u dit selecteert, moet op de startpagina het aantal containerinstallatiekopieën dat wordt uitgevoerd, worden weergegeven.

Houd er rekening mee dat er 5 exemplaren van de fabrikam-container uit deel 2 van de zelfstudie zijn uitgevoerd

Startpagina containeroplossing

Als u Container Monitor Solution selecteert, komt u terecht op een dashboard met meer details. Hier kunt u door meerdere panelen schuiven en query's in Azure Monitor-logboeken uitvoeren.

Aangezien de agent docker-logboeken ophaalt, worden stdout en stderr standaard weergegeven. Als u horizontaal schuift, ziet u de voorraad, de status en de metrische gegevens met betrekking tot containerinstallatiekopieën. Ook ziet u query's die u kunt uitvoeren voor meer nuttige gegevens.

Dashboard Containeroplossing

Als u op een van deze panelen klikt, komt u terecht bij de Kusto-query die de weergegeven waarde genereert. Wijzig de query in * om alle verschillende soorten logboeken te bekijken die worden opgehaald. Hier kunt u query's uitvoeren of filteren op de prestaties en logboeken van de container, of Service Fabric-platformgebeurtenissen bekijken. De agenten zenden ook continu een heartbeat van elk knooppunt uit. Hieraan kunt u zien dat er nog steeds gegevens worden verzameld van alle computers als de clusterconfiguratie wordt gewijzigd.

Containerquery

Log Analytics-agent configureren voor het ophalen van prestatiemeteritems

Een ander voordeel van het gebruik van de Log Analytics-agent is de mogelijkheid om de prestatiemeteritems te wijzigen die u wilt ophalen via de Log Analytics-gebruikersinterface. U hoeft dan de Azure diagnoseagent niet te configureren en geen op een Resource Manager-sjabloon gebaseerde upgrade uit te voeren. Als u dit wilt doen, selecteert u OMS-werkruimte op de startpagina van uw Container Monitoring- of Service Fabric-oplossing.

Hierna komt u terecht in de Log Analytics-werkruimte, waar u uw oplossingen kunt zien, aangepaste dashboards kunt maken en de Log Analytics-agent kunt configureren.

  • Selecteer Geavanceerde instellingen om het menu Geavanceerde instellingen te openen.
  • Selecteer Verbonden bronnen>Windows Servers om te controleren of er 5 Windows-computers verbonden zijn.
  • Selecteer Gegevens>Windows-prestatiemeteritems om nieuwe prestatiemeteritems te zoeken en toe te voegen. Hier ziet u een lijst met aanbevelingen van Azure Monitor-logboeken voor prestatiemeteritems die u kunt verzamelen, evenals de optie om andere tellers te zoeken. Controleer of processor(_Total)% processortijd en geheugen(*)\Beschikbare MBytes-tellers worden verzameld.

vernieuwt u binnen enkele minuten de containerbewakingsoplossing en komen de gegevens van Computerprestaties binnen. Hierdoor krijgt u inzicht in het gebruik van uw resources. U kunt deze metrische gegevens ook gebruiken om de juiste beslissingen te maken over het schalen van het cluster of om te bevestigen dat een cluster de belasting op de juiste wijze verdeelt.

Opmerking: controleer of de tijdfilters goed zijn ingesteld voor deze metrische gegevens.

Prestatiemeteritems 2

Volgende stappen

In deze zelfstudie heeft u het volgende geleerd:

  • Azure Monitor logboeken configureren voor uw Service Fabric-cluster
  • Een Log Analytics-werkruimte gebruiken om logboeken te bekijken en te doorzoeken vanuit uw containers en knooppunten
  • De Log Analytics-agent configureren om metrische gegevens uit containers en knooppunten te halen

Nu u bewaking hebt geconfigureerd voor uw containertoepassing, kunt u:

  • De Azure Monitor-logboeken configureren voor een Linux-cluster, volgens soortgelijke stappen als in deze zelfstudie. Raadpleeg Deze sjabloon om wijzigingen in de Resource Manager-sjabloon aan te brengen.
  • Azure Monitor-logboeken configureren om automatische waarschuwingen in te stellen voor detectie en diagnostiek.
  • De lijst met aanbevolen prestatiemeteritems van Service Fabric onderzoeken om deze voor uw clusters te configureren.
  • Vertrouwd raken met de functies zoeken in logboeken en query's uitvoeren die als onderdeel van Azure Monitor-logboeken worden aangeboden.