Lösning för containerövervakning i Azure Monitor

Containersymbol

Den här artikeln beskriver hur du ställer in och använder övervakningslösningen för containrar i Azure Monitor, som hjälper dig att visa och hantera dina Docker- och Windows-containervärdar på en enda plats. Docker är ett programvirtualiseringssystem som används för att skapa containrar som automatiserar programvarudistributionen till it-infrastrukturen.

Viktigt

Övervakningslösningen för containrar håller på att fasas ut. För att övervaka Dina Kubernetes-miljöer rekommenderar vi att du använder Azure Monitor Container Insights

Anteckning

Den här artikeln har nyligen uppdaterats för användning av term Azure Monitors loggar i stället för Log Analytics. Loggdata lagras fortfarande i en Log Analytics arbets yta och samlas in och analyseras fortfarande av samma Log Analytics-tjänst. Vi uppdaterar terminologin för att bättre avspegla rollen för loggar i Azure Monitor. Se Azure Monitor terminologis ändringar för mer information.

Lösningen visar vilka containrar som körs, vilken containeravbildning de kör och var containrarna körs. Du kan visa detaljerad granskningsinformation som visar kommandon som används med containrar. Och du kan felsöka containrar genom att visa och söka i centraliserade loggar utan att behöva fjärrvy av Docker eller Windows värdar. Du kan hitta containrar som kan vara brus och förbruka överflödiga resurser på en värd. Och du kan visa centraliserad information om cpu, minne, lagring och nätverksanvändning och prestanda för containrar. På datorer som kör Windows kan du centralisera och jämföra loggar från Windows Server, Hyper-V och Docker-containrar. Lösningen stöder följande containerorkestrerare:

  • Docker Swarm
  • DC/OS
  • Service Fabric

Vi rekommenderar att Azure Monitor Container Insights för övervakning av Kubernetes och Red Hat OpenShift:

Om du har containrar distribuerade i Azure Service Fabricrekommenderar vi att du aktiverar både Service Fabric-lösningen och den här lösningen för att inkludera övervakning av klusterhändelser. Innan du aktiverar Service Fabric bör du läsa Använda Service Fabric för att förstå vad den tillhandahåller och hur du använder den.

Om du är intresserad av att övervaka prestanda för dina arbetsbelastningar som distribueras till Kubernetes-miljöer som finns i Azure Kubernetes Service (AKS) kan du gå till Övervaka Azure Kubernetes Service. Containerövervakningslösningen stöder inte övervakning av den plattformen.

Följande diagram visar relationerna mellan olika containervärdar och agenter med Azure Monitor.

Containerdiagram

Systemkrav och plattformar som stöds

Granska följande information innan du börjar för att kontrollera att du uppfyller kraven.

Stöd för containerövervakningslösning för Docker Orchestrator och OS-plattformen

I följande tabell beskrivs stöd för Docker-orkestrering och övervakning av operativsystem för containerinventering, prestanda och loggar med Azure Monitor.

Docker Orchestration ACS Linux Windows Container
Inventering
Bild
Inventering
Nod
Inventering
Container
Prestanda
Container
Händelse
Händelse
Loggas
Container
Loggas
Kubernetes
Mesosphere
DC/OS
Docker
Svärm
Tjänst
Fabric
Red Hat Open
Skift
Windows Server
(fristående)
Linux-server
(fristående)

Docker-versioner som stöds i Linux

  • Docker 1.11 till 1.13
  • Docker CE och EE v17.06

x64 Linux-distributioner som stöds som containervärdar

  • Ubuntu 14.04 LTS och 16.04 LTS
  • CoreOS (stabil)
  • Amazon Linux 2016.09.0
  • openSUSE 13.2
  • openSUSE LEAP 42.2
  • CentOS 7.2 och 7.3
  • SLES 12
  • RHEL 7.2 och 7.3
  • Red Hat OpenShift Container Platform (OCP) 3.4 och 3.5
  • ACS Mesosphere DC/OS 1.7.3 till 1.8.8
  • ACS Kubernetes 1.4.5 till 1.6
    • Kubernetes-händelser, Kubernetes-inventering och containerprocesser stöds endast med version 1.4.1-45 och senare av Log Analytics-agenten för Linux
  • ACS Docker Swarm

Anteckning

Som en del av den pågående övergången från Microsoft Operations Management Suite till Azure Monitor kan Operations Management Suite-agenten för Windows eller Linux kallas för Log Analytics-agenten för Windows och Log Analytics-agenten för Linux.

Stöds Windows operativsystem

  • Windows Server 2016
  • Windows 10 Anniversary Edition (Professional eller Enterprise)

Docker-versioner som stöds på Windows

  • Docker 1.12 och 1.13
  • Docker 17.03.0 och senare

Installera och konfigurera lösningen

Använd följande information för att installera och konfigurera lösningen.

  1. Lägg till övervakningslösningen för containrar i Log Analytics-arbetsytan från Azure Marketplace eller genom att använda processen som beskrivs i Lägga till övervakningslösningar från Lösningsgalleriet.

  2. Installera och använda Docker med en Log Analytics-agent. Baserat på ditt operativsystem och Docker Orchestrator kan du använda följande metoder för att konfigurera din agent.

I artikeln Docker Engine on Windows (Docker-motor på plats) finns mer information om hur du installerar och konfigurerar Docker-motorerna på datorer som kör Windows.

Viktigt

Docker måste köras innan du installerar Log Analytics-agenten för Linux på dina containervärdar. Om du redan har installerat agenten innan du installerar Docker måste du installera om Log Analytics-agenten för Linux. Mer information om Docker finns på Docker-webbplatsen.

Installera och konfigurera Linux-containervärdar

När du har installerat Docker använder du följande inställningar för containervärden för att konfigurera agenten för användning med Docker. Först behöver du id och nyckel för Log Analytics-arbetsytan, som du hittar i Azure Portal. I din arbetsyta klickar du på Snabbstart datorer > för att visa ditt arbetsyte-ID och primärnyckel. Kopiera och klistra in båda två i det redigeringsprogram du föredrar.

För alla Linux-containervärdar utom CoreOS:

För alla Linux-containervärdar, inklusive CoreOS:

Starta den container som du vill övervaka. Ändra och använd följande exempel:

sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -h=`hostname` -p 127.0.0.1:25225:25225 --name="omsagent" --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest

För alla Azure Government Linux-containervärdar, inklusive CoreOS:

Starta den container som du vill övervaka. Ändra och använd följande exempel:

sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/log:/var/log -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -e DOMAIN="opinsights.azure.us" -p 127.0.0.1:25225:25225 -p 127.0.0.1:25224:25224/udp --name="omsagent" -h=`hostname` --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest

Växla från att använda en installerad Linux-agent till en i en container

Om du tidigare använde den direktinstallerade agenten och i stället vill använda en agent som körs i en container måste du först ta bort Log Analytics-agenten för Linux. Information om hur du avinstallerar agenten finns i Avinstallera Log Analytics-agenten för Linux.

Konfigurera en Log Analytics-agent för Docker Swarm

Du kan köra Log Analytics-agenten som en global tjänst på Docker Swarm. Använd följande information för att skapa en Log Analytics-agenttjänst. Du måste ange id och primärnyckel för Log Analytics-arbetsytan.

  • Kör följande på huvudnoden.

    sudo docker service create  --name omsagent --mode global  --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers -e WSID="<WORKSPACE ID>" -e KEY="<PRIMARY KEY>" -p 25225:25225 -p 25224:25224/udp  --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
    
Skydda hemligheter för Docker Swarm

När hemligheten för arbetsyte-ID och primärnyckel har skapats för Docker Swarm använder du följande information för att skapa din hemliga information.

  1. Kör följande på huvudnoden.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. Kontrollera att hemligheter har skapats korrekt.

    keiko@swarmm-master-13957614-0:/run# sudo docker secret ls
    
    ID                          NAME                CREATED             UPDATED
    j2fj153zxy91j8zbcitnjxjiv   WSID                43 minutes ago      43 minutes ago
    l9rh3n987g9c45zffuxdxetd9   KEY                 38 minutes ago      38 minutes ago
    
  3. Kör följande kommando för att montera hemligheterna till den containeriserade Log Analytics-agenten.

    sudo docker service create  --name omsagent --mode global  --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers --secret source=WSID,target=WSID --secret source=KEY,target=KEY  -p 25225:25225 -p 25224:25224/udp --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
    

Konfigurera en Log Analytics-agent för Red Hat OpenShift

Det finns tre sätt att lägga till Log Analytics-agenten i Red Hat OpenShift för att börja samla in övervakningsdata för containrar.

I det här avsnittet går vi in på de steg som krävs för att installera Log Analytics-agenten som en OpenShift-daemon-uppsättning.

  1. Logga in på OpenShift-huvudnoden och kopiera yaml-filen ocp-omsagent.yaml från GitHub till din huvudnod och ändra värdet med ditt Log Analytics-arbetsyte-ID och med din primärnyckel.

  2. Kör följande kommandon för att skapa ett Azure Monitor och ange användarkontot.

    oc adm new-project omslogging --node-selector='zone=default'
    oc project omslogging  
    oc create serviceaccount omsagent  
    oc adm policy add-cluster-role-to-user cluster-reader   system:serviceaccount:omslogging:omsagent  
    oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent  
    
  3. Om du vill distribuera daemon-set kör du följande:

    oc create -f ocp-omsagent.yaml

  4. Kontrollera att den är konfigurerad och fungerar korrekt genom att skriva följande:

    oc describe daemonset omsagent

    och utdata bör likna:

    [ocpadmin@khm-0 ~]$ oc describe ds oms  
    Name:           oms  
    Image(s):       mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest  
    Selector:       name=omsagent  
    Node-Selector:  zone=default  
    Labels:         agentVersion=1.4.0-12  
                    dockerProviderVersion=10.0.0-25  
                    name=omsagent  
    Desired Number of Nodes Scheduled: 3  
    Current Number of Nodes Scheduled: 3  
    Number of Nodes Misscheduled: 0  
    Pods Status:    3 Running / 0 Waiting / 0 Succeeded / 0 Failed  
    No events.  
    

Om du vill använda hemligheter för att skydda Log Analytics-arbetsytans ID och primärnyckel när du använder Yaml-filen med Log Analytics-agentens daemonuppsättning utför du följande steg.

  1. Logga in på OpenShift-huvudnoden och kopiera yaml-filen ocp-ds-omsagent.yaml och hemligheten som genererar skriptfiler ocp-secretgen.sh från GitHub. Det här skriptet genererar yaml-filen med hemligheter för Log Analytics-arbetsytans ID och primärnyckel för att skydda din hemlighetsinformation.

  2. Kör följande kommandon för att skapa ett Azure Monitor och ange användarkontot. Hemligheten som genererar skriptet frågar efter ditt Log Analytics-arbetsyte-ID och primärnyckel. När den har slutförts skapas <WSID> <KEY> filen ocp-secret.yaml.

    oc adm new-project omslogging --node-selector='zone=default'  
    oc project omslogging  
    oc create serviceaccount omsagent  
    oc adm policy add-cluster-role-to-user cluster-reader   system:serviceaccount:omslogging:omsagent  
    oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent  
    
  3. Distribuera den hemliga filen genom att köra följande:

    oc create -f ocp-secret.yaml

  4. Verifiera distributionen genom att köra följande:

    oc describe secret omsagent-secret

    och utdata bör likna:

    [ocpadmin@khocp-master-0 ~]$ oc describe secret omsagent-secret  
    Name:           omsagent-secret  
    Namespace:      omslogging  
    Labels:         <none>  
    Annotations:    <none>  
    
    Type:   Opaque  
    
    Data  
    ====  
    KEY:    89 bytes  
    WSID:   37 bytes  
    
  5. Distribuera Yaml-filen med Log Analytics-agentens daemonuppsättning genom att köra följande:

    oc create -f ocp-ds-omsagent.yaml

  6. Verifiera distributionen genom att köra följande:

    oc describe ds oms

    och utdata bör likna:

    [ocpadmin@khocp-master-0 ~]$ oc describe ds oms  
    Name:           oms  
    Image(s):       mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest  
    Selector:       name=omsagent  
    Node-Selector:  zone=default  
    Labels:         agentVersion=1.4.0-12  
                    dockerProviderVersion=10.0.0-25  
                    name=omsagent  
    Desired Number of Nodes Scheduled: 3  
    Current Number of Nodes Scheduled: 3  
    Number of Nodes Misscheduled: 0  
    Pods Status:    3 Running / 0 Waiting / 0 Succeeded / 0 Failed  
    No events.  
    

Konfigurera en Log Analytics Linux-agent för Kubernetes

För Kubernetes använder du ett skript för att generera yaml-filen med hemligheter för ditt arbetsyte-ID och primärnyckel för att installera Log Analytics-agenten för Linux. På sidan Log Analytics Docker Kubernetes GitHub finns det filer som du kan använda med eller utan din hemliga information.

  • Log Analytics-standardagenten för Linux DaemonSet har ingen hemlig information (omsagent.yaml)
  • Log Analytics-agenten för Linux DaemonSet yaml-filen använder hemlig information (omsagent-ds-secrets.yaml) med skript för hemlighetsgenerering för att generera yaml-filen med hemligheter (omsagentsecret.yaml).

Du kan välja att skapa omsagent DaemonSets med eller utan hemligheter.

Omsagent DaemonSet yaml-standardfil utan hemligheter

  • För Log Analytics-standardagentens DaemonSet yaml-fil ersätter <WSID> du <KEY> och till WSID och KEY. Kopiera filen till huvudnoden och kör följande:

    sudo kubectl create -f omsagent.yaml
    

Omsagent DaemonSet yaml-standardfil med hemligheter

  1. Om du vill använda Log Analytics-agenten DaemonSet med hemlig information skapar du hemligheterna först.

    1. Kopiera skriptet och den hemliga mallfilen och kontrollera att de finns i samma katalog.

      • Hemligt genereringsskript – secret-gen.sh
      • hemlig mall – secret-template.yaml
    2. Kör skriptet, som i följande exempel. Skriptet frågar efter Log Analytics-arbetsytans ID och primärnyckel. När du har skrivit in dem skapar skriptet en hemlig yaml-fil så att du kan köra den.

      #> sudo bash ./secret-gen.sh
      
    3. Skapa hemlighetspodden genom att köra följande:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. Kontrollera detta genom att köra följande:

      keiko@ubuntu16-13db:~# sudo kubectl get secrets
      

      Utdata bör likna följande:

      NAME                  TYPE                                  DATA      AGE
      default-token-gvl91   kubernetes.io/service-account-token   3         50d
      omsagent-secret       Opaque                                2         1d
      
      keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
      

      Utdata bör likna följande:

      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Skapa din omsagent daemon-set genom att köra sudo kubectl create -f omsagent-ds-secrets.yaml

  2. Kontrollera att Log Analytics-agenten DaemonSet körs, ungefär så här:

    keiko@ubuntu16-13db:~# sudo kubectl get ds omsagent
    
    NAME       DESIRED   CURRENT   NODE-SELECTOR   AGE
    omsagent   3         3         <none>          1h
    

För Kubernetes använder du ett skript för att generera yaml-filen med hemligheter för arbetsyte-ID och primärnyckel för Log Analytics-agenten för Linux. Använd följande exempelinformation med yaml-filen omsagent för att skydda din hemliga information.

keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
Name:           omsagent-secret
Namespace:      default
Labels:         <none>
Annotations:    <none>

Type:   Opaque

Data
====
WSID:   36 bytes
KEY:    88 bytes

Konfigurera en Log Analytics Windows agent för Kubernetes

För Windows Kubernetes använder du ett skript för att generera yaml-filen med hemligheter för ditt arbetsyte-ID och din primära nyckel för att installera Log Analytics-agenten. På sidan Log Analytics Docker Kubernetes GitHub finns det filer som du kan använda med din hemliga information. Du måste installera Log Analytics-agenten separat för huvudnoderna och agentnoderna.

  1. Om du vill använda Log Analytics-agenten DaemonSet med hemlig information på huvudnoden loggar du in och skapar hemligheterna först.

    1. Kopiera skriptet och den hemliga mallfilen och kontrollera att de finns i samma katalog.

      • Hemligt genereringsskript – secret-gen.sh
      • hemlig mall – secret-template.yaml
    2. Kör skriptet, som i följande exempel. Skriptet frågar efter Log Analytics-arbetsytans ID och primärnyckel. När du har skrivit in dem skapar skriptet en hemlig yaml-fil så att du kan köra den.

      #> sudo bash ./secret-gen.sh
      
    3. Skapa din omsagent daemon-set genom att köra kubectl create -f omsagentsecret.yaml

    4. Kontrollera detta genom att köra följande:

      root@ubuntu16-13db:~# kubectl get secrets
      

      Utdata bör likna följande:

      NAME                  TYPE                                  DATA      AGE
      default-token-gvl91   kubernetes.io/service-account-token   3         50d
      omsagent-secret       Opaque                                2         1d
      root@ubuntu16-13db:~# kubectl describe secrets omsagent-secret
      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Skapa din omsagent daemon-set genom att köra kubectl create -f ws-omsagent-de-secrets.yaml

  2. Kontrollera att Log Analytics-agenten DaemonSet körs, ungefär så här:

    root@ubuntu16-13db:~# kubectl get deployment omsagent
    NAME       DESIRED   CURRENT   NODE-SELECTOR   AGE
    omsagent   1         1         <none>          1h
    
  3. Om du vill installera agenten på arbetsnoden som kör Windows följer du stegen i avsnittet installera och konfigurera Windows containervärdar.

Använda Helm för att distribuera Log Analytics-agenten på Linux Kubernetes

Utför följande steg för att använda Helm för att distribuera Log Analytics-agenten i din Linux Kubernetes-miljö.

  1. Skapa din omsagent daemon-set genom att köra helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms

  2. Resultatet ser ut ungefär så här:

    NAME:   omsagent
    LAST DEPLOYED: Tue Sep 19 20:37:46 2017
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/Secret
    NAME            TYPE    DATA  AGE
    omsagent-msoms  Opaque  3     3s
    
    ==> v1beta1/DaemonSet
    NAME            DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE-SELECTOR  AGE
    omsagent-msoms  3        3        3      3           3          <none>         3s
    
  3. Du kan kontrollera status för omsagent genom att köra: helm status "omsagent" och utdata ser ut ungefär så här:

    keiko@k8s-master-3814F33-0:~$ helm status omsagent
    LAST DEPLOYED: Tue Sep 19 20:37:46 2017
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/Secret
    NAME            TYPE    DATA  AGE
    omsagent-msoms  Opaque  3     17m
    
    ==> v1beta1/DaemonSet
    NAME            DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE-SELECTOR  AGE
    omsagent-msoms  3        3        3      3           3          <none>         17m
    

    Mer information finns i Helm-diagrammet för containerlösningen.

Installera och konfigurera Windows containervärdar

Använd informationen i avsnittet för att installera och konfigurera Windows containervärdar.

Förberedelser innan du Windows agenterna

Innan du installerar agenter på datorer Windows måste du konfigurera Docker-tjänsten. Konfigurationen gör att Windows-agenten eller Azure Monitor-tillägget för virtuella datorer kan använda Docker TCP-socketen så att agenterna kan komma åt Docker-daemon via fjärranslutning och samla in data för övervakning.

Så här konfigurerar du Docker-tjänsten

Utför följande PowerShell-kommandon för att aktivera TCP-pipe och namngiven pipe för Windows Server:

Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375  
Start-Service docker

Mer information om konfigurationen av Docker-daemon som används med Windows Containers finns i Docker Engine on Windows.

Installera Windows agenter

Om du Windows övervakning av Hyper-V-containrar installerar du MMA (Microsoft Monitoring Agent) på Windows som är containervärdar. Information om datorer Windows i din lokala miljö finns i Anslut Windows som ska Azure Monitor. För virtuella datorer som körs i Azure ansluter du dem till Azure Monitor med tillägget för virtuella datorer.

Du kan övervaka Windows som körs på Service Fabric. Endast virtuella datorer som körs i Azure och datorer som kör Windows i din lokala miljö stöds dock för närvarande för Service Fabric.

Du kan kontrollera att övervakningslösningen för containrar är korrekt inställd för Windows. Du kan kontrollera om hanteringspaketet har laddats ned korrekt genom att leta efter ContainerManagement.xxx. Filerna ska finnas i mappen C:\Program Files\Microsoft Monitoring Agent\Agent\Hälsotjänst State\Management Packs.

Lösningskomponenter

Från Azure Portal navigerar du till Lösningsgalleriet lägger till övervakningslösningen för containrar. Om du använder Windows installeras följande hanteringspaket på varje dator med en agent när du lägger till den här lösningen. Ingen konfiguration eller underhåll krävs för hanteringspaketet.

  • ContainerManagement.xxx installerat i C:\Program Files\Microsoft Monitoring Agent\Agent\Hälsotjänst State\Management Packs

Information om insamling av containerdata

Övervakningslösningen för containrar samlar in olika prestandamått och loggdata från containervärdar och containrar med hjälp av agenter som du aktiverar.

