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

Symbol för containrar

Den här artikeln beskriver hur du konfigurerar och använder containerövervakningslösningen i Azure Monitor, som hjälper dig att visa och hantera dina Docker- och Windows-containervärdar på en enda plats. Docker är ett system för programvaruvirtualisering som används för att skapa containrar som automatiserar programdistributionen till IT-infrastrukturen.

Viktigt

Containerövervakningslösningen håller på att fasas ut. För att övervaka dina Kubernetes-miljöer rekommenderar vi att du övergår till Azure Monitor Container Insights.

Anteckning

Den här artikeln uppdaterades nyligen för att använda termen Azure Monitor-loggar i stället för Log Analytics. Loggdata lagras fortfarande på en Log Analytics-arbetsyta och samlas fortfarande in och analyseras av samma Log Analytics-tjänst. Vi uppdaterar terminologin för att bättre återspegla loggarnas roll i Azure Monitor. Mer information finns i Terminologiändringar i Azure Monitor .

Lösningen visar vilka containrar som körs, vilken containeravbildning de kör och var containrar 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ärrvya Docker- eller Windows-värdar. Du kan hitta containrar som kan vara bullriga och förbruka överflödiga resurser på en värd. Och du kan visa centraliserad processor-, minnes-, lagrings- och nätverksanvändning och prestandainformation 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 du använder Azure Monitor Container Insights för övervakning av Dina Kubernetes och Red Hat OpenShift:

Om du har containrar distribuerade i Azure Service Fabric rekommenderar 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-lösningen läser du Använda Service Fabric-lösningen 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 distribuerats till Kubernetes-miljöer som finns på Azure Kubernetes Service (AKS) läser du Ö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.

Diagram som visar relationerna mellan Azure Monitor och containervärdar och agenter som finns i Azure-molnet, andra moln och ett lokalt nätverk.

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 Docker-orkestrerings- och operativsystemövervakningsstöd 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
Röd hatt öppen
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.

Windows-operativsystem som stöds

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

Docker-versioner som stöds i 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 containerövervakningslösningen på Log Analytics-arbetsytan från Azure Marketplace eller med hjälp av processen som beskrivs i Lägg till övervakningslösningar från lösningsgalleriet.

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

Mer information om hur du installerar och konfigurerar Docker-motorer på datorer som kör Windows finns i artikeln Docker Engine i 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 ditt Log Analytics-arbetsyte-ID och nyckel, som du hittar i Azure Portal. På arbetsytan klickar du på Snabbstartsdatorer> 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 containern 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 containern 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. Mer 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 ditt Log Analytics-arbetsyte-ID och primärnyckel.

  • 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 containerbaserade 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 igenom 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 huvudnoden och ändra värdet med ditt Log Analytics-arbetsyte-ID och med primärnyckeln.

  2. Kör följande kommandon för att skapa ett projekt för 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 daemonuppsättningen 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.  
    

Utför följande steg om du vill använda hemligheter för att skydda ditt Log Analytics-arbetsyte-ID och primärnyckel när du använder Log Analytics-agentens daemon-set yaml-fil.

  1. Logga in på OpenShift-huvudnoden och kopiera yaml-filen ocp-ds-omsagent.yaml och hemligt genererande skript ocp-secretgen.sh från GitHub. Det här skriptet genererar yaml-filen med hemligheter för Log Analytics-arbetsyte-ID och primärnyckel för att skydda din utsöndrade information.

  2. Kör följande kommandon för att skapa ett projekt för Azure Monitor och ange användarkontot. Det hemliga genererande skriptet frågar efter ditt Log Analytics-arbetsyte-ID <WSID> och primärnyckel <KEY> och när det är klart skapar det 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 Log Analytics-agentens daemon-set yaml-fil 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å Log Analytics Docker Kubernetes GitHub-sidan 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 hemliga generationsskript för att generera filen secrets yaml (omsagentsecret.yaml).

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

Standard-OMSagent DaemonSet yaml-fil utan hemligheter

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

    sudo kubectl create -f omsagent.yaml
    

Standard-OMSagent DaemonSet yaml-fil med hemligheter

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

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

      • Hemligt genererande skript – 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 och när du har angett 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 genom att köra följande:

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

      Utdata bör likna:

      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:

      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Skapa 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 primärnyckel för att installera Log Analytics-agenten. På Log Analytics Docker Kubernetes GitHub-sidan finns det filer som du kan använda med din hemliga information. Du måste installera Log Analytics-agenten separat för huvud- och agentnoderna.

  1. Om du vill använda Log Analytics-agenten DaemonSet med hjälp av 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 genererande skript – 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 och när du har angett dem skapar skriptet en hemlig yaml-fil så att du kan köra den.

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

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

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

      Utdata bör likna:

      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 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 i 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 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 statusen för omsagenten 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-diagram för containerlösning.

Installera och konfigurera Windows-containervärdar

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

Förberedelse innan Windows-agenter installeras

