Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "jak jsou" a "podle aktuální dostupnosti" a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:
Aplikační síť Azure Kubernetes poskytuje dva typy protokolování, které můžete nakonfigurovat na základě požadavků na monitorování a řešení potíží: protokoly roviny dat a protokoly řídicí roviny.
-
Protokoly roviny dat: Zahrňte protokoly z aplikačních úloh,
applink-systemkomponent oboru názvů a protokolů přístupu proxy serveru Envoy. - Protokoly řídicí roviny: Zahrnout protokoly Istiod z komponent řídicí roviny aplikační sítě Azure Kubernetes.
Protokolování sítě aplikací Azure Kubernetes je ve výchozím nastavení zakázané. Tento článek popisuje, jak povolit oba typy protokolování a zobrazit je ve službě Azure Monitor.
Nastavení proměnných prostředí
Pomocí následujících příkazů nastavte proměnné prostředí pro vybraný pracovní postup:
# 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>
Povolení protokolů roviny dat
Protokoly roviny dat zahrnují protokoly z vašich úloh nebo aplikací a applink-system úloh (Ztunnel a Istio CNI). Doplněk Azure Container Insights je upřednostňovaným způsobem povolení a zobrazení protokolů pro řešení potíží.
Při povolování protokolů roviny dat máte možnost zadat existující pracovní prostor služby Log Analytics, použít výchozí pracovní prostor pro vaši skupinu prostředků nebo vytvořit nový pracovní prostor.
Vytvoření nového pracovního prostoru služby Log Analytics
Pokud vytváříte nový pracovní prostor služby Log Analytics, použijte tento
az monitor log-analytics workspace createpříkaz:az monitor log-analytics workspace create \ --resource-group $AKS_RG \ --workspace-name $LAW_NAME \ --location $LOCATION
Povolení doplňku Container Insights v clusteru AKS
Povolte doplněk Container Insights pro váš členský cluster Azure Kubernetes Application Network, a to volitelně bez ID pracovního prostoru, pomocí příkazu
az aks enable-addons.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
Zobrazit protokoly
Prohlédněte si protokoly tak, že přejdete do pracovního prostoru služby Log Analytics a spustíte následující dotaz:
ContainerLogV2 | where PodNamespace == "applink-system"
Protokoly přístupu Envoy
V některých případech možná budete muset prozkoumat protokoly přístupu Envoy, když se generuje provoz pro vaše aplikace nebo úlohy. Pokud chcete povolit protokoly přístupu Envoy, použijte rozhraní API Telemetrie.
V souboru YAML níže zadejte obor názvů, ve kterém chcete povolit přístupové logování Envoy. Pro přístupové protokoly Envoy v rámci celé sítě odeberte obor názvů z metadat.
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 EOFProtokoly přístupu Envoy budou k dispozici v pracovním prostoru Log Analytics, kde byl povolen doplněk Container Insights.
Zobrazte protokoly přístupu envoy tak, že přejdete do pracovního prostoru služby Log Analytics a spustíte následující dotaz:
ContainerLogV2 | where TimeGenerated > ago(45m) | where PodName contains "gateway" | take 10
Povolení protokolů řídicí roviny
Pokud chcete povolit protokoly řídicí roviny, vytvoříte nastavení diagnostiky a odešlete protokoly do pracovního prostoru služby Log Analytics.
Pomocí následujícího příkazu nastavte proměnnou prostředí pro název nastavení diagnostiky:
export DS_NAME=<diagnostic-settings-name>Vytvořte nastavení diagnostiky pro prostředek člena aplikační sítě Azure Kubernetes a pomocí příkazu zadejte pracovní prostor služby Log Analytics jako cíl
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_NAMEPo povolení přejděte do pracovního prostoru služby Log Analytics a spusťte následující dotaz:
Poznámka:
$appnet_member_resourceIdby měla být ve formátu:/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
Tabulky protokolů a schéma
Následující tabulky obsahují protokoly aplikační sítě Azure Kubernetes v pracovním prostoru služby Log Analytics:
| Tabulka logů | Description |
|---|---|
ContainerLogV2 |
Obsahuje vaše aplikace nebo protokoly úloh. |
MeshControlPlane |
Obsahuje protokoly Istiod. |
Schema
Pokud chcete najít ContainerLogV2 schéma, projděte si sloupce ContainerLogV2.
MeshControlPlane je vlastní tabulka s následujícím schématem:
| # | Název sloupce | Typ |
|---|---|---|
| 0 | Identifikátor nájemce (TenantId) | řetězec |
| 1 | TimeGenerated | datetime |
| 2 | Kategorie | řetězec |
| 3 | Úroveň | řetězec |
| 4 | Zpráva | řetězec |
| 5 | Kontejner | řetězec |
| 6 | Název podu | řetězec |
| 7 | SourceSystem | řetězec |
| 8 | Typ | řetězec |
| 9 | _ResourceId (ID zdroje) | řetězec |
Vzorové dotazy
Filtrování protokolů podle ID zdroje clusteru AKS
Pomocí následujícího dotazu vyfiltrujte protokoly na základě ID prostředku spravovaného clusteru AKS v tabulce ContainerLogV2:
ContainerLogV2 | where TimeGenerated > ago(45m) | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
Filtrování protokolů podle ID zdroje člena Azure Kubernetes Application Network
Pomocí následujícího dotazu vyfiltrujte protokoly na základě ID prostředku člena aplikační sítě Azure Kubernetes v tabulce MeshControlPlane pro protokoly roviny řízení:
MeshControlPlane | where TimeGenerated > ago(45m) | where Level == "ERROR" | where _ResourceId == $appnet_member_resourceId // appnet member resourceIdNásledující snímek obrazovky ukazuje příklad chyb aplikace Istiod v protokolech služby Azure Monitor.
Související obsah
Další informace o pozorovatelnosti a monitorování aplikační sítě Azure Kubernetes najdete v následujících článcích: