Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Le funzionalità di anteprima di AKS sono disponibili su base self-service, su scelta. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime del servizio Azure Kubernetes sono parzialmente coperte dal supporto clienti con la massima diligenza possibile. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:
Azure Kubernetes Application Network offre due tipi di registrazione che è possibile configurare in base ai requisiti di monitoraggio e risoluzione dei problemi: log del piano dati e log del piano di controllo.
-
Log del piano dati: includere i log dai carichi di lavoro dell'applicazione,
applink-systemdai componenti dello spazio dei nomi e dai log di accesso al proxy Envoy. - Log del piano di controllo: includere i log Istiod dai componenti del piano di controllo della rete delle applicazioni di Azure Kubernetes.
La registrazione della rete dell'applicazione Azure Kubernetes è disabilitata per impostazione predefinita. Questo articolo descrive come abilitare entrambi i tipi di registrazione e visualizzarli in Monitoraggio di Azure.
Impostare le variabili di ambiente
Impostare le variabili di ambiente per il flusso di lavoro selezionato usando i comandi seguenti:
# 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>
Abilitare i log del piano dati
I log del piano dati includono i log dai tuoi carichi di lavoro/applicazioni e dai carichi di lavoro di applink-system (Ztunnel e Istio CNI). Il componente aggiuntivo Azure Container Insights è il modo migliore per abilitare e visualizzare i log per la risoluzione dei problemi.
Quando si abilitano i log del piano dati, è possibile specificare un'area di lavoro Log Analytics esistente, usare l'area di lavoro predefinita per il gruppo di risorse o creare una nuova area di lavoro.
Creare una nuova area di lavoro Log Analytics
Se si crea una nuova area di lavoro Log Analytics, usare il
az monitor log-analytics workspace createcomando :az monitor log-analytics workspace create \ --resource-group $AKS_RG \ --workspace-name $LAW_NAME \ --location $LOCATION
Abilita l'add-on Container Insights nel tuo cluster AKS
Abilitare il componente aggiuntivo Container Insights per il cluster membro della rete applicazioni di Azure Kubernetes (facoltativamente omettendo l'ID area di lavoro) usando il
az aks enable-addonscomando .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
Visualizza i log
Visualizzare i log passando all'area di lavoro Log Analytics ed eseguendo la query seguente:
ContainerLogV2 | where PodNamespace == "applink-system"
Log di accesso di Envoy
In alcuni casi, potrebbe essere necessario esaminare i log di accesso di Envoy quando viene generato il traffico per le applicazioni o i carichi di lavoro. Per abilitare i log di accesso di Envoy, usare l'API telemetria.
Nel codice YAML seguente specificare lo spazio dei nomi in cui si vuole abilitare la registrazione degli accessi di Envoy. Per i log di accesso di Envoy a livello di mesh, rimuovere lo spazio dei nomi dai metadati.
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 EOFI log di accesso di Envoy saranno disponibili nell'area di lavoro Log Analytics in cui è stato abilitato il componente aggiuntivo Container Insights.
Visualizzare i log di accesso di Envoy passando all'area di lavoro Log Analytics ed eseguendo la query seguente:
ContainerLogV2 | where TimeGenerated > ago(45m) | where PodName contains "gateway" | take 10
Abilitare i log del piano di controllo
Per abilitare i log del piano di controllo, creare un'impostazione di diagnostica e inviare i log all'area di lavoro Log Analytics.
Impostare una variabile di ambiente per il nome dell'impostazione di diagnostica usando il comando seguente:
export DS_NAME=<diagnostic-settings-name>Creare un'impostazione di diagnostica per la risorsa membro della rete dell'applicazione Azure Kubernetes e specificare l'area di lavoro Log Analytics come destinazione usando il
az monitor diagnostic-settings createcomando .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_NAMEDopo l'abilitazione, passare all'area di lavoro Log Analytics ed eseguire la query seguente:
Annotazioni
$appnet_member_resourceIddeve essere nel formato :/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
Tabelle di log e schema
Le tabelle seguenti contengono i log di rete delle applicazioni di Azure Kubernetes nell'area di lavoro Log Analytics:
| Tabella di log | Descrizione |
|---|---|
ContainerLogV2 |
Contiene i log dell'applicazione/del carico di lavoro |
MeshControlPlane |
Contiene log Istiod |
Schema
Per trovare lo ContainerLogV2 schema, vedere Colonne ContainerLogV2.
MeshControlPlane è una tabella personalizzata con lo schema seguente:
| # | Nome della colonna | Tipo |
|---|---|---|
| 0 | ID dell'inquilino | string |
| 1 | TimeGenerated | datetime |
| 2 | Categoria | string |
| 3 | livello | string |
| 4 | Message | string |
| 5 | Contenitore | string |
| 6 | PodName | string |
| 7 | SourceSystem | string |
| 8 | Tipo | string |
| 9 | _ResourceId | string |
Interrogazioni di esempio
Filtrare i log in base all'ID risorsa del cluster AKS
Filtrare i log in base all'ID risorsa del cluster gestito AKS nella tabella ContainerLogV2 utilizzando la query seguente:
ContainerLogV2 | where TimeGenerated > ago(45m) | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
Filtrare i log in base all'ID della risorsa membro di Azure Kubernetes Application Network
Filtrare i log in base all'ID della risorsa del membro della Rete Applicazione Azure Kubernetes nella tabella MeshControlPlane per i log del piano di controllo, utilizzando la seguente query:
MeshControlPlane | where TimeGenerated > ago(45m) | where Level == "ERROR" | where _ResourceId == $appnet_member_resourceId // appnet member resourceIdLo screenshot seguente mostra un esempio di errori della rete dell'applicazione Istiod nei log di Azure Monitor:
Contenuti correlati
Per altre informazioni sull'osservabilità e il monitoraggio della rete di applicazioni di Azure Kubernetes, vedere gli articoli seguenti: