Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
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:
- 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 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.
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.
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.
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.
- I Windows Server 2016 och Windows 10 installerar du Docker Engine och klienten och ansluter 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 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:
- 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 lsID NAME CREATED UPDATED j2fj153zxy91j8zbcitnjxjiv WSID 43 minutes ago 43 minutes ago l9rh3n987g9c45zffuxdxetd9 KEY 38 minutes ago 38 minutes agoKö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-daemon-uppsä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-daemonuppsättning.
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.
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:omsagentOm du vill distribuera daemonuppsättningen kör du följande:
oc create -f ocp-omsagent.yamlKontrollera att den är konfigurerad och fungerar korrekt genom att skriva följande:
oc describe daemonset omsagentoch 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.
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.
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:omsagentDistribuera den hemliga filen genom att köra följande:
oc create -f ocp-secret.yamlKontrollera distributionen genom att köra följande:
oc describe secret omsagent-secretoch 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 bytesDistribuera Log Analytics-agentens daemon-set yaml-fil genom att köra följande:
oc create -f ocp-ds-omsagent.yamlKontrollera distributionen genom att köra följande:
oc describe ds omsoch 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
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.
- Skript för hemlighetsgenerering – secret-gen.sh
- hemlig mall – secret-template.yaml
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.shSkapa hemlighetspodden genom att köra följande:
sudo kubectl create -f omsagentsecret.yamlKontrollera genom att köra följande:
keiko@ubuntu16-13db:~# sudo kubectl get secretsUtdata bör likna:
NAME TYPE DATA AGE default-token-gvl91 kubernetes.io/service-account-token 3 50d omsagent-secret Opaque 2 1dkeiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secretUtdata bör likna:
Name: omsagent-secret Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== WSID: 36 bytes KEY: 88 bytesSkapa 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 omsagentNAME 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.
Om du vill använda Log Analytics-agenten DaemonSet med 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.
- Skript för hemlighetsgenerering – secret-gen.sh
- secret template – secret-template.yaml
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.shSkapa omsagent-daemon-set genom att köra
kubectl create -f omsagentsecret.yamlKontrollera genom att köra följande:
root@ubuntu16-13db:~# kubectl get secretsUtdata 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 bytesSkapa 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> 1hOm 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/msomsResultatet 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> 3sDu 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> 17mMer 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.
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.
I området Containerstatus klickar du på det övre området enligt nedan.
Log Analytics öppnas och visar information om containrarnas 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 bristerna i miljön i sektionen Misslyckade containrar.
För att hitta felaktiga containrar
- Klicka på området Containerstatus .
- Log Analytics öppnas och visar tillståndet för dina containrar, ungefär som följande.
- 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.
- Kör frågan och expandera sedan en rad i resultatet för att visa bild-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.
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"
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.
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.