Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Usługa Azure Kubernetes Application Network udostępnia dwa typy rejestrowania, które można skonfigurować na podstawie wymagań dotyczących monitorowania i rozwiązywania problemów: dzienniki płaszczyzny danych i dzienniki płaszczyzny sterowania.
Dzienniki płaszczyzny danych: obejmują dzienniki obciążeń aplikacji, składniki przestrzeni nazw i dzienniki dostępu proxy Envoy. - Dzienniki płaszczyzny sterowania: uwzględnij dzienniki Istiod ze składników płaszczyzny sterowania w sieci aplikacji Platformy Azure Kubernetes.
Rejestrowanie sieci aplikacji platformy Azure Kubernetes jest domyślnie wyłączone. W tym artykule opisano sposób włączania obu typów rejestrowania i wyświetlania ich w usłudze Azure Monitor.
Ustawianie zmiennych środowiskowych
Ustaw zmienne środowiskowe dla wybranego przepływu pracy przy użyciu następujących poleceń:
# 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>
Włącz dzienniki płaszczyzny danych
Dzienniki płaszczyzny danych obejmują dzienniki z obciążeń/aplikacji i applink-system obciążeń (Ztunnel i Istio CNI). Dodatek Azure Container Insights jest preferowanym sposobem włączania i wyświetlania dzienników na potrzeby rozwiązywania problemów.
Podczas włączania dzienników płaszczyzny danych możesz określić istniejący obszar roboczy usługi Log Analytics, użyć domyślnego obszaru roboczego dla grupy zasobów lub utworzyć nowy obszar roboczy.
Tworzenie nowego obszaru roboczego usługi Log Analytics
Jeśli tworzysz nowy obszar roboczy usługi Log Analytics, użyj
az monitor log-analytics workspace createpolecenia :az monitor log-analytics workspace create \ --resource-group $AKS_RG \ --workspace-name $LAW_NAME \ --location $LOCATION
Włącz add-on Container Insights na klastrze AKS.
Włącz dodatek Container Insights dla klastra członkowskiego usługi Azure Kubernetes Application Network (opcjonalnie pomijając identyfikator obszaru roboczego) przy użyciu polecenia
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
Wyświetl dzienniki
Wyświetl dzienniki, przechodząc do obszaru roboczego usługi Log Analytics i uruchamiając następujące zapytanie:
ContainerLogV2 | where PodNamespace == "applink-system"
Dzienniki dostępu do usługi Envoy
W niektórych przypadkach może być konieczne sprawdzenie dzienników dostępu usługi Envoy po wygenerowaniu ruchu dla aplikacji/obciążeń. Aby włączyć dzienniki dostępu Envoy, użyj API Telemetrii.
W poniższym pliku YAML określ przestrzeń nazw, w której chcesz włączyć rejestrowanie dostępu usługi Envoy. W przypadku dzienników dostępu do usługi Envoy obejmującej siatkę usuń przestrzeń nazw z metadanych.
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 EOFDzienniki dostępu usługi Envoy będą dostępne w obszarze roboczym usługi Log Analytics, w którym włączono dodatek Container Insights.
Wyświetl dzienniki dostępu usługi Envoy, przechodząc do obszaru roboczego usługi Log Analytics i uruchamiając następujące zapytanie:
ContainerLogV2 | where TimeGenerated > ago(45m) | where PodName contains "gateway" | take 10
Włącz dzienniki płaszczyzny sterowania
Aby włączyć dzienniki płaszczyzny sterowania, należy utworzyć ustawienie diagnostyczne i wysłać dzienniki do obszaru roboczego usługi Log Analytics.
Ustaw zmienną środowiskową dla nazwy ustawienia diagnostycznego przy użyciu następującego polecenia:
export DS_NAME=<diagnostic-settings-name>Utwórz ustawienie diagnostyczne dla zasobu członkowskiego usługi Azure Kubernetes Application Network i określ obszar roboczy usługi Log Analytics jako miejsce docelowe przy użyciu
az monitor diagnostic-settings createpolecenia .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 włączeniu przejdź do obszaru roboczego usługi Log Analytics i uruchom następujące zapytanie:
Uwaga / Notatka
$appnet_member_resourceIdpowinien mieć 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
Tabele logów i schemat
Poniższe tabele zawierają dzienniki usługi Azure Kubernetes Application Network w obszarze roboczym usługi Log Analytics:
| Tabela logów | Opis |
|---|---|
ContainerLogV2 |
Zawiera dzienniki aplikacji/obciążenia |
MeshControlPlane |
Zawiera dzienniki Istiod |
schemat
Aby znaleźć ContainerLogV2 schemat, zobacz Kolumny ContainerLogV2.
MeshControlPlane jest tabelą niestandardową z następującym schematem:
| # | Nazwa kolumny | Typ |
|---|---|---|
| 0 | Identyfikator najemcy | ciąg |
| 1 | TimeGenerated | data/godzina |
| 2 | Kategoria | ciąg |
| 3 | Level | ciąg |
| 4 | Message | ciąg |
| 5 | Pojemnik | ciąg |
| 6 | PodName | ciąg |
| 7 | System źródłowy | ciąg |
| 8 | Typ | ciąg |
| 9 | _ResourceId (Identyfikator Zasobu) | ciąg |
Przykładowe zapytania
Filtrowanie dzienników według identyfikatora zasobu klastra AKS
Filtruj dzienniki na podstawie identyfikatora zasobu klastra zarządzanego AKS w tabeli ContainerLogV2 przy użyciu następującego zapytania:
ContainerLogV2 | where TimeGenerated > ago(45m) | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
Filtrowanie dzienników według identyfikatora zasobu członka Azure Kubernetes Application Network
Filtruj dzienniki na podstawie identyfikatora zasobu członkowskiego w usłudze Azure Kubernetes w tabeli MeshControlPlane dla dzienników płaszczyzny kontrolnej, używając następującego zapytania:
MeshControlPlane | where TimeGenerated > ago(45m) | where Level == "ERROR" | where _ResourceId == $appnet_member_resourceId // appnet member resourceIdPoniższy zrzut ekranu przedstawia przykład błędów istiod sieci aplikacji w dziennikach usługi Azure Monitor:
Treści powiązane
Aby uzyskać więcej informacji na temat możliwości i monitorowania usługi Azure Kubernetes Application Network, zobacz następujące artykuły: