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.
Important
Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les versions d'essai sont fournies « en l’état » et « selon disponibilité », et elles sont exclues des contrats de niveau de service et de la garantie limitée. Les versions préliminaires AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Par conséquent, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :
Azure Kubernetes Application Network fournit deux types de journalisation que vous pouvez configurer en fonction de vos exigences de supervision et de résolution des problèmes : les journaux du plan de données et les journaux du plan de contrôle.
-
Journaux du plan de données : Inclure les journaux des charges de travail des applications,
applink-systemdes composants de l'espace de noms et des journaux d'accès du proxy Envoy. - Journaux du plan de contrôle : incluez les journaux Istiod des composants du plan de contrôle de l'Azure Kubernetes Application Network.
La journalisation du réseau d’applications Azure Kubernetes est désactivée par défaut. Cet article explique comment activer les deux types de journalisation et les afficher dans Azure Monitor.
Définir des variables d’environnement
Définissez des variables d’environnement pour votre flux de travail sélectionné à l’aide des commandes suivantes :
# Set if specifying an existing or creating a new Log Analytics workspace export LAW_NAME=<log-analytics-workspace-name> # Set for resource group, location, and AKS cluster name export AKS_RG=<aks-resource-group> export LOCATION=<location> export CLUSTER_NAME=<aks-cluster-name> # Set for Azure Kubernetes Application Network member resource group, name, and member name export APPNET_RG=<appnet-resource-group> export APPNET_NAME=<appnet-name> export APPNET_MEMBER_NAME=<appnet-member-name>
Activer les journaux du plan de données
Les journaux du plan de données incluent les journaux de vos applications et charges de travail, ainsi que les charges de travail applink-system (Ztunnel et Istio CNI). Le module complémentaire Azure Container Insights est le moyen privilégié pour activer et visualiser les journaux de diagnostic pour la résolution des problèmes.
Lorsque vous activez les journaux du plan de données, vous avez la possibilité de spécifier un espace de travail Log Analytics existant, d’utiliser l’espace de travail par défaut pour votre groupe de ressources ou de créer un espace de travail.
Créer un espace de travail Log Analytics
Si vous créez un espace de travail Log Analytics, utilisez la
az monitor log-analytics workspace createcommande suivante :az monitor log-analytics workspace create \ --resource-group $AKS_RG \ --workspace-name $LAW_NAME \ --location $LOCATION
Activer le module complémentaire Container Insights sur votre cluster AKS
Activez le module complémentaire Container Insights pour votre cluster membre Azure Kubernetes Application Network (omettant éventuellement l’ID d’espace de travail) à l’aide de la
az aks enable-addonscommande.az aks enable-addons \ --addon monitoring \ --name $CLUSTER_NAME \ --resource-group $AKS_RG \ --workspace-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME
Afficher les journaux de bord
Affichez les journaux en accédant à l’espace de travail Log Analytics et en exécutant la requête suivante :
ContainerLogV2 | where PodNamespace == "applink-system"
Journaux d’accès Envoy
Dans certains cas, vous devrez peut-être examiner les journaux d’accès Envoy lorsque le trafic est généré pour vos applications/charges de travail. Pour activer les journaux d’accès Envoy, utilisez l’API de télémétrie.
Dans le fichier YAML ci-dessous, spécifiez l’espace de noms dans lequel vous souhaitez activer la journalisation des accès Envoy. Pour les journaux d’accès Envoy à l’échelle du maillage, supprimez l’espace de noms des métadonnées.
cat <<EOF | kubectl apply -n default -f - apiVersion: telemetry.istio.io/v1 kind: Telemetry metadata: name: mesh-logging-default namespace: default spec: accessLogging: - providers: - name: envoy EOFLes journaux d’accès Envoy seront disponibles dans l’espace de travail Log Analytics où le module complémentaire Container Insights a été activé.
Affichez les journaux d’accès Envoy en accédant à l’espace de travail Log Analytics et en exécutant la requête suivante :
ContainerLogV2 | where TimeGenerated > ago(45m) | where PodName contains "gateway" | take 10
Activer les journaux du plan de contrôle
Pour activer les journaux du plan de contrôle, vous créez un paramètre de diagnostic et envoyez des journaux à l’espace de travail Log Analytics.
Définissez une variable d’environnement pour le nom de votre paramètre de diagnostic à l’aide de la commande suivante :
export DS_NAME=<diagnostic-settings-name>Créez un paramètre de diagnostic pour votre ressource membre Azure Kubernetes Application Network et spécifiez l’espace de travail Log Analytics comme destination à l’aide de la
az monitor diagnostic-settings createcommande.az monitor diagnostic-settings create \ --resource /subscriptions/$SUBSCRIPTION/resourceGroups/$APPNET_RG/providers/Microsoft.AppLink/appLinks/$APPNET_NAME/appLinkMembers/$APPNET_MEMBER_NAME \ --workspace /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME \ --logs "[{category:istiod,enabled:true}]" \ --name $DS_NAMEUne fois activé, accédez à l’espace de travail Log Analytics et exécutez la requête suivante :
Note
$appnet_member_resourceIddoit être au format :/subscriptions/$subscription/resourceGroups/$appnet_rg/providers/microsoft.applink/applinks/$appnet_name/applinkmembers/$appnet_member_name.MeshControlPlane | where TimeGenerated > ago(1h) | where _ResourceId == $appnet_member_resourceId // appnet member resourceId
Tables de journal et schéma
Les tableaux suivants contiennent les journaux du réseau d’applications Azure Kubernetes dans votre espace de travail analytique des journaux d'activité :
| Table de journal | Description |
|---|---|
ContainerLogV2 |
Contient les journaux d’activité de votre application/charge de travail |
MeshControlPlane |
Contient des journaux Istiod |
Schema
Pour rechercher le ContainerLogV2 schéma, consultez les colonnes ContainerLogV2.
MeshControlPlane est une table personnalisée avec le schéma suivant :
| # | Nom de colonne | Type |
|---|---|---|
| 0 | Id de locataire | ficelle |
| 1 | TimeGenerated | datetime |
| 2 | Catégorie | ficelle |
| 3 | Niveau | ficelle |
| 4 | Message | ficelle |
| 5 | Conteneur | ficelle |
| 6 | PodName | ficelle |
| 7 | SourceSystem | ficelle |
| 8 | Type | ficelle |
| 9 | _ResourceId (Identifiant de Ressource) | ficelle |
Exemples de requêtes
Filtrer les journaux par ID de ressource de cluster AKS
Filtrez les journaux en fonction de votre ID de ressource de cluster managé AKS dans la table ContainerLogV2 à l’aide de la requête suivante :
ContainerLogV2 | where TimeGenerated > ago(45m) | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
Filtrer les journaux d’activité par ID de ressource membre du réseau d’applications Azure Kubernetes
Filtrez les journaux en fonction de votre ID de ressource membre Azure Kubernetes Application Network dans la table MeshControlPlane pour les journaux du plan de contrôle à l’aide de la requête suivante :
MeshControlPlane | where TimeGenerated > ago(45m) | where Level == "ERROR" | where _ResourceId == $appnet_member_resourceId // appnet member resourceIdLa capture d’écran suivante montre un exemple des erreurs Istiod du réseau d’applications dans les journaux Azure Monitor :
Contenu connexe
Pour plus d’informations sur l’observabilité et la surveillance du réseau d’applications Azure Kubernetes, consultez les articles suivants :