Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och frivillig registrering. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. AKS-förhandsversioner stöds delvis av kundsupport efter bästa förmåga. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:
Azure Kubernetes Application Network innehåller två typer av loggning som du kan konfigurera baserat på dina övervaknings- och felsökningskrav: dataplansloggar och kontrollplansloggar.
-
Dataplansloggar: Inkludera loggar från programarbetsbelastningar,
applink-systemnamnområdeskomponenter och envoyproxyåtkomstloggar. - Kontrollplansloggar: Inkludera Istiod-loggar från kontrollplanskomponenterna för Azure Kubernetes Application Network.
Loggning av Azure Kubernetes-programnätverk är inaktiverad som standard. Den här artikeln beskriver hur du aktiverar båda typerna av loggning och visar dem i Azure Monitor.
Ange miljövariabler
Ange miljövariabler för det valda arbetsflödet med hjälp av följande kommandon:
# 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>
Aktivera dataplansloggar
Dataplansloggar innehåller loggar från dina arbetsbelastningar/program och applink-system arbetsbelastningar (Ztunnel och Istio CNI). Azure Container Insights-tillägget är det bästa sättet att aktivera och visa loggar för felsökning.
När du aktiverar dataplansloggar kan du ange en befintlig Log Analytics-arbetsyta, använda standardarbetsytan för resursgruppen eller skapa en ny arbetsyta.
Skapa en ny Log Analytics-arbetsyta
Om du skapar en ny Log Analytics-arbetsyta använder du
az monitor log-analytics workspace createkommandot:az monitor log-analytics workspace create \ --resource-group $AKS_RG \ --workspace-name $LAW_NAME \ --location $LOCATION
Aktivera Container Insights-tillägg i ditt AKS-kluster
Aktivera Container Insights-tillägget för ditt Azure Kubernetes Application Network-medlemskluster (om du vill utelämna arbetsytans ID) med hjälp av
az aks enable-addonskommandot .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
Visa loggar
Visa loggarna genom att gå till Log Analytics-arbetsytan och köra följande fråga:
ContainerLogV2 | where PodNamespace == "applink-system"
Åtkomstloggar för Envoy
I vissa fall kan du behöva undersöka Envoy-åtkomstloggar när trafik genereras för dina program/arbetsbelastningar. Om du vill aktivera Envoy-åtkomstloggar använder du telemetri-API:et.
I YAML nedan anger du det namnområde där du vill aktivera Envoy-åtkomstloggning. För mesh-wide Envoy-åtkomstloggar tar du bort namnområdet från metadata.
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 EOFEnvoy-åtkomstloggar kommer att vara tillgängliga på Log Analytics-arbetsytan där Container Insights-tillägget aktiverades.
Visa åtkomstloggarna för Envoy genom att gå till Log Analytics-arbetsytan och köra följande fråga:
ContainerLogV2 | where TimeGenerated > ago(45m) | where PodName contains "gateway" | take 10
Aktivera kontrollplansloggar
Om du vill aktivera kontrollplansloggar skapar du en diagnostikinställning och skickar loggar till Log Analytics-arbetsytan.
Ange en miljövariabel för namnet på diagnostikinställningen med hjälp av följande kommando:
export DS_NAME=<diagnostic-settings-name>Skapa en diagnostikinställning för din Azure Kubernetes Application Network-medlemsresurs och ange Log Analytics-arbetsytan som mål med kommandot
az monitor diagnostic-settings create.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_NAMENär du är aktiverad navigerar du till Log Analytics-arbetsytan och kör följande fråga:
Anmärkning
$appnet_member_resourceIdska vara i formatet:/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
Loggtabeller och schema
Följande tabeller innehåller Azure Kubernetes Application Network-loggar på din Log Analytics-arbetsyta:
| Logaritmtabell | Beskrivning |
|---|---|
ContainerLogV2 |
Innehåller dina program-/arbetsbelastningsloggar |
MeshControlPlane |
Innehåller Istiod-loggar |
Skema
Information om hur du hittar schemat finns i ContainerLogV2ContainerLogV2-kolumner.
MeshControlPlane är en anpassad tabell med följande schema:
| # | Kolumnnamn | Type |
|---|---|---|
| 0 | Hyresgivares-id | snöre |
| 1 | TimeGenerated | datetime |
| 2 | Kategori | snöre |
| 3 | Nivå | snöre |
| 4 | Message | snöre |
| 5 | Behållare | snöre |
| 6 | Podnamn | snöre |
| 7 | Källsystem | snöre |
| 8 | Type | snöre |
| 9 | _ResourceId | snöre |
Exempelfrågor
Filtrera loggar efter RESURS-ID för AKS-kluster
Filtrera loggar baserat på ditt AKS-hanterade klusterresurs-ID i tabellen ContainerLogV2 med hjälp av följande fråga:
ContainerLogV2 | where TimeGenerated > ago(45m) | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
Filtrera loggar efter Azure Kubernetes Application Network-medlemsresurs-ID
Filtrera loggar baserat på ditt azure Kubernetes Application Network-medlemsresurs-ID i tabellen MeshControlPlane för kontrollplansloggar med hjälp av följande fråga:
MeshControlPlane | where TimeGenerated > ago(45m) | where Level == "ERROR" | where _ResourceId == $appnet_member_resourceId // appnet member resourceIdFöljande skärmbild visar ett exempel på Istiod-fel för programnätverk i Azure Monitor-loggar:
Relaterat innehåll
Mer information om observerbarhet och övervakning av Azure Kubernetes-programnätverk finns i följande artiklar: