Tutorial: Überwachen von Windows-Containern unter Service Fabric mit Azure Monitor-Protokollen
Dieser dritte Teil einer Tutorialreihe führt Sie schrittweise durch das Konfigurieren von Azure Monitor-Protokollen für die Überwachung Ihrer in Service Fabric orchestrierten Windows-Container.
In diesem Tutorial lernen Sie Folgendes:
- Konfigurieren von Azure Monitor-Protokollen für Ihren Service Fabric-Cluster
- Verwenden eines Log Analytics-Arbeitsbereichs zum Anzeigen und Abfragen von Protokollen Ihrer Container und Knoten
- Konfigurieren des Log Analytics-Agents für die Erfassung von Container- und Knotenmetriken
Voraussetzungen
Bevor Sie mit diesem Tutorial beginnen, sollten folgende Voraussetzungen erfüllt sein:
- Sie besitzen einen Cluster in Azure oder erstellen ihn mit diesem Tutorial
- Sie stellen eine Containeranwendung dafür bereit
Einrichten von Azure Monitor-Protokollen mit Ihrem Cluster in der Resource Manager-Vorlage
Falls Sie die im ersten Teil dieses Tutorials bereitgestellte Vorlage verwendet haben, sollte sie die folgenden Ergänzungen einer generischen Service Fabric Azure Resource Manager-Vorlage enthalten. Falls Sie über einen eigenen Cluster verfügen, den Sie zur Überwachung von Containern mit Azure Monitor-Protokollen einrichten möchten, gehen Sie wie folgt vor:
- Nehmen Sie die folgenden Änderungen an Ihrer Resource Manager-Vorlage vor.
- Stellen Sie sie mithilfe von PowerShell bereit, um Ihren Cluster durch Bereitstellen der Vorlage zu aktualisieren. Azure Resource Manager erkennt, dass die Ressource vorhanden ist, und gibt sie als Upgrade aus.
Hinzufügen von Azure Monitor-Protokollen zu Ihrer Clustervorlage
Nehmen Sie die folgenden Änderungen in Ihrer template.json-Datei vor:
Fügen Sie den Standort und den Namen des Log Analytics-Arbeitsbereichs dem Abschnitt parameters hinzu:
"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" } }
Um einen beliebigen der beiden Werte zu ändern, fügen Sie dieselben Parameter Ihrer template.parameters.json-Datei hinzu, und ändern Sie die dort verwendeten Werte.
Fügen Sie den Namen der Lösung und die Lösung Ihren Variablen hinzu:
"omsSolutionName": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]", "omsSolution": "ServiceFabric"
Fügen Sie Microsoft Monitoring Agent als VM-Erweiterung hinzu. Suchen Sie die Ressource für VM Scale Sets: resources>"apiVersion": "[variables('vmssApiVersion')]". Fügen Sie unter properties>virtualMachineProfile>extensionProfile>extensions die folgende Erweiterungsbeschreibung unter der Erweiterung ServiceFabricNode hinzu:
{ "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]" } } },
Fügen Sie den Log Analytics-Arbeitsbereich als einzelne Ressource hinzu. Fügen Sie in resources nach der VM-Skalierungsgruppenressource Folgendes hinzu:
{ "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 finden Sie eine (in Teil 1 dieses Tutorials verwendete) Beispielvorlage, die alle diese Änderungen enthält und Ihnen bei Bedarf als Referenz zur Verfügung steht. Diese Änderungen fügen Ihrer Ressourcengruppe einen Log Analytics-Arbeitsbereich hinzu. Der Arbeitsbereich wird zum Erfassen von Service Fabric-Plattformereignissen aus den Speichertabellen konfiguriert, die mit dem Microsoft Azure-Diagnose-Agent konfiguriert wurden. Der Log Analytics-Agent (Microsoft Monitoring Agent) wurde auch jedem Knoten in Ihrem Cluster als VM-Erweiterung hinzugefügt. Das bedeutet Folgendes: Wenn Sie Ihren Cluster skalieren, wird der Agent automatisch auf jedem Computer konfiguriert und mit demselben Arbeitsbereich verknüpft.
Stellen Sie die Vorlage mit den neuen Änderungen zum Aktualisieren Ihres aktuellen Clusters bereit. Nach Abschluss des Vorgangs sollten die Log Analytics-Ressourcen in Ihrer Ressourcengruppe angezeigt werden. Wenn der Cluster bereit ist, stellen Sie die Containeranwendung darauf bereit. Im nächsten Schritt richten wir die Containerüberwachung ein.
Hinzufügen der Containerüberwachungslösung zu Ihrem Log Analytics-Arbeitsbereich
Um Informationen zum Einrichten der Containerlösung in Ihrem Arbeitsbereich zu erhalten, suchen Sie nach Containerüberwachungslösung, und erstellen Sie eine Ressource „Container“ (unter der Kategorie „Überwachung + Verwaltung“).
Wählen Sie bei Aufforderung zur Eingabe des Log Analytics-Arbeitsbereichs den Arbeitsbereich aus, der in der Ressourcengruppe erstellt wurde, und wählen Sie Erstellen aus. Dadurch wird Ihrem Arbeitsbereich eine Containerüberwachungslösung hinzugefügt, wodurch der von der Vorlage bereitgestellte Log Analytics-Agent das Sammeln von Docker-Protokollen und -Statistiken veranlasst.
Navigieren Sie zurück zu Ihrer Ressourcengruppe, wo Sie jetzt die neu hinzugefügte Überwachungslösung finden sollten. Wenn Sie sie auswählen, sollte auf der Landing Page die Anzahl der von Ihnen ausgeführten Containerimages angezeigt werden.
Beachten Sie, dass fünf Instanzen des fabrikam-Containers aus Teil 2 des Tutorials ausgeführt wurden.
Wenn Sie die Containerüberwachungslösung auswählen, gelangen Sie zu einem ausführlicheren Dashboard, auf dem Sie durch mehrere Bereiche scrollen sowie Abfragen in Azure Monitor-Protokollen ausführen können.
Da der Agent Docker-Protokolle erfasst, werden standardmäßig stdout und stderr angezeigt. Wenn Sie horizontal scrollen, sehen Sie Containerimagebestand, Status, Metriken und Beispielabfragen, die Sie ausführen könnten, um weitere nützliche Daten zu erhalten.
Durch Auswählen eines dieser Bereiche gelangen Sie zu der Kusto-Abfrage, die den angezeigten Wert generiert. Ändern Sie die Abfrage in * , um die verschiedenen Arten von Protokollen anzuzeigen, die erfasst werden. Von hier aus können Sie nach Containerleistung und Protokollen abfragen oder filtern bzw. Service Fabric-Plattformereignisse betrachten. Die Agents geben auch ständig einen Heartbeat von jedem Knoten aus, den Sie sich ansehen können, um sicherzustellen, dass immer noch Daten von allen Computern gesammelt werden, wenn sich Ihre Clusterkonfiguration ändert.
Konfigurieren des Log Analytics-Agents zum Erfassen von Leistungsindikatoren
Ein weiterer Vorteil der Verwendung des Log Analytics-Agent besteht darin, dass die Leistungsindikatoren geändert werden können, die Sie über die Log Analytics-Benutzeroberfläche erfassen möchten, anstatt jedes Mal den Azure-Diagnose-Agent konfigurieren und ein Upgrade auf Basis der Resource Manager-Vorlage durchführen zu müssen. Wählen Sie hierzu auf der Landing Page Ihrer Containerüberwachungslösung (oder Service Fabric-Lösung) die Option OMS-Arbeitsbereich aus.
Daraufhin gelangen Sie zu Ihrem Log Analytics-Arbeitsbereich. Dort können Sie Ihre Lösungen anzeigen, benutzerdefinierte Dashboards erstellen sowie den Log Analytics-Agent konfigurieren.
- Wählen Sie zum Öffnen des Menüs mit den erweiterten Einstellungen Erweiterte Einstellungen aus.
- Wählen Sie Verbundene Quellen>Windows-Server aus, um sicherzustellen, dass fünf Windows-Computer verbunden sind.
- Wählen Sie Daten>Windows-Leistungsindikatoren aus, um neue Leistungsindikatoren zu suchen und hinzuzufügen. Hier sehen Sie eine Liste mit den Empfehlungen aus Azure Monitor-Protokollen für Leistungsindikatoren, die Sie erfassen können, sowie die Option zum Suchen nach anderen Indikatoren. Vergewissern Sie sich, dass die Leistungsindikatoren Processor(_Total)% Prozessorzeit und Memory(*)\Verfügbare MB erfasst werden.
Aktualisieren Sie Ihre Containerüberwachungslösung nach einigen Minuten. Daraufhin sollten Daten zur Computerleistung eingehen. Dies hilft Ihnen zu verstehen, wie Ihre Ressourcen verwendet werden. Sie können diese Metriken auch für entsprechende Entscheidungen zur Skalierung Ihrer Cluster verwenden, oder um zu überprüfen, ob ein Cluster Ihre Last wie erwartet ausgleicht.
Hinweis: Stellen Sie sicher, dass Ihre Zeitfilter gemäß Ihrer Nutzung dieser Metriken festgelegt sind.
Nächste Schritte
In diesem Tutorial haben Sie Folgendes gelernt:
- Konfigurieren von Azure Monitor-Protokollen für Ihren Service Fabric-Cluster
- Verwenden eines Log Analytics-Arbeitsbereichs zum Anzeigen und Abfragen von Protokollen Ihrer Container und Knoten
- Konfigurieren des Log Analytics-Agents für die Erfassung von Container- und Knotenmetriken
Nun haben Sie die Überwachung für Ihre Containeranwendung konfiguriert und können Folgendes versuchen:
- Konfigurieren Sie mithilfe einer ähnlichen Vorgehensweise wie in diesem Tutorial Azure Monitor-Protokolle für einen Linux-Cluster. Nutzen Sie diese Vorlage, um Änderungen in der Resource Manager-Vorlage vorzunehmen.
- Konfigurieren Sie Azure Monitor-Protokolle für die Einrichtung von automatisierten Warnungen zur Unterstützung bei der Erkennung und Diagnose.
- Untersuchen Sie die Service Fabric-Liste der empfohlen Leistungsindikatoren, um Ihre Cluster zu konfigurieren.
- Machen Sie sich mit den Features zur Protokollsuche und -abfrage in Azure Monitor-Protokollen vertraut.