Data samlas in var tredje minut av följande agenttyper.

Containerposter

I följande tabell visas exempel på poster som samlats in av övervakningslösningen för containrar och de datatyper som visas i loggsökningsresultaten.

Datatyp Datatyp i loggsökning Fält
Prestanda för värdar och containrar Perf Computer, ObjectName, CounterName (%Processor Time, Disk Reads MB, Disk Writes MB, Memory Usage MB, Network Receive Bytes, Network Send Bytes, Processor Usage sec, Network), CounterValue,TimeGenerated, CounterPath, SourceSystem
Containerinventering ContainerInventory TimeGenerated, Computer, container name, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID
Inventering av containeravbildningar ContainerImageInventory TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Running, Paused, Stopped, Failed, SourceSystem, ImageID, TotalContainer
Containerlogg ContainerLog TimeGenerated, Computer, image ID, container name, LogEntrySource, LogEntry, SourceSystem, ContainerID
Containertjänstlogg ContainerServiceLog TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID
Inventering av containernoder ContainerNodeInventory_CL TimeGenerated, Computer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem
Kubernetes-inventering KubePodInventory_CL TimeGenerated, Computer, PodLabel_deployment_s, PodLabel_deploymentconfig_s, PodLabel_docker_registry_s, Name_s, Namespace_s, PodStatus_s, PodIp_s, PodUid_g, PodCreationTimeStamp_t, SourceSystem
Containerprocess ContainerProcess_CL TimeGenerated, Computer, Pod_s, Namespace_s, ClassName_s, InstanceID_s, Uid_s, PID_s, PPID_s, C_s, STIME_s, Tty_s, TIME_s, Cmd_s, Id_s, Name_s, SourceSystem
Kubernetes-händelser KubeEvents_CL TimeGenerated, Computer, Name_s, ObjectKind_s, Namespace_s, Reason_s, Type_s, SourceComponent_s, SourceSystem, Message

Etiketter som läggs till i PodLabel-datatyper är dina egna anpassade etiketter. De tilagda PodLabel-etiketterna som visas i tabellen är exempel. Så, PodLabel_deployment_s PodLabel_deploymentconfig_s , skiljer sig åt i PodLabel_docker_registry_s din miljös datauppsättning och liknar allmänt PodLabel_yourlabel_s .

Övervaka containrar

När du har aktiverat lösningen i Azure Portal visar panelen Containrar sammanfattningsinformation om dina containervärdar och de containrar som körs på värdar.

Panelen Containrar

Panelen visar en översikt över hur många containrar du har i miljön och om de har misslyckats, körs eller har stoppats.

Använda instrumentpanelen Containers

Klicka på panelen Containrar. Därifrån visas vyer ordnade efter:

  • Containerhändelser – Visar containerstatus och datorer med misslyckade containrar.
  • Containerloggar – Visar ett diagram över containerloggfiler som genereras över tid och en lista över datorer med det högsta antalet loggfiler.
  • Kubernetes-händelser – Visar ett diagram över Kubernetes-händelser som genererats över tid och en lista över orsakerna till varför poddar genererade händelserna. Den här datauppsättningen används endast i Linux-miljöer.
  • Kubernetes-namnområdesinventering – Visar antalet namnrymder och poddar och deras hierarki. Den här datauppsättningen används endast i Linux-miljöer.
  • Containernodinventering – Visar antalet orkestreringstyper som används på containernoder/värdar. Datornoderna/värdarna visas också med antalet containrar. Den här datauppsättningen används endast i Linux-miljöer.
  • Containeravbildningsinventering – Visar det totala antalet containeravbildningar som används och antalet avbildningstyper. Antalet avbildningar visas också med avbildningstaggen.
  • Containerstatus – Visar det totala antalet containernoder/värddatorer som har containrar som körs. Datorer visas också med antalet värdar som körs.
  • Containerprocess – Visar ett linjediagram över containerprocesser som körs över tid. Containrar visas också genom att köra kommando/process i containrar. Den här datauppsättningen används endast i Linux-miljöer.
  • Prestanda för containerprocessor – Visar ett linjediagram över den genomsnittliga processoranvändningen över tid för datornoder/värdar. Visar också datornoder/värdar baserat på genomsnittlig processoranvändning.
  • Prestanda för containerminne – Visar ett linjediagram över minnesanvändning över tid. Visar även minnesanvändningen för datorn baserat på instansnamn.
  • Datorprestanda – Visar linjediagram över procentandelen cpu-prestanda över tid, procent av minnesanvändningen över tid och megabyte ledigt diskutrymme över tid. Du kan hovra över valfri linje i ett diagram om du vill visa mer information.

