Dela via


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 programvarudistributionen 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.

Anmärkning

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 containerbild de använder, 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 ansluta till Docker- eller Windows-värdar via fjärranslutning. 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 att övervaka 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 kan du läsa Använda Service Fabric-lösningen för att förstå vad den innehåller och hur den ska användas.

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 läsa Ö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-plattform

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

Docker-orkestrering ACS Linux Windows Behållare
Inventarieförteckning
Bild
Inventarieförteckning
Nod
Inventarieförteckning
Behållare
Prestanda
Behållare
Evenemang
Evenemang
Logg
Behållare
Logg
Kubernetes
Mesosfär
DC/OS
Docker
Flock
Tjänster
Tyg
Red Hat Open
Skifta
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

Anmärkning

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 den process 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 containerhosten för att konfigurera agenten för Docker. Först behöver du ditt Log Analytics-arbetsyte-ID och nyckel, som du hittar i Azure-portalen. I arbetsytan klickar du på Snabbstartsdatorer> för att visa ditt arbetsyte-ID och primärnyckel. Kopiera och klistra in båda i din favoritredigerare.

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-daemonuppsättning.

  1. Logga in på huvudnoden OpenShift 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 resultatet 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 det hemliga genererande skriptet ocp-secretgen.sh från GitHub. Det här skriptet genererar yaml-filen med hemliga uppgifter för Log Analytics-arbetsyte-ID och primärnyckel för att skydda din hemliga information.

  2. Kör följande kommandon för att skapa ett projekt för Azure Monitor och ange användarkontot. Det hemlighetsgenererande 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. Kontrollera 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. Kontrollera 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 skript för hemlig generation 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 Log Analytics-agentens DaemonSet yaml-fil, ersätt <WSID> och <KEY> med 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.

      • Skript för hemlighetsgenerering – secret-gen.sh
      • hemlig mall – secret-template.yaml
    2. Kör skriptet, som i följande exempel. Skriptet frågar efter Log Analytics-arbetsyte-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-fil för hemligheter angående Workspace 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 hemligheter yaml-fil för ditt arbetsyteID 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 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.

      • Skript för hemlighetsgenerering – secret-gen.sh
      • secret template – secret-template.yaml
    2. Kör skriptet, som i följande exempel. Skriptet frågar efter Log Analytics-arbetsyte-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 omsagentens status 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 Windows- och Hyper-V containerövervakning 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-portalen går 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.

Containerregister

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

Datatyp Datatyp i loggsökning Fält
Prestanda för värdar och containrar Perf Dator, ObjektNamn, RäkneNamn (%Processor Tid, Diskläsningar MB, Diskskrivningar MB, Minnesanvändning MB, Nätverksmottagna Byte, Nätverksskickade Byte, Processoranvändning sek, Nätverk), Räknevärde, Tidsgenererat, Räknestig, Källsystem
Containerinventering ContainerInventory TimeGenerated, Computer, container name, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID
Containerbildslager ContainerImageInventory TidGenererat, Dator, Bild, BildTagg, BildStorlek, VirtuellStorlek, Kör, Pausat, Stoppat, Misslyckad, KällSystem, BildID, TotalBehållare
Containerlogg ContainerLog Tidigaretid, Dator, bild-ID, container-namn, Loggpostkälla, Loggpost, Källsystem, Container-ID
Containertjänstlogg ContainerServiceLog TidGenererad, Dator, TidFörKommando, Bild, Kommando, Källsystem, BehållareID
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
Container process 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. Därför kommer PodLabel_deployment_s, PodLabel_deploymentconfig_s och PodLabel_docker_registry_s att skilja sig åt i din miljös datauppsättning och allmänt likna PodLabel_yourlabel_s.

Övervaka containrar

När du har aktiverat lösningen i Azure-portalen visar panelen Containrar sammanfattningsinformation om dina containervärdar och de containrar som körs där.

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

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

Använda Containrar-instrumentpanelen

Klicka på panelen Containrar. Därifrån ser du 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-namnområdesinventering – Visar antalet namnområden och poddar och visar deras hierarki. Den här datauppsättningen används endast i Linux-miljöer.
  • Container Node Inventory – 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.
  • Inventering av containeravbildningar – Visar det totala antalet containeravbildningar som används och antalet avbildningstyper. Antalet bilder anges också av bildtaggen.
  • Containerstatus – Visar det totala antalet containernoder/värddatorer som har containrar som körs. Datorer listas också efter antalet körande värdar.
  • 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ändningen över tid och megabyte ledigt diskutrymme över tid. Du kan hovra över valfri rad 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 granska insamlade data, som inkluderar status, process, prestanda och bildinventering av 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 containrarnas tillstånd.

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

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 bristerna i miljön i sektionen Misslyckade containrar.

För att hitta felaktiga 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 containrars tillstånd och sökresultat.
  3. Expandera den misslyckade raden och klicka på + för att lägga till dess kriterier i frågan. Kommentera sedan ut raden Sammanfatta i frågan. Skärmbild som visar den rad som ska kommenteras ut.
  4. Kör frågan och expandera sedan en rad i resultatet för att visa bild-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.

Frågeloggar 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 bild och visa bildinformation som bild-ID eller storlekar.
  • ContainerInventory – Använd den här typen när du vill ha information om containers placering, vad deras namn är och vilka bilder de kör.
  • ContainerLog – Använd den här typen när du vill hitta specifik fellogginformation och loggposter.
  • ContainerNodeInventory_CL Använd den här typen när du vill ha information om värd/nod där containrar finns. Det ger dig Docker-version, orkestreringstyp, lagring och nätverksinformation.
  • ContainerProcess_CL Använd den här typen om du snabbt vill se processen som körs i containern.
  • ContainerServiceLog – Använd den här typen när du försöker hitta spårningsinformation för Docker-daemonen, till exempel start-, stopp-, borttagnings- eller pull-kommandon.
  • 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.

För att söka i loggar efter containerdata

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

    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.

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 funnit 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 containerövervakningslösningen följer du anvisningarna för att ta bort lösningar med något av följande: Azure-portalen, PowerShell eller Azure CLI

Nästa steg

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