Innan du installerar agenter på datorer som kör Windows måste du konfigurera Docker-tjänsten. Konfigurationen gör att Windows-agenten eller tillägget för virtuella Azure Monitor-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 docker-daemonkonfigurationen som används med Windows-containrar finns i Docker Engine i Windows.

Installera Windows-agenter

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

Du kan övervaka Windows-containrar som körs i Service Fabric. Men endast virtuella datorer som körs i Azure och datorer som kör Windows i din lokala miljö stöds för närvarande för Service Fabric.

Du kan kontrollera att containerövervakningslösningen är korrekt inställd för Windows. Om du vill kontrollera om hanteringspaketet laddades ned korrekt letar du efter ContainerManagement.xxx. Filerna ska finnas i mappen C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs.

Lösningskomponenter

Från Azure Portal navigerar du till lösningsgalleriet och lägger till containerövervakningslösningen. Om du använder Windows-agenter 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\Health Service State\Management Packs

Information om insamling av containerdata

Containerövervakningslösningen 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 samlas in av containerövervakningslösningen 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
Containeravbildningsinventering 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
Containernodinventering 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 bifogade PodLabel-etiketterna som visas i tabellen är exempel. PodLabel_deployment_sDärför skiljer sig , PodLabel_docker_registry_sPodLabel_deploymentconfig_si din miljös datauppsättning och liknar PodLabel_yourlabel_sallmänt .

Övervaka containrar

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

Skärmbild som visar panelen Containrar, som innehåller ett cirkeldiagram som visar sammanfattningsinformation om containrar.

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

Använda instrumentpanelen Containrar

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 genererats ö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 Namespace Inventory – visar antalet namnrymder och poddar och visar 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å efter antalet containrar. Den här datauppsättningen används endast i Linux-miljöer.
  • Inventering av containeravbildningar – visar det totala antalet containeravbildningar som används och antalet avbildningstyper. Antalet bilder visas också med avbildningstaggen.
  • Containerstatus – visar det totala antalet containernoder/värddatorer som har containrar som körs. Datorer visas också efter 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.
  • Processorprestanda för containrar – Visar ett linjediagram över den genomsnittliga CPU-användningen över tid för datornoder/värdar. Visar även en lista över datornoder/värdar baserat på genomsnittlig CPU-användning.
  • Prestanda för containerminne – Visar ett linjediagram över minnesanvändning över tid. Visar även en lista över datorminnesanvändning baserat på instansnamnet.
  • Datorprestanda – Visar linjediagram över procentandelen cpu-prestanda över tid, procent av minnesanvändning ö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.

Skärmbild som visar en instrumentpanel för att visa insamlade data, som innehåller lager för status, process, prestanda och avbildningar för containrar.

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

Skärmbild som visar området Containerstatus på instrumentpanelen Containrar, som innehåller ett cirkeldiagram som visar information om containerstatus.

Log Analytics öppnas och visar information om containerns tillstånd.

Skärmbild som visar Log Analytics med en fråga om containerns tillstånd och sökresultaten.

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 felen och felen i miljön i området Misslyckade containrar .

Så här hittar du misslyckade containrar

  1. Klicka på området Containerstatus .
    Skärmbild som visar området Containerstatus på instrumentpanelen Containrar, som innehåller ett cirkeldiagram som visar information om containerstatus.
  2. Log Analytics öppnas och visar tillståndet för dina containrar, ungefär som följande.
    Skärmbild som visar Log Analytics med en fråga om containerns tillstånd och sökresultaten.
  3. Expandera raden 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 raden som ska kommenteras ut.
  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 bilden, till exempel bildstorlek och antal stoppade och misslyckade bilder.
    Skärmbild som visar Log Analytics med en fråga för en containeravbildning och information om avbildningen.

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 ordnad efter avbildning och för att visa bildinformation, till exempel bild-ID:er eller storlekar.
  • ContainerInventory – Använd den här typen när du vill ha information om containerns plats, 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 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 om du snabbt vill se hur processen körs i containern.
  • ContainerServiceLog – Använd den här typen när du försöker hitta spårningsinformation för Docker-daemon, till exempel start-, stopp-, borttagnings- eller hämtningskommandon.
  • KubeEvents_CL Använd den här typen om du vill se Kubernetes-händelserna.
  • KubePodInventory_CL Använd den här typen när du vill förstå information om klusterhierarkin.

Så här kör du frågor mot loggar för containerdata

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

    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 eller två exempel 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.

Skärmbild som visar området Exempelfrågor med exempelloggfrå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å sidan Loggsökning. Sedan kan du enkelt komma åt den senare från sidan Min instrumentpanel .

Ta bort lösningen från din arbetsyta

Om du vill ta bort övervakningslösningen för containrar följer du anvisningarna för att ta bort lösningar med något av följande: Azure Portal, PowerShell eller Azure CLI

Nästa steg

Fråga loggar för att visa detaljerade containerdataposter.