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.

Notes

Cet article a récemment été mis à jour pour utiliser le terme journaux d’activité Azure Monitor au lieu de Log Analytics. Les données de journal sont toujours stockées dans un espace de travail Log Analytics, et elles sont toujours collectées et analysées par le même service Log Analytics. Nous mettons la terminologie à jour pour mieux refléter le rôle des journaux d’activité dans Azure Monitor. Pour plus d'informations, consultez Modifications de la terminologie d'Azure Monitor.

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, au contraire, vous cherchez à configurer votre propre cluster pour surveiller des conteneurs avec les journaux 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 des groupes de machines virtuelles identiques : 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 ajouteront un espace de travail Log Analytics à votre groupe de ressources. L’espace de travail sera configuré pour collecter les événements de la plateforme Service Fabric à partir des tables de stockage configurées avec l’agent Diagnostics Azure pour Windows. 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 le monitorage 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

Page de destination de la solution Conteneur

Si vous sélectionnez la solution de supervision de conteneurs, vous accédez à un tableau de bord plus détaillé, ce qui vous permet de parcourir plusieurs panneaux et d’exécuter des requêtes dans les journaux 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 métriques 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

Si vous cliquez sur l’un de ces panneaux, vous accéderez à 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 Azure Monitor, de compteurs de performances que vous pouvez recueillir. 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 supervision de conteneurs après quelques minutes : vous devriez commencer à voir arriver des données Performances de l’ordinateur. Cela vous aidera à comprendre l’utilisation des ressources. 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.