Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les espaces de travail Log Analytics offrent un emplacement centralisé pour stocker et interroger les données de journalisation provenant non seulement des ressources Azure, mais aussi des ressources locales et d’autres environnements cloud. Azure Container Instances comprend une prise en charge intégrée pour l’envoi des journaux et des données d’événements vers les journaux Azure Monitor.
Pour envoyer les données de journal et d’événement d’un groupe de conteneurs aux journaux Azure Monitor, indiquez l’ID et la clé d’un espace de travail Log Analytics existant lors de la configuration d’un groupe de conteneurs.
Les sections suivantes décrivent comment créer un groupe de conteneurs dans lequel la journalisation est activée et comment interroger des journaux. Vous pouvez également mettre à jour un groupe de conteneurs avec un ID d’espace de travail et une clé d’espace de travail pour activer la journalisation.
Note
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 à jour la terminologie pour mieux refléter le rôle des journaux dans Azure Monitor. Consultez les changements apportés à la terminologie d’Azure Monitor pour plus de détails.
Prérequis
Pour activer la journalisation dans vos instances de conteneur, vous avez besoin des éléments prérequis suivants :
Obtenir les informations d’identification de Log Analytics
Azure Container Instances doit disposer d’une autorisation pour envoyer des données à votre espace de travail Log Analytics. Pour accorder cette autorisation et activer la journalisation, vous devez fournir l’ID d’espace de travail Log Analytics et une de ses clés (principale ou secondaire) lorsque vous créez le groupe de conteneurs.
Important
Cette section décrit l’intégration Log Analytics héritée, qui nécessite la clé d’espace de travail. L’intégration héritée présente les limitations suivantes :
- L'espace de travail Log Analytics doit être accessible publiquement (les points de terminaison privés ne sont pas pris en charge).
- L’authentification locale doit être activée sur l’espace de travail.
Pour une intégration plus complète qui prend en charge les points de terminaison privés, envisagez plutôt d’utiliser les paramètres de diagnostic .
Pour obtenir l’ID d’espace de travail Log Analytics et la clé primaire, utilisez la Azure CLI :
# Get the workspace ID
az monitor log-analytics workspace show \
--resource-group <resource-group> \
--workspace-name <workspace-name> \
--query customerId \
--output tsv
# Get the primary shared key
az monitor log-analytics workspace get-shared-keys \
--resource-group <resource-group> \
--workspace-name <workspace-name> \
--query primarySharedKey \
--output tsv
Créer un groupe de conteneurs
Maintenant que vous disposez de l’ID et de la clé primaire de l’espace de travail Log Analytics, vous êtes prêt à créer un groupe de conteneurs dans lequel la journalisation est activée.
Les exemples suivants montrent deux façons de créer un groupe de conteneurs composé d’un seul conteneur fluentd : Azure CLI et Azure CLI avec un modèle YAML. Le conteneur Fluentd produit plusieurs lignes de sortie dans sa configuration par défaut. Comme cette sortie est envoyée à votre espace de travail Log Analytics, elle se prête bien à une démonstration de l’affichage et de l’interrogation des logs.
Déploiement avec l’interface de ligne de commande Azure
Pour effectuer le déploiement avec Azure CLI, spécifiez les paramètres --log-analytics-workspace et --log-analytics-workspace-key dans la commande az container create. Avant d’exécuter la commande suivante, remplacez les deux valeurs de l’espace de travail par celles que vous avez obtenues à l’étape précédente (et mettez à jour le nom du groupe de ressources).
Note
L’exemple suivant extrait une image de conteneur publique depuis Docker Hub. Nous vous recommandons de configurer un secret d’extraction pour vous authentifier avec un compte Docker Hub au lieu d’effectuer une requête d’extraction anonyme. Pour une plus grande fiabilité lors de l’utilisation de contenu public, importez et gérez l’image dans un registre de conteneurs Azure privé. En savoir plus sur l’utilisation des images publiques.
az container create \
--resource-group myResourceGroup \
--name mycontainergroup001 \
--image fluent/fluentd:v1.3-debian-1 \
--log-analytics-workspace <WORKSPACE_ID> \
--log-analytics-workspace-key <WORKSPACE_KEY>
Déployer avec YAML
Utilisez cette méthode si vous préférez déployer des groupes de conteneurs avec YAML. Le code YAML suivant définit un groupe de conteneurs à un seul conteneur. Copiez le YAML dans un nouveau fichier, puis remplacez LOG_ANALYTICS_WORKSPACE_ID et LOG_ANALYTICS_WORKSPACE_KEY par les valeurs que vous avez obtenues à l’étape précédente. Enregistrez le fichier sous le nom deploy-aci.yaml.
Remarque
L’exemple suivant récupère une image de conteneur publique depuis Docker Hub. Nous vous recommandons de configurer un secret de tirage pour vous authentifier avec un compte Docker Hub au lieu d’effectuer un tirage anonyme. Pour une plus grande fiabilité lors de l’utilisation de contenu public, importez et gérez l’image dans un registre de conteneurs Azure privé. En savoir plus sur l’utilisation des images publiques.
apiVersion: 2019-12-01
location: eastus
name: mycontainergroup001
properties:
containers:
- name: mycontainer001
properties:
environmentVariables: []
image: fluent/fluentd:v1.3-debian-1
ports: []
resources:
requests:
cpu: 1.0
memoryInGB: 1.5
osType: Linux
restartPolicy: Always
diagnostics:
logAnalytics:
workspaceId: LOG_ANALYTICS_WORKSPACE_ID
workspaceKey: LOG_ANALYTICS_WORKSPACE_KEY
tags: null
type: Microsoft.ContainerInstance/containerGroups
Ensuite, exécutez la commande suivante pour déployer le groupe de conteneurs. Remplacez myResourceGroup par un groupe de ressources dans votre abonnement (ou créez d’abord un groupe de ressources nommé « myResourceGroup ») :
az container create --resource-group myResourceGroup --name mycontainergroup001 --file deploy-aci.yaml
Vous devriez recevoir peu après l’exécution de la commande une réponse d’Azure contenant les détails du déploiement.
Afficher les journaux d’activité
Une fois le groupe de conteneurs déployé, l’affichage dans le Portail Azure des premières entrées de journal peut prendre plusieurs minutes (jusqu’à 10).
Pour afficher les journaux du groupe de conteneurs dans la table ContainerInstanceLog_CL :
- Accédez à votre espace de travail Log Analytics dans le portail Azure
- Sous Général, sélectionnez Logs
- Tapez la requête suivante :
ContainerInstanceLog_CL | limit 50 - Sélectionnez Exécuter
Vous devez voir plusieurs résultats affichés par la requête. Si vous ne voyez aucun résultat dans un premier temps, patientez quelques minutes, puis sélectionnez le bouton Exécuter pour réexécuter la requête. Par défaut, les entrées de journal sont affichées au format Tableau. Vous pouvez ensuite développer une ligne pour afficher le contenu d’une entrée de journal.
Afficher les événements
Vous pouvez également voir les événements des instances de conteneur dans le portail Azure. Les événements incluent l’heure où l’instance est créée et où elle démarre. Pour afficher les données d’événement dans le tableau ContainerEvent_CL :
- Accédez à votre espace de travail Log Analytics dans le portail Azure
- Sous Général, sélectionnez Journaux
- Tapez la requête suivante :
ContainerEvent_CL | limit 50 - Sélectionnez Exécuter
Vous devez voir plusieurs résultats affichés par la requête. Si vous ne voyez aucun résultat dans un premier temps, patientez quelques minutes, puis sélectionnez le bouton Exécuter pour réexécuter la requête. Par défaut, les entrées sont affichées au format Tableau. Vous pouvez ensuite développer une ligne pour voir le contenu d’une entrée individuelle.
Consulter les journaux du conteneur
Les journaux Azure Monitor incluent un langage de requête complet permettant d’extraire des informations de milliers de lignes de sortie de journal.
La structure de base d’une requête est la table source (dans cet article, ContainerInstanceLog_CL ou ContainerEvent_CL), suivie d’une série d’opérateurs séparés par le caractère de barre verticale (|). Vous pouvez chaîner plusieurs opérateurs pour affiner les résultats et effectuer des fonctions avancées.
Pour voir des exemples de résultats de requête, collez la requête suivante dans la zone de texte de requête, puis sélectionnez le bouton Exécuter pour exécuter la requête. Cette requête affiche toutes les entrées de journal dont le champ « Message » contient le mot « Avertissement » :
ContainerInstanceLog_CL
| where Message contains "warn"
Des requêtes plus complexes sont également prises en charge. Par exemple, cette requête n’affiche que les entrées de journal pour le groupe de conteneurs « mycontainergroup001 » générées au cours de la dernière heure :
ContainerInstanceLog_CL
| where (ContainerGroup_s == "mycontainergroup001")
| where (TimeGenerated > ago(1h))
Schéma de journal
Pour en savoir plus sur le schéma hérité d’Azure Monitor pour Log Analytics, consultez Tables Log Analytics héritées.
Utilisation des paramètres de diagnostic
Utilisez les paramètres de diagnostic pour acheminer les journaux et événements du groupe de conteneurs vers Log Analytics. Cette fonctionnalité offre plusieurs avantages sur l’intégration héritée décrite dans cet article :
- Prise en charge des points de terminaison privés — fonctionne avec les espaces de travail Log Analytics qui utilisent des points de terminaison privés.
- Aucune clé d'espace de travail requise : Azure Resource Manager gère l'authentification. Vous n'avez donc pas besoin de gérer ou de faire pivoter les clés d'espace de travail.
- Tables standard Azure Monitor — les journaux sont envoyés vers des tables standard Azure Monitor au lieu de tables de journaux personnalisées.
Pour en savoir plus, consultez tables Log Analytics dans Azure Monitor.
Étapes suivantes
Journaux d’activité Azure Monitor
Pour plus d’informations sur l’interrogation des journaux d’activité et la configuration d’alertes dans les journaux d’activité Azure Monitor, consultez :
Surveiller le processeur et la mémoire du conteneur
Pour plus d’informations sur la surveillance des ressources processeur et mémoire de l’instance de conteneur, consultez :