Adat- és vezérlősík naplók figyelése az Azure Kubernetes Application Networkben (előzetes)

Fontos

Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióihoz részleges támogatást nyújt az ügyfélszolgálat a tőle telhető legjobb módon. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:

Az Azure Kubernetes Application Network kétféle naplózási típust biztosít, amelyeket a monitorozási és hibaelhárítási követelmények alapján konfigurálhat: adatsíknaplók és vezérlősík-naplók.

  • Adatsík-naplók: Az alkalmazás-munkaterhelések, applink-system névtér-összetevők és Envoy proxy hozzáférési naplók belefoglalása.
  • Vezérlősík-naplók: Az Azure Kubernetes Application Network vezérlősík-összetevőiből származó istiod naplók belefoglalása.

Az Azure Kubernetes Application Network naplózása alapértelmezés szerint le van tiltva. Ez a cikk bemutatja, hogyan engedélyezheti és tekintheti meg mindkét naplózási típust az Azure Monitorban.

Környezeti változók beállítása

  • A kiválasztott munkafolyamat környezeti változóit az alábbi parancsokkal állíthatja be:

    # 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>
    

Adatforgalmi naplók engedélyezése

Az adatsík-naplók a munkaterhelésekből/alkalmazásokból és a applink-system munkaterhelésekből (Ztunnel és Istio CNI) származó naplókat tartalmazzák. A hibaelhárítási naplók engedélyezésének és megtekintésének elsődleges módja az Azure Container Insights bővítmény.

Az adatsík-naplók engedélyezésekor megadhat egy meglévő Log Analytics-munkaterületet, használhatja az erőforráscsoport alapértelmezett munkaterületét, vagy létrehozhat egy új munkaterületet.

Új Log Analytics-munkaterület létrehozása

  • Ha új Log Analytics-munkaterületet hoz létre, használja a az monitor log-analytics workspace create következő parancsot:

    az monitor log-analytics workspace create \
        --resource-group $AKS_RG \
        --workspace-name $LAW_NAME \
        --location $LOCATION
    

Engedélyezze a Container Insights bővítményt az AKS-fürtön

  • Engedélyezze a Container Insights bővítményt az Azure Kubernetes Application Network-tagfürthöz (opcionálisan kihagyva a munkaterület azonosítóját) a az aks enable-addons paranccsal.

     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
    

Naplók megtekintése

  • A naplók megtekintéséhez navigáljon a Log Analytics-munkaterületre, és futtassa a következő lekérdezést:

    ContainerLogV2
    | where PodNamespace == "applink-system"
    

Envoy hozzáférési naplók

Bizonyos esetekben előfordulhat, hogy meg kell vizsgálnia az Envoy hozzáférési naplóit, amikor forgalmat generálnak az alkalmazások vagy számítási feladatok számára. Az Envoy hozzáférési naplóinak engedélyezéséhez használja a Telemetria API-t.

  1. Az alábbi YAML-ben adja meg azt a névteret, ahol engedélyezni szeretné az envoy-hozzáférés naplózását. A mesh-wide Envoy hozzáférési naplók esetében távolítsa el a névteret a metaadatokból.

    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
    EOF
    

    A megbízotti hozzáférési naplók azon a Log Analytics-munkaterületen lesznek elérhetők, ahol engedélyezve volt a Container Insights bővítmény.

  2. Tekintse meg a követ hozzáférési naplóit a Log Analytics-munkaterületre való navigálással és a következő lekérdezés futtatásával:

    ContainerLogV2
    | where TimeGenerated > ago(45m)
    | where PodName contains "gateway"
    | take 10
    

Vezérlősík-naplók engedélyezése

A vezérlősík naplóinak engedélyezéséhez hozzon létre egy diagnosztikai beállítást, és küldjön naplókat a Log Analytics-munkaterületre.

  1. Állítson be egy környezeti változót a diagnosztikai beállítás nevére a következő paranccsal:

    export DS_NAME=<diagnostic-settings-name>
    
  2. Hozzon létre egy diagnosztikai beállítást az Azure Kubernetes Application Network-tagerőforráshoz, és adja meg célként a Log Analytics-munkaterületet a az monitor diagnostic-settings create paranccsal.

    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_NAME
    
  3. Ha engedélyezve van, lépjen a Log Analytics-munkaterületre, és futtassa a következő lekérdezést:

    Megjegyzés:

    $appnet_member_resourceId formátuma: /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
    

Naplótáblák és séma

Az alábbi táblázatok az Azure Kubernetes Application Network naplóit tartalmazzák a Log Analytics-munkaterületen:

napló táblázat Leírás
ContainerLogV2 Az alkalmazás-/számítási feladatok naplóit tartalmazza
MeshControlPlane Istiod-naplókat tartalmaz

Séma

A séma megkereséséhez tekintse meg a ContainerLogV2ContainerLogV2 oszlopait.

MeshControlPlane egy egyéni táblázat, amely a következő sémával rendelkezik:

# Oszlop név Típus
0 BérlőAzonosító (TenantId) karakterlánc
1 TimeGenerated datetime
2 Kategória karakterlánc
3 szint karakterlánc
4 Message karakterlánc
5 Konténer karakterlánc
6 PodNév karakterlánc
7 Forrásrendszer karakterlánc
8 Típus karakterlánc
9 _ResourceId (erőforrás azonosító) karakterlánc

Minta lekérdezések

Naplók szűrése az AKS fürt erőforrás-azonosítója szerint

  • Szűrje a naplókat az AKS által felügyelt fürt erőforrás-azonosítója alapján a ContainerLogV2 táblában az alábbi lekérdezéssel:

    ContainerLogV2
    | where TimeGenerated > ago(45m)
    | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
    

Naplók szűrése az Azure Kubernetes Application Network-tag erőforrás-azonosítója alapján

  • Szűrje a naplókat az Azure Kubernetes Application Network-tag erőforrás-azonosítója alapján a MeshControlPlane táblában a síknaplók vezérléséhez az alábbi lekérdezéssel:

    MeshControlPlane
    | where TimeGenerated > ago(45m)
    | where Level == "ERROR"
    | where _ResourceId == $appnet_member_resourceId // appnet member resourceId
    

    Az alábbi képernyőképen egy példa látható az Application Network Istiod hibáira az Azure Monitor-naplókban:

    Képernyőkép az Application Network Istiod hibákról az Azure Monitor naplókban.

Az Azure Kubernetes Application Network megfigyelhetőségével és monitorozásával kapcsolatos további információkért tekintse meg az alábbi cikkeket: