Partager via


Tutoriel : surveiller des conteneurs Windows sur Service Fabric avec les journaux Azure Monitor

Il s’agit de la troisième partie d’un tutoriel, qui vous guide dans la configuration des journaux Azure Monitor pour superviser vos conteneurs Windows orchestrés sur Service Fabric.

Dans ce tutoriel, vous allez apprendre à :

  • configurer les journaux Azure Monitor pour votre cluster Service Fabric ;
  • utiliser un espace de travail Log Analytics pour afficher et interroger des journaux d’activité à partir de vos conteneurs et de vos nœuds ;
  • configurer l’agent Log Analytics pour collecter des mesures sur les conteneurs et les nœuds.

Prérequis

Avant de commencer ce didacticiel, vous devez :

Configurer les journaux Azure Monitor avec un cluster dans le modèle Resource Manager

Si vous avez utilisé le modèle fourni dans la première partie de ce didacticiel, il devrait normalement inclure les ajouts suivants à un modèle Azure Resource Manager Service Fabric générique. Si vous cherchez à configurer votre propre cluster pour surveiller des conteneurs avec les journaux d’activité Azure Monitor :

  • Apportez les modifications suivantes à votre modèle Resource Manager.
  • Déployez-le avec PowerShell pour mettre à niveau votre cluster en déployant le modèle. Azure Resource Manager se rend compte que la ressource existe, et par conséquent la déploie comme une mise à niveau.

Ajout de journaux Azure Monitor à votre modèle de cluster

Apportez les modifications suivantes à votre template.json :

  1. Ajoutez le nom et l’emplacement de l’espace de travail Log Analytics à votre section 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"
      }
    }
    

    Pour modifier l’une des deux valeurs utilisées, ajoutez les mêmes paramètres à votre template.parameters.json et modifiez-y les valeurs utilisées.

  2. Ajouter le nom de la solution et la solution à vos variables :

    "omsSolutionName": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]",
    "omsSolution": "ServiceFabric"
    
  3. Ajoutez Microsoft Monitoring Agent comme extension de machine virtuelle. Recherchez la ressource Virtual Machine Scale Sets : resources>"apiVersion": "[variables(’vmssApiVersion’)]". Sous properties>virtualMachineProfile>extensionProfile>extensions, ajoutez la description de l’extension suivante sous l’extension 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. Ajoutez l’espace de travail Log Analytics en tant que ressource individuelle. Dans resources, après la ressource des groupes de machines virtuelles identiques, ajoutez le code suivant :

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

Vous trouverez ici un exemple de modèle (utilisé dans la première partie de ce didacticiel) comportant toutes ces modifications, que vous pouvez référencer selon vos besoins. Ces modifications ajoutent un espace de travail Log Analytics à votre groupe de ressources. L’espace de travail est configuré pour collecter les événements de la plateforme Service Fabric à partir des tables de stockage configurées avec l’agent Diagnostics Microsoft Azure. L’agent Log Analytics (Microsoft Monitoring Agent) a également été ajouté à chaque nœud de votre cluster comme extension de machine virtuelle. Ainsi, quand vous mettez à l’échelle votre cluster, l’agent est automatiquement configuré sur chaque machine et raccordé au même espace de travail.

Déployez le modèle avec vos nouvelles modifications pour mettre à niveau votre cluster actuel. Vous devriez voir les ressources Log Analytics dans votre groupe de ressources une fois le processus terminé. Lorsque le cluster est prêt, déployez-y votre application en conteneur. À l’étape suivante, nous allons configurer la surveillance des conteneurs.

Ajouter la solution de supervision de conteneurs à un espace de travail Log Analytics

Pour configurer la solution Conteneur dans votre espace de travail, recherchez Solution de supervision de conteneurs et créez une ressource Conteneurs (sous la catégorie Monitorage + gestion).

Ajout de la solution Conteneurs

Quand vous êtes invité à choisir l’espace de travail Log Analytics, sélectionnez l’espace de travail qui a été créé dans votre groupe de ressources, puis sélectionnez Créer. Une solution de supervision de conteneurs est alors ajoutée à votre espace de travail, et l’agent Log Analytics déployé par le modèle commence à collecter les journaux d’activité et les statistiques Docker.

Revenez à votre groupe de ressources, où vous devriez à présent voir la solution de supervision qui vient d’être ajoutée. Si vous la sélectionnez, la page de destination doit afficher le nombre d’images conteneurs en cours d’exécution.

Notez que nous avons exécuté cinq instances du conteneur fabrikam de la deuxième partie du tutoriel

Si vous sélectionnez la solution de surveillance des conteneurs, vous accédez à un tableau de bord plus détaillé, qui vous permet de parcourir plusieurs panneaux et d’exécuter des requêtes dans les journaux d’activité Azure Monitor.

Étant donné que l’agent collecte des journaux d’activité Docker, il affiche par défaut stdout et stderr. Si vous faites défiler horizontalement, vous pouvez voir l’inventaire des images conteneur, l’état, les indicateurs de performance et des exemples de requêtes que vous pouvez exécuter pour obtenir d’autres données utiles.

Tableau de bord de la solution Conteneur

La sélection de l’un de ces panneaux vous amène à la requête Kusto qui génère la valeur affichée. Modifiez la requête avec * pour afficher les différents types de journaux d’activité collectés. À ce stade, vous pouvez interroger ou filtrer sur les performances du conteneur ou les journaux d’activité, ou bien examiner les événements de la plateforme Service Fabric. Vos agents émettent en permanence une pulsation sur chaque nœud, que vous pouvez examiner pour vérifier que les données sont toujours collectées sur toutes vos machines si votre configuration de clusters change.

Requête de conteneur

Configurer l’agent Log Analytics de façon à collecter des compteurs de performances

Le fait de pouvoir modifier les compteurs de performances que vous souhaitez collecter par le biais de l’expérience utilisateur Log Analytics est un autre avantage de l’agent Log Analytics. Vous n’êtes donc pas obligé de configurer l’agent de diagnostics Azure ni d’effectuer une mise à niveau basée sur le modèle Resource Manager à chaque fois. Pour cela, sélectionnez l’espace de travail OMS dans la page de destination de votre solution de supervision de conteneurs (ou Service Fabric).

Vous accédez ainsi à votre espace de travail Log Analytics où vous pouvez consulter vos solutions, créer des tableaux de bord personnalisés et configurer l’agent Log Analytics.

  • Sélectionnez Paramètres avancés pour ouvrir le menu Paramètres avancés.
  • Sélectionnez Sources connectées>Serveurs Windows pour vérifier que vous avez cinq ordinateurs Windows connectés.
  • Sélectionnez Données>Compteurs de performances Windows pour rechercher et ajouter de nouveaux compteurs de performances. Vous verrez une liste de recommandations, fournie par les journaux d’activité Azure Monitor, de compteurs de performances dont vous pouvez recueillir les informations. Vous avez également la possibilité de rechercher d’autres compteurs. Vérifiez que les compteurs Processor(_Total) Processor Time et Memory(*)\Available MBytes sont collectés.

Actualisez votre solution de surveillance de conteneurs après quelques minutes : vous devriez commencer à voir arriver des données relatives aux Performances de l’ordinateur. Cela vous aidera à comprendre comment vos ressources sont utilisées. Vous pouvez également utiliser ces mesures pour prendre les décisions adaptées quant à la mise à l’échelle de votre cluster, ou pour vérifier qu’un cluster équilibre votre charge comme prévu.

Remarque : Vérifiez que vos filtres temporels sont définis de façon à vous permettre d’utiliser ces mesures.

Compteurs de performances 2

Étapes suivantes

Dans ce didacticiel, vous avez appris à :

  • configurer les journaux Azure Monitor pour votre cluster Service Fabric ;
  • utiliser un espace de travail Log Analytics pour afficher et interroger des journaux d’activité à partir de vos conteneurs et de vos nœuds ;
  • configurer l’agent Log Analytics pour collecter des mesures sur les conteneurs et les nœuds.

Maintenant que vous avez configuré la supervision de votre application en conteneur, essayez les opérations suivantes :

  • Configurez les journaux Azure Monitor pour un cluster Linux en suivant les mêmes étapes que ce tutoriel. Référencez ce modèle pour apporter des modifications à votre modèle Resource Manager.
  • Configurez les journaux Azure Monitor pour paramétrer l’alerte automatisée afin de faciliter la détection et les diagnostics.
  • Explorez la liste Service Fabric de compteurs de performances recommandés à configurer pour vos clusters.
  • Familiarisez-vous avec les fonctionnalités de requêtes et recherches dans les journaux proposées par les journaux Azure Monitor.