Lösning för containerövervakning i Azure Monitor
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:
- AKS (Konfigurera containerinsikter för AKS)
- Red Hat OpenShift (Konfigurera containerinsikter med Azure Arc)
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.
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.
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.
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.
- För fristående värdar:
- Installera och kör Docker på Linux-operativsystem som stöds och installera och konfigurera sedan Log Analytics-agenten för Linux.
- I CoreOS kan du inte köra Log Analytics-agenten för Linux. I stället kör du en containerbaserad version av Log Analytics-agenten för Linux. Granska Linux-containervärdar, inklusive CoreOS eller Azure Government Linux-containervärdar, inklusive CoreOS om du arbetar med containrar i Azure Government Cloud.
- Installera Docker Engine och klienten på Windows Server 2016 och Windows 10 och anslut sedan en agent för att samla in information och skicka den till Azure Monitor. Läs Installera och konfigurera Windows-containervärdar om du har en Windows-miljö.
- För Docker-orkestrering med flera värdar:
- Om du har en Red Hat OpenShift-miljö läser du Konfigurera en Log Analytics-agent för Red Hat OpenShift.
- Om du har ett Kubernetes-kluster med hjälp av Azure Container Service:
- Läs Konfigurera en Log Analytics Linux-agent för Kubernetes.
- Läs Konfigurera en Log Analytics Windows-agent för Kubernetes.
- Läs Använda Helm för att distribuera Log Analytics-agenten i Linux Kubernetes.
- Om du har ett Azure Container Service DC/OS-kluster kan du läsa mer i Övervaka ett Azure Container Service DC/OS-kluster med Azure Monitor.
- Om du har en Docker Swarm-lägesmiljö kan du läsa mer i Konfigurera en Log Analytics-agent för Docker Swarm.
- Om du har ett Service Fabric-kluster kan du läsa mer i Övervaka containrar med Azure Monitor.
- För fristående värdar:
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:
- Mer information och steg om hur du installerar Log Analytics-agenten för Linux finns i Översikt över Log Analytics-agenten.
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.
Kör följande på huvudnoden.
echo "WSID" | docker secret create WSID - echo "KEY" | docker secret create KEY -
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
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.
- Installera Log Analytics-agenten för Linux direkt på varje OpenShift-nod
- Aktivera Log Analytics VM-tillägg på varje OpenShift-nod som finns i Azure
- Installera Log Analytics-agenten som en OpenShift-daemonuppsättning
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.
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.
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
Om du vill distribuera daemonuppsättningen kör du följande:
oc create -f ocp-omsagent.yaml
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.
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.
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
Distribuera den hemliga filen genom att köra följande:
oc create -f ocp-secret.yaml
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
Distribuera Log Analytics-agentens daemon-set yaml-fil genom att köra följande:
oc create -f ocp-ds-omsagent.yaml
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
Om du vill använda Log Analytics-agenten DaemonSet med hjälp av hemlig information skapar du hemligheterna först.
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
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
Skapa hemlighetspodden genom att köra följande:
sudo kubectl create -f omsagentsecret.yaml
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
Skapa omsagent-daemon-set genom att köra
sudo kubectl create -f omsagent-ds-secrets.yaml
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.
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.
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
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
Skapa omsagent-daemon-set genom att köra
kubectl create -f omsagentsecret.yaml
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
Skapa omsagent-daemon-set genom att köra
kubectl create -f ws-omsagent-de-secrets.yaml
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
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ö.
Skapa omsagent-daemon-set genom att köra
helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms
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
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_s
Därför skiljer sig , PodLabel_docker_registry_s
PodLabel_deploymentconfig_s
i din miljös datauppsättning och liknar PodLabel_yourlabel_s
allmä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.
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.
I området Containerstatus klickar du på det övre området enligt nedan.
Log Analytics öppnas och visar information om containerns tillstånd.
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
- Klicka på området Containerstatus .
- Log Analytics öppnas och visar tillståndet för dina containrar, ungefär som följande.
- 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.
- Kör frågan och expandera sedan en rad i resultatet för att visa avbildnings-ID:t.
- 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.
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"
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.
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.