Varje område på instrumentpanelen är en visuell representation av en sökning som körs på insamlade data.

Skärmbild som visar en instrumentpanel för att visa insamlade data.

Instrumentpanel för containrar

I området Containerstatus klickar du på det övre området enligt nedan.

Containerstatus

Log Analytics öppnas och visar information om tillståndet för dina containrar.

Log Analytics för containrar

Härifrån kan du redigera sökfrågan för att ändra den för att hitta den specifika information som du är intresserad av. Mer information om loggfrågor finns i Loggfrågor i Azure Monitor.

Felsöka genom att hitta en misslyckad container

Log Analytics markerar en container som Misslyckad om den har avslutats med en slutkod som inte är noll. Du kan se en översikt över fel och fel i miljön i området Misslyckade containrar.

Så här hittar du containrar som misslyckats

  1. Klicka på området Containerstatus.
    containerstatus
  2. Log Analytics öppnas och visar tillståndet för dina containrar, ungefär som följande.
    containertillstånd
  3. Expandera raden Failed (Misslyckades) och klicka på + för att lägga till dess villkor i frågan. Kommentera sedan ut raden Sammanfatta i frågan. Skärmbild som visar den rad som ska kommenteras bort.
  4. Kör frågan och expandera sedan en rad i resultatet för att visa avbildnings-ID:t.
    Skärmbild som visar hur du visar bild-ID:t.
  5. Skriv följande i loggfrågan. ContainerImageInventory | where ImageID == <ImageID> för att se information om avbildningen, till exempel bildstorlek och antal stoppade och misslyckade avbildningar.
    misslyckade containrar

Köra frågor mot loggar för containerdata

När du felsöker ett specifikt fel kan det hjälpa dig att se var det inträffar i din miljö. Följande loggtyper hjälper dig att skapa frågor för att returnera den information du vill ha.

  • ContainerImageInventory – Använd den här typen när du försöker hitta information som ordnas efter avbildning och för att visa bildinformation som bild-ID eller storlekar.
  • ContainerInventory – Använd den här typen när du vill ha information om containerplatsen, deras namn och vilka avbildningar de kör.
  • ContainerLog – Använd den här typen när du vill hitta specifik fellogginformation och -poster.
  • ContainerNodeInventory_CL Använd den här typen om du vill ha information om den värd/nod där containrar finns. Den ger dig Docker-version, orkestreringstyp, lagring och nätverksinformation.
  • ContainerProcess_CL Använd den här typen för att snabbt se processen som körs i containern.
  • ContainerServiceLog – Använd den här typen när du försöker hitta granskningslogginformation för Docker-daemonen, till exempel start-, stopp-, borttagnings- eller pull-kommandon.
  • KubeEvents_CL Använd den här typen för att se Kubernetes-händelserna.
  • KubePodInventory_CL Använd den här typen när du vill förstå klusterhierarkiinformationen.

Köra frågor mot loggar för containerdata

  • Välj en avbildning som du vet nyligen har misslyckats och hitta felloggarna för den. Börja med att hitta ett containernamn som kör avbildningen med en ContainerInventory-sökning. Du kan till exempel söka efter ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
    Söka efter Ubuntu-containrar

    Expandera valfri rad i resultatet om du vill visa information om containern.

Exempel på loggfrågor

Det är ofta användbart att skapa frågor som börjar med ett exempel eller två och sedan ändrar dem så att de passar din miljö. Som utgångspunkt kan du experimentera med området EXEMPELFRÅGOR längst till höger på lösningssidan för att hjälpa dig att skapa mer avancerade frågor.

Containerfrågor

Spara loggfrågor

Att spara frågor är en standardfunktion i Azure Monitor. Genom att spara dem har du de som du har hittat användbara för framtida användning.

När du har skapat en fråga som du tycker är användbar sparar du den genom att klicka på Favoriter överst på loggsökningssidan. Sedan kan du enkelt komma åt den senare från sidan Min instrumentpanel.

Nästa steg

Köra frågor mot loggar för att visa detaljerade containerdataposter.