Containerbewakingsoplossing in Azure Monitor
In dit artikel wordt beschreven hoe u de containerbewakingsoplossing instelt en gebruikt in Azure Monitor, waarmee u uw Docker- en Windows-containerhosts op één locatie kunt weergeven en beheren. Docker is een softwarevirtualisatiesysteem dat wordt gebruikt voor het maken van containers waarmee software-implementatie naar hun IT-infrastructuur wordt geautomatiseerd.
Belangrijk
De containerbewakingsoplossing wordt uitgefaseerd. Als u uw Kubernetes-omgevingen wilt bewaken, raden we u aan over te stappen op Azure Monitor Container Insights.
Notitie
Dit artikel is onlangs bijgewerkt waarbij Log Analytics is vervangen door de term Azure Monitor-logboeken. Logboekgegevens worden nog steeds opgeslagen in een Log Analytics-werkruimte, en worden nog steeds verzameld en geanalyseerd met dezelfde Log Analytics-service. De terminologie wordt bijgewerkt om de rol van logboeken in Azure Monitor beter te weerspiegelen. Zie Wijzigingen in Azure Monitor-terminologie voor meer informatie.
De oplossing laat zien welke containers worden uitgevoerd, welke containerinstallatiekopieën worden uitgevoerd en waar containers worden uitgevoerd. U kunt gedetailleerde controle-informatie weergeven met opdrachten die worden gebruikt met containers. En u kunt problemen met containers oplossen door gecentraliseerde logboeken te bekijken en te zoeken zonder Docker- of Windows-hosts op afstand te hoeven bekijken. U kunt containers vinden die lawaaierig zijn en overtollige resources verbruiken op een host. En u kunt gecentraliseerde cpu-, geheugen-, opslag- en netwerkgebruiks- en prestatiegegevens voor containers bekijken. Op computers met Windows kunt u logboeken van Windows Server-, Hyper-V- en Docker-containers centraliseren en vergelijken. De oplossing ondersteunt de volgende containerorchestrators:
- Docker Swarm
- DC/OS
- Service Fabric
U wordt aangeraden Azure Monitor Container Insights te gebruiken voor het bewaken van uw Kubernetes en Red Hat OpenShift:
- AKS (Container Insights configureren voor AKS)
- Red Hat OpenShift (Container Insights configureren met behulp van Azure Arc)
Als u containers hebt geïmplementeerd in Azure Service Fabric, raden we u aan om zowel de Service Fabric-oplossing als deze oplossing in te schakelen voor het bewaken van clusterevenementen. Voordat u de Service Fabric-oplossing inschakelt, raadpleegt u De Service Fabric-oplossing gebruiken om te begrijpen wat deze biedt en hoe u deze kunt gebruiken.
Als u geïnteresseerd bent in het bewaken van de prestaties van uw workloads die zijn geïmplementeerd in Kubernetes-omgevingen die worden gehost op Azure Kubernetes Service (AKS), raadpleegt u Azure Kubernetes Service bewaken. De containerbewakingsoplossing biedt geen ondersteuning voor bewaking van dat platform.
In het volgende diagram ziet u de relaties tussen verschillende containerhosts en agents met Azure Monitor.
Systeemvereisten en ondersteunde platforms
Voordat u begint, bekijkt u de volgende details om te controleren of u aan de vereisten voldoet.
Ondersteuning voor containerbewakingsoplossing voor Docker Orchestrator en besturingssysteemplatform
De volgende tabel bevat een overzicht van de ondersteuning voor docker-indeling en besturingssysteembewaking van containerinventaris, -prestaties en -logboeken met Azure Monitor.
Docker Orchestration | ACS | Linux | Windows | Container Inventaris |
Installatiekopie Inventaris |
Knooppunt Inventaris |
Container Prestaties |
Container Gebeurtenis |
Gebeurtenis Logboek |
Container Logboek |
---|---|---|---|---|---|---|---|---|---|---|
Kubernetes | • | • | • | • | • | • | • | • | • | • |
Mesosfeer DC/OS |
• | • | • | • | • | • | • | • | • | |
Docker Zwerm |
• | • | • | • | • | • | • | • | • | |
Service Fabric |
• | • | • | • | • | • | • | • | • | |
Red Hat Open SHIFT |
• | • | • | • | • | • | • | |||
Windows Server (zelfstandig) |
• | • | • | • | • | • | • | |||
Linux-server (zelfstandig) |
• | • | • | • | • | • | • |
Docker-versies die worden ondersteund in Linux
- Docker 1.11 tot 1.13
- Docker CE en EE v17.06
x64 Linux-distributies die worden ondersteund als containerhosts
- Ubuntu 14.04 LTS en 16.04 LTS
- CoreOS(stabiel)
- Amazon Linux 2016.09.0
- openSUSE 13.2
- openSUSE LEAP 42.2
- CentOS 7.2 en 7.3
- SLES 12
- RHEL 7.2 en 7.3
- Red Hat OpenShift Container Platform (OCP) 3.4 en 3.5
- ACS Mesosphere DC/OS 1.7.3 tot 1.8.8
- ACS Kubernetes 1.4.5 tot 1.6
- Kubernetes-gebeurtenissen, Kubernetes-inventaris en containerprocessen worden alleen ondersteund met versie 1.4.1-45 en hoger van de Log Analytics-agent voor Linux
- ACS Docker Swarm
Notitie
Als onderdeel van de lopende overgang van Microsoft Operations Management Suite naar Azure Monitor, wordt er naar de Operations Management Suite Agent voor Windows of Linux verwezen als de Log Analytics-agent voor Windows en Log Analytics-agent voor Linux.
Ondersteund Windows-besturingssysteem
- Windows Server 2016
- Windows 10 Jubileumeditie (Professional of Enterprise)
Docker-versies die worden ondersteund in Windows
- Docker 1.12 en 1.13
- Docker 17.03.0 en hoger
De oplossing installeren en configureren
Gebruik de volgende informatie om de oplossing te installeren en configureren.
Voeg de containerbewakingsoplossing toe aan uw Log Analytics-werkruimte vanuit Azure Marketplace of met behulp van het proces dat wordt beschreven in Bewakingsoplossingen toevoegen vanuit de galerie met oplossingen.
Docker installeren en gebruiken met een Log Analytics-agent. Op basis van uw besturingssysteem en Docker Orchestrator kunt u de volgende methoden gebruiken om uw agent te configureren.
- Voor zelfstandige hosts:
- Op ondersteunde Linux-besturingssystemen installeert u Docker en voert u deze uit. Vervolgens installeert en configureert u de Log Analytics-agent voor Linux.
- In CoreOS kunt u de Log Analytics-agent voor Linux niet uitvoeren. In plaats daarvan voert u een containerversie van de Log Analytics-agent voor Linux uit. Controleer Linux-containerhosts, waaronder CoreOS of Azure Government Linux-containerhosts, waaronder CoreOS als u met containers in Azure Government Cloud werkt.
- Installeer op Windows Server 2016 en Windows 10 de Docker-engine en -client en verbind vervolgens een agent om informatie te verzamelen en naar Azure Monitor te verzenden. Raadpleeg Windows-containerhosts installeren en configureren als u een Windows-omgeving hebt.
- Voor docker-indeling met meerdere hosts:
- Als u een Red Hat OpenShift-omgeving hebt, raadpleegt u Een Log Analytics-agent configureren voor Red Hat OpenShift.
- Als u een Kubernetes-cluster hebt dat gebruikmaakt van Azure Container Service:
- Raadpleeg Een Log Analytics Linux-agent configureren voor Kubernetes.
- Raadpleeg Een Log Analytics Windows-agent configureren voor Kubernetes.
- Raadpleeg Helm gebruiken om de Log Analytics-agent te implementeren in Linux Kubernetes.
- Als u een DC/OS-cluster van Azure Container Service hebt, raadpleegt u Een DC/OS-cluster van Azure Container Service bewaken met Azure Monitor voor meer informatie.
- Als u een Docker Swarm-modusomgeving hebt, vindt u meer informatie op Een Log Analytics-agent configureren voor Docker Swarm.
- Als u een Service Fabric-cluster hebt, vindt u meer informatie op Containers bewaken met Azure Monitor.
- Voor zelfstandige hosts:
Raadpleeg het artikel Docker Engine in Windows voor meer informatie over het installeren en configureren van uw Docker Engines op computers met Windows.
Belangrijk
Docker moet worden uitgevoerd voordat u de Log Analytics-agent voor Linux op uw containerhosts installeert. Als u de agent al hebt geïnstalleerd voordat u Docker installeert, moet u de Log Analytics-agent voor Linux opnieuw installeren. Zie de Docker-website voor meer informatie over Docker.
Linux-containerhosts installeren en configureren
Nadat u Docker hebt geïnstalleerd, gebruikt u de volgende instellingen voor uw containerhost om de agent te configureren voor gebruik met Docker. Eerst hebt u de id en sleutel van uw Log Analytics-werkruimte nodig, die u kunt vinden in de Azure Portal. Klik in uw werkruimte op Snelstartcomputers> om uw werkruimte-id en primaire sleutel weer te geven. Kopieer en plak beide in uw favoriete editor.
Voor alle Linux-containerhosts, met uitzondering van CoreOS:
- Zie Overzicht van Log Analytics-agent voor meer informatie en stappen voor het installeren van de Log Analytics-agent voor Linux.
Voor alle Linux-containerhosts, inclusief CoreOS:
Start de container die u wilt bewaken. Wijzig en gebruik het volgende voorbeeld:
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
Voor alle Azure Government Linux-containerhosts, waaronder CoreOS:
Start de container die u wilt bewaken. Wijzig en gebruik het volgende voorbeeld:
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
Overschakelen van het gebruik van een geïnstalleerde Linux-agent naar een agent in een container
Als u eerder de rechtstreeks geïnstalleerde agent hebt gebruikt en in plaats daarvan een agent wilt gebruiken die wordt uitgevoerd in een container, moet u eerst de Log Analytics-agent voor Linux verwijderen. Zie De Log Analytics-agent voor Linux verwijderen voor meer informatie over het verwijderen van de agent.
Een Log Analytics-agent configureren voor Docker Swarm
U kunt de Log Analytics-agent uitvoeren als een globale service op Docker Swarm. Gebruik de volgende informatie om een Log Analytics-agentservice te maken. U moet uw Log Analytics-werkruimte-id en primaire sleutel opgeven.
Voer het volgende uit op het hoofdknooppunt.
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
Geheimen beveiligen voor Docker Swarm
Als voor Docker Swarm het geheim voor werkruimte-id en primaire sleutel is gemaakt, gebruikt u de volgende informatie om uw geheime gegevens te maken.
Voer het volgende uit op het hoofdknooppunt.
echo "WSID" | docker secret create WSID - echo "KEY" | docker secret create KEY -
Controleer of de geheimen juist zijn gemaakt.
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
Voer de volgende opdracht uit om de geheimen te koppelen aan de in een container geplaatste Log Analytics-agent.
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
Een Log Analytics-agent configureren voor Red Hat OpenShift
Er zijn drie manieren om de Log Analytics-agent toe te voegen aan Red Hat OpenShift om containerbewakingsgegevens te verzamelen.
- De Log Analytics-agent voor Linux rechtstreeks op elk OpenShift-knooppunt installeren
- Log Analytics VM-extensie inschakelen op elk OpenShift-knooppunt dat zich in Azure bevindt
- De Log Analytics-agent installeren als een OpenShift-daemonset
In deze sectie behandelen we de stappen die nodig zijn om de Log Analytics-agent te installeren als een OpenShift-daemonset.
Meld u aan bij het OpenShift-hoofdknooppunt en kopieer het yaml-bestand ocp-omsagent.yaml van GitHub naar uw hoofdknooppunt en wijzig de waarde met uw Log Analytics-werkruimte-id en met uw primaire sleutel.
Voer de volgende opdrachten uit om een project voor Azure Monitor te maken en het gebruikersaccount in te stellen.
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
Voer het volgende uit om de daemon-set te implementeren:
oc create -f ocp-omsagent.yaml
Als u wilt controleren of deze is geconfigureerd en correct werkt, typt u het volgende:
oc describe daemonset omsagent
en de uitvoer moet er ongeveer als volgt uitzien:
[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.
Als u geheimen wilt gebruiken om uw Log Analytics-werkruimte-id en primaire sleutel te beveiligen wanneer u het daemonset yaml-bestand van de Log Analytics-agent gebruikt, voert u de volgende stappen uit.
Meld u aan bij het OpenShift-hoofdknooppunt en kopieer het yaml-bestand ocp-ds-omsagent.yaml en het script voor het genereren van geheimen ocp-secretgen.sh van GitHub. Met dit script wordt het yaml-bestand met geheimen voor de Log Analytics-werkruimte-id en primaire sleutel gegenereerd om uw geheime gegevens te beveiligen.
Voer de volgende opdrachten uit om een project voor Azure Monitor te maken en het gebruikersaccount in te stellen. Het script dat het geheim genereert, vraagt om uw Log Analytics-werkruimte-id
<WSID>
en primaire sleutel<KEY>
. Wanneer het script is voltooid, wordt het bestand ocp-secret.yaml gemaakt.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
Implementeer het geheime bestand door het volgende uit te voeren:
oc create -f ocp-secret.yaml
Controleer de implementatie door het volgende uit te voeren:
oc describe secret omsagent-secret
en de uitvoer moet er ongeveer als volgt uitzien:
[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
Implementeer het yaml-bestand met de daemonset van de Log Analytics-agent door het volgende uit te voeren:
oc create -f ocp-ds-omsagent.yaml
Controleer de implementatie door het volgende uit te voeren:
oc describe ds oms
en de uitvoer moet er ongeveer als volgt uitzien:
[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.
Een Log Analytics Linux-agent configureren voor Kubernetes
Voor Kubernetes gebruikt u een script om het yaml-bestand met geheimen te genereren voor uw werkruimte-id en primaire sleutel om de Log Analytics-agent voor Linux te installeren. Op de Log Analytics Docker Kubernetes GitHub-pagina staan bestanden die u met of zonder uw geheime gegevens kunt gebruiken.
- De standaard Log Analytics-agent voor Linux DaemonSet heeft geen geheime informatie (omsagent.yaml)
- Het yaml-bestand Log Analytics-agent voor Linux DaemonSet gebruikt geheime informatie (omsagent-ds-secrets.yaml) met scripts voor het genereren van geheimen om het yaml-bestand (omsagentsecret.yaml) te genereren.
U kunt ervoor kiezen om omsagent DaemonSets met of zonder geheimen te maken.
Yaml-bestand standaard OMSagent DaemonSet zonder geheimen
Vervang en in uw WSID en SLEUTEL voor het standaard DaemonSet-yaml-bestand van de
<WSID>
<KEY>
Log Analytics-agent. Kopieer het bestand naar het hoofdknooppunt en voer het volgende uit:sudo kubectl create -f omsagent.yaml
Yaml-bestand standaard OMSagent DaemonSet met geheimen
Als u DaemonSet van log analytics-agent wilt gebruiken met behulp van geheime informatie, moet u eerst de geheimen maken.
Kopieer het script en het geheime sjabloonbestand en zorg ervoor dat ze zich in dezelfde map bevinden.
- Script voor het genereren van geheimen - secret-gen.sh
- geheime sjabloon - secret-template.yaml
Voer het script uit, zoals in het volgende voorbeeld. Het script vraagt om de Log Analytics-werkruimte-id en primaire sleutel. Nadat u deze hebt ingevoerd, maakt het script een geheim yaml-bestand, zodat u het kunt uitvoeren.
#> sudo bash ./secret-gen.sh
Maak de geheimenpod door het volgende uit te voeren:
sudo kubectl create -f omsagentsecret.yaml
Voer het volgende uit om dit te controleren:
keiko@ubuntu16-13db:~# sudo kubectl get secrets
De uitvoer moet er ongeveer als volgt uitzien:
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
De uitvoer moet er ongeveer als volgt uitzien:
Name: omsagent-secret Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== WSID: 36 bytes KEY: 88 bytes
Maak uw omsagent daemon-set door uit te voeren
sudo kubectl create -f omsagent-ds-secrets.yaml
Controleer of de DaemonSet van de Log Analytics-agent wordt uitgevoerd, vergelijkbaar met het volgende:
keiko@ubuntu16-13db:~# sudo kubectl get ds omsagent
NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 3 3 <none> 1h
Gebruik voor Kubernetes een script om het yaml-bestand met geheimen te genereren voor werkruimte-id en primaire sleutel voor de Log Analytics-agent voor Linux. Gebruik de volgende voorbeeldinformatie met het yaml-bestand om de geheime gegevens te beveiligen.
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
Een Log Analytics Windows-agent configureren voor Kubernetes
Voor Windows Kubernetes gebruikt u een script om het yaml-bestand met geheimen te genereren voor uw werkruimte-id en primaire sleutel om de Log Analytics-agent te installeren. Op de GitHub-pagina Log Analytics Docker Kubernetes staan bestanden die u kunt gebruiken met uw geheime gegevens. U moet de Log Analytics-agent afzonderlijk installeren voor de hoofd- en agentknooppunten.
Als u DaemonSet van log analytics-agent wilt gebruiken met behulp van geheime informatie op het hoofdknooppunt, meldt u zich aan en maakt u eerst de geheimen.
Kopieer het script en het geheime sjabloonbestand en zorg ervoor dat ze zich in dezelfde map bevinden.
- Script voor het genereren van geheimen - secret-gen.sh
- geheime sjabloon - secret-template.yaml
Voer het script uit, zoals in het volgende voorbeeld. Het script vraagt om de Log Analytics-werkruimte-id en primaire sleutel. Nadat u deze hebt ingevoerd, maakt het script een geheim yaml-bestand, zodat u het kunt uitvoeren.
#> sudo bash ./secret-gen.sh
Maak uw omsagent daemon-set door uit te voeren
kubectl create -f omsagentsecret.yaml
Voer het volgende uit om dit te controleren:
root@ubuntu16-13db:~# kubectl get secrets
De uitvoer moet er ongeveer als volgt uitzien:
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
Maak uw omsagent daemon-set door uit te voeren
kubectl create -f ws-omsagent-de-secrets.yaml
Controleer of de DaemonSet van de Log Analytics-agent wordt uitgevoerd, vergelijkbaar met het volgende:
root@ubuntu16-13db:~# kubectl get deployment omsagent NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 1 1 <none> 1h
Als u de agent wilt installeren op het werkknooppunt, waarop Windows wordt uitgevoerd, volgt u de stappen in de sectie Windows-containerhosts installeren en configureren.
Helm gebruiken om de Log Analytics-agent te implementeren in Linux Kubernetes
Als u Helm wilt gebruiken om de Log Analytics-agent te implementeren in uw Linux Kubernetes-omgeving, voert u de volgende stappen uit.
Maak uw omsagent daemon-set door uit te voeren
helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms
De resultaten zien er ongeveer als volgt uit:
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
U kunt de status van de omsagent controleren door uit te voeren:
helm status "omsagent"
en de uitvoer ziet er ongeveer als volgt uit: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
Ga voor meer informatie naar Helm-grafiek containeroplossing.
Windows-containerhosts installeren en configureren
Gebruik de informatie in de sectie om Windows-containerhosts te installeren en te configureren.
Voorbereiding voordat u Windows-agents installeert
Voordat u agents installeert op computers met Windows, moet u de Docker-service configureren. Met de configuratie kan de Windows-agent of de virtuele-machine-extensie van Azure Monitor gebruikmaken van de Docker TCP-socket, zodat de agents op afstand toegang hebben tot de Docker-daemon en gegevens kunnen vastleggen voor bewaking.
De Docker-service configureren
Voer de volgende PowerShell-opdrachten uit om TCP-pipe en named pipe in te schakelen voor Windows Server:
Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375
Start-Service docker
Zie Docker Engine in Windows voor meer informatie over de configuratie van De Docker-daemon die wordt gebruikt met Windows-containers.
Windows-agents installeren
Als u Windows- en Hyper-V-containerbewaking wilt inschakelen, installeert u de Microsoft Monitoring Agent (MMA) op Windows-computers die containerhosts zijn. Zie Windows-computers verbinden met Azure Monitor voor computers met Windows in uw on-premises omgeving. Voor virtuele machines die worden uitgevoerd in Azure, verbindt u deze met Azure Monitor met behulp van de extensie voor virtuele machines.
U kunt Windows-containers bewaken die worden uitgevoerd op Service Fabric. Momenteel worden echter alleen virtuele machines die worden uitgevoerd in Azure en computers met Windows in uw on-premises omgeving ondersteund voor Service Fabric.
U kunt controleren of de containerbewakingsoplossing juist is ingesteld voor Windows. Als u wilt controleren of het management pack correct is gedownload, zoekt u naar ContainerManagement.xxx. De bestanden moeten zich in de map C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs bevinden.
Oplossingsonderdelen
Ga vanuit de Azure Portal naar de galerie met oplossingen en voeg de containerbewakingsoplossing toe. Als u Windows-agents gebruikt, wordt het volgende management pack geïnstalleerd op elke computer met een agent wanneer u deze oplossing toevoegt. Er is geen configuratie of onderhoud vereist voor het management pack.
- ContainerManagement.xxx geïnstalleerd in C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs
Details van containergegevensverzameling
De containerbewakingsoplossing verzamelt verschillende prestatiegegevens en logboekgegevens van containerhosts en containers met behulp van agents die u inschakelt.
Gegevens worden elke drie minuten verzameld door de volgende agenttypen.
Containerrecords
In de volgende tabel ziet u voorbeelden van records die zijn verzameld door de Container Monitoring-oplossing en de gegevenstypen die worden weergegeven in de zoekresultaten voor logboeken.
Gegevenstype | Gegevenstype in Zoeken in logboeken | Velden |
---|---|---|
Prestaties voor hosts en containers | 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 |
Containerinventaris | ContainerInventory |
TimeGenerated, Computer, containernaam, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID |
Inventaris van containerinstallatiekopieën | ContainerImageInventory |
TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Wordt uitgevoerd, Onderbroken, Gestopt, Mislukt, SourceSystem, ImageID, TotalContainer |
Containerlogboek | ContainerLog |
TimeGenerated, Computer, installatiekopieën-id, containernaam, LogEntrySource, LogEntry, SourceSystem, ContainerID |
Containerservicelogboek | ContainerServiceLog |
TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID |
Containerknooppuntinventaris | ContainerNodeInventory_CL |
TimeGenerated, Computer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem |
Kubernetes-inventaris | 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 |
Containerproces | 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-gebeurtenissen | KubeEvents_CL |
TimeGenerated, Computer, Name_s, ObjectKind_s, Namespace_s, Reason_s, Type_s, SourceComponent_s, SourceSystem, Message |
Labels die zijn toegevoegd aan PodLabel-gegevenstypen , zijn uw eigen aangepaste labels. De toegevoegde PodLabel-labels die in de tabel worden weergegeven, zijn voorbeelden. Dus , PodLabel_deployment_s
, PodLabel_deploymentconfig_s
PodLabel_docker_registry_s
verschilt in de gegevensset van uw omgeving en lijkt in het algemeen op PodLabel_yourlabel_s
.
Containers bewaken
Nadat u de oplossing hebt ingeschakeld in de Azure Portal, geeft de tegel Containers samenvattingsinformatie weer over uw containerhosts en de containers die worden uitgevoerd op hosts.
De tegel geeft een overzicht weer van het aantal containers dat u in de omgeving hebt en of deze zijn mislukt, uitgevoerd of gestopt.
Het dashboard Containers gebruiken
Klik op de tegel Containers . Van daaruit ziet u weergaven die zijn geordend op:
- Containergebeurtenissen : geeft de containerstatus en computers met mislukte containers weer.
- Containerlogboeken : toont een grafiek met containerlogboekbestanden die in de loop van de tijd zijn gegenereerd en een lijst met computers met het hoogste aantal logboekbestanden.
- Kubernetes-gebeurtenissen : toont een grafiek met Kubernetes-gebeurtenissen die in de loop van de tijd zijn gegenereerd en een lijst met de redenen waarom pods de gebeurtenissen hebben gegenereerd. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
- Kubernetes-naamruimteinventaris : toont het aantal naamruimten en pods en de bijbehorende hiërarchie. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
- Containerknooppuntinventaris : toont het aantal indelingstypen dat wordt gebruikt op containerknooppunten/hosts. De computerknooppunten/hosts worden ook vermeld op basis van het aantal containers. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
- Container Images Inventory : toont het totale aantal gebruikte containerinstallatiekopieën en het aantal installatiekopieën. Het aantal afbeeldingen wordt ook weergegeven door de afbeeldingstag.
- Status van containers : geeft het totale aantal containerknooppunten/hostcomputers weer waarop containers worden uitgevoerd. Computers worden ook vermeld op basis van het aantal actieve hosts.
- Containerproces : toont een lijndiagram van containerprocessen die in de loop van de tijd worden uitgevoerd. Containers worden ook weergegeven door opdracht/proces in containers uit te voeren. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
- Cpu-prestaties van containers : toont een lijndiagram van het gemiddelde CPU-gebruik gedurende een bepaalde periode voor computerknooppunten/hosts. Geeft ook de computerknooppunten/hosts weer op basis van gemiddeld CPU-gebruik.
- Prestaties van containergeheugen : geeft een lijndiagram weer van het geheugengebruik in de loop van de tijd. Geeft ook het geheugengebruik van de computer weer op basis van de naam van het exemplaar.
- Computerprestaties : geeft lijndiagrammen weer van het percentage CPU-prestaties in de loop van de tijd, het percentage geheugengebruik in de loop van de tijd en megabytes aan vrije schijfruimte in de loop van de tijd. U kunt de muisaanwijzer over een lijn in een grafiek bewegen om meer details weer te geven.
Elk gebied van het dashboard is een visuele weergave van een zoekopdracht die wordt uitgevoerd op verzamelde gegevens.
Klik in het gebied Containerstatus op het bovenste gebied, zoals hieronder wordt weergegeven.
Log Analytics wordt geopend, met informatie over de status van uw containers.
Hier kunt u de zoekquery bewerken om deze te wijzigen om de specifieke informatie te vinden waarin u geïnteresseerd bent. Zie Logboekquery's in Azure Monitor voor meer informatie over logboekquery's.
Problemen oplossen door een mislukte container te vinden
Log Analytics markeert een container als Mislukt als deze is afgesloten met een afsluitcode die niet nul is. U kunt een overzicht van de fouten en fouten in de omgeving bekijken in het gebied Mislukte containers .
Mislukte containers zoeken
- Klik op het gebied Containerstatus .
- Log Analytics wordt geopend en geeft de status van uw containers weer, vergelijkbaar met het volgende.
- Vouw de regel Mislukt uit en klik op + om de criteria toe te voegen aan de query. Maak vervolgens een opmerking over de regel Samenvatten in de query.
- Voer de query uit en vouw vervolgens een regel in de resultaten uit om de afbeeldings-id weer te geven.
- Typ het volgende in de logboekquery.
ContainerImageInventory | where ImageID == <ImageID>
om details over de installatiekopieën te bekijken, zoals de grootte van de installatiekopieën en het aantal gestopte en mislukte installatiekopieën.
Querylogboeken voor containergegevens opvragen
Wanneer u een specifieke fout wilt oplossen, kan dit helpen om te zien waar deze zich voordoet in uw omgeving. Met de volgende logboektypen kunt u query's maken om de gewenste informatie te retourneren.
- ContainerImageInventory : gebruik dit type wanneer u informatie wilt zoeken die is geordend op installatiekopie en om afbeeldingsinformatie weer te geven, zoals afbeeldings-id's of grootten.
- ContainerInventory : gebruik dit type als u informatie wilt over de locatie van de container, wat de namen zijn en welke installatiekopieën worden uitgevoerd.
- ContainerLog : gebruik dit type als u specifieke informatie en vermeldingen in het foutenlogboek wilt zoeken.
- ContainerNodeInventory_CL Gebruik dit type als u informatie wilt over de host/het knooppunt waar containers zich bevinden. Het biedt u docker-versie, indelingstype, opslag en netwerkinformatie.
- ContainerProcess_CL Gebruik dit type om snel het proces te zien dat binnen de container wordt uitgevoerd.
- ContainerServiceLog : gebruik dit type wanneer u informatie over audittrails voor de Docker-daemon zoekt, zoals opdrachten voor starten, stoppen, verwijderen of pull-opdrachten.
- KubeEvents_CL Gebruik dit type om de Kubernetes-gebeurtenissen te bekijken.
- KubePodInventory_CL Gebruik dit type als u informatie over de clusterhiërarchie wilt begrijpen.
Logboeken voor containergegevens opvragen
Kies een installatiekopieën die onlangs zijn mislukt en zoek de foutenlogboeken voor de installatiekopieën. Begin met het zoeken naar een containernaam waarop die installatiekopieën worden uitgevoerd met een ContainerInventory-zoekopdracht . Zoek bijvoorbeeld naar
ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
Vouw een rij in de resultaten uit om details voor die container weer te geven.
Voorbeeld van logboekquery's
Het is vaak handig om query's te maken die beginnen met een of twee voorbeelden en deze vervolgens aanpassen aan uw omgeving. Als uitgangspunt kunt u experimenteren met het gebied VOORBEELDQUERY's uiterst rechts op de oplossingspagina, zodat u geavanceerdere query's kunt maken.
Logboekquery's opslaan
Het opslaan van query's is een standaardfunctie in Azure Monitor. Door ze op te slaan, beschikt u over de bestanden die u nuttig hebt gevonden voor toekomstig gebruik.
Nadat u een query hebt gemaakt die u nuttig vindt, slaat u deze op door boven aan de pagina Zoeken in logboeken op Favorieten te klikken. Vervolgens kunt u het later eenvoudig openen via de pagina Mijn dashboard .
Oplossing verwijderen uit uw werkruimte
Als u de containerbewakingsoplossing wilt verwijderen, volgt u de instructies voor het verwijderen van oplossingen met behulp van een van de volgende opties: Azure Portal, PowerShell of Azure CLI
Volgende stappen
Query's uitvoeren op logboeken om gedetailleerde containergegevensrecords weer te geven.