Container Monitoring-oplossing in Azure Monitor

Containersymbool

In dit artikel wordt beschreven hoe u de containerbewakingsoplossing in Azure Monitor in kunt stellen en gebruiken, waarmee u uw Docker- en Windows-containerhosts op één locatie kunt bekijken en beheren. Docker is een softwarevirtualisatiesysteem dat wordt gebruikt om containers te maken waarmee software-implementatie in hun IT-infrastructuur wordt automatiseren.

Belangrijk

De containerbewakingsoplossing wordt uitgefaseerd. Voor het bewaken van uw Kubernetes-omgevingen raden we u aan om Azure Monitor Container Insights te gebruiken

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 containerafbeelding ze uitvoeren en waar containers worden uitgevoerd. U kunt gedetailleerde controlegegevens weergeven met opdrachten die worden gebruikt met containers. En u kunt problemen met containers oplossen door gecentraliseerde logboeken te bekijken en te doorzoeken zonder docker of hosts op afstand Windows weergeven. U kunt containers vinden die ruis kunnen veroorzaken en overtollige resources op een host verbruiken. En u kunt gecentraliseerde CPU, geheugen, opslag en netwerkgebruik en prestatiegegevens voor containers weergeven. Op computers met Windows kunt u logboeken van Windows Server-, Hyper-V- en Docker-containers centraliseren en vergelijken. De oplossing ondersteunt de volgende container-orchestrators:

  • Docker Swarm
  • DC/OS
  • Service Fabric

We raden u aan Azure Monitor Container Insights te gebruiken voor het bewaken van uw Kubernetes en Red Hat OpenShift:

Als u containers hebt geïmplementeerd in Azure Service Fabric,raden we u aan zowel de Service Fabric-oplossing als deze oplossing in te stellen om bewaking van clustergebeurtenissen op te nemen. Voordat u de Service Fabric inschakelen, bekijkt u Using the Service Fabric solution (De oplossing Service Fabric gebruiken) om te begrijpen wat de oplossing 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), zie Monitor Azure Kubernetes Service. De containerbewakingsoplossing biedt geen ondersteuning voor de bewaking van dat platform.

In het volgende diagram ziet u de relaties tussen verschillende containerhosts en agents met Azure Monitor.

Containersdiagram

Systeemvereisten en ondersteunde platforms

Lees voordat u begint de volgende gegevens om te controleren of u aan de vereisten voldoet.

Ondersteuning voor containerbewakingsoplossing voor Docker Orchestrator en os-platform

De volgende tabel bevat een overzicht van de docker-orchestration en besturingssysteembewakingsondersteuning voor 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
Mesosphere
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 Anniversary Edition (Professional of Enterprise)

Docker-versies die worden ondersteund op 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.

  1. Voeg de containerbewakingsoplossing toe aan uw Log Analytics-werkruimte vanuit Azure Marketplace of met behulp van het proces dat wordt beschreven in Bewakingsoplossingen van de Oplossingengalerie.

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

Lees het artikel Docker Engine on Windows for additional information about how to install and configure your Docker Engines on computers running Windows.

Belangrijk

Docker moet actief zijn 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-websitevoor meer informatie over Docker.

Linux-containerhosts installeren en configureren

Nadat u Docker hebt geïnstalleerd, gebruikt u de volgende instellingen voor de containerhost om de agent te configureren voor gebruik met Docker. Eerst hebt u uw Log Analytics-werkruimte-id en -sleutel nodig, die u kunt vinden in de Azure Portal. Klik in uw werkruimte op computers Snel starten > uw werkruimte-id en primaire sleutel weer te bieden. Kopieer en plak beide in uw favoriete editor.

Voor alle Linux-containerhosts behalve CoreOS:

  • Zie Log Analytics agent overview (Overzicht van Log Analytics-agent)voor meer informatie en stappen over 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 linux Azure Government 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/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 direct 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 Uninstalling the Log Analytics agent for Linux (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 verstrekken.

  • Voer het volgende uit op het hoofd-knooppunt.

    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.

  1. Voer het volgende uit op het hoofd-knooppunt.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. Controleer of de geheimen correct 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
    
  3. Voer de volgende opdracht uit om de geheimen te mounten 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 te beginnen met het verzamelen van bewakingsgegevens voor containers.

In deze sectie behandelen we de stappen die nodig zijn om de Log Analytics-agent te installeren als een OpenShift-daemon-set.

  1. Meld u aan bij het OpenShift-hoofd-knooppunt en kopieer het yaml-bestand ocp-omsagent.yaml van GitHub naar uw hoofd-knooppunt en wijzig de waarde met uw Log Analytics-werkruimte-id en met uw primaire sleutel.

  2. Voer de volgende opdrachten uit om een project voor Azure Monitor en stel het gebruikersaccount in.

    oc adm new-project omslogging --node-selector='zone=default'
    oc project omslogging  
    oc create serviceaccount omsagent  
    oc adm policy add-cluster-role-to-user cluster-reader   system:serviceaccount:omslogging:omsagent  
    oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent  
    
  3. Voer de volgende stappen uit om de daemon-set te implementeren:

    oc create -f ocp-omsagent.yaml

  4. Als u wilt controleren of deze is geconfigureerd en correct werkt, typt u het volgende:

    oc describe daemonset omsagent

    en de uitvoer moet er als het volgende uit zien:

    [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 yaml-bestand daemon-set van de Log Analytics-agent gebruikt, voert u de volgende stappen uit.

  1. Meld u aan bij het OpenShift-hoofd-knooppunt en kopieer het yaml-bestand ocp-ds-omsagent.yaml en het script dat het ocp-secretgen.sh van GitHub. Met dit script worden het yaml-bestand met geheimen voor log analytics-werkruimte-id en primaire sleutel gegenereerd om uw geheime gegevens te beveiligen.

  2. Voer de volgende opdrachten uit om een project voor Azure Monitor en stel het gebruikersaccount in. Het script dat het geheim genereert, vraagt om uw Log Analytics-werkruimte-id en primaire sleutel. Na voltooiing wordt het <WSID> <KEY> 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  
    
  3. Implementeer het geheime bestand door het volgende uit te stellen:

    oc create -f ocp-secret.yaml

  4. Controleer de implementatie door het volgende uit te gaan:

    oc describe secret omsagent-secret

    en de uitvoer moet er als het volgende uit zien:

    [ocpadmin@khocp-master-0 ~]$ oc describe secret omsagent-secret  
    Name:           omsagent-secret  
    Namespace:      omslogging  
    Labels:         <none>  
    Annotations:    <none>  
    
    Type:   Opaque  
    
    Data  
    ====  
    KEY:    89 bytes  
    WSID:   37 bytes  
    
  5. Implementeer het yaml-bestand daemon-set van de Log Analytics-agent door het volgende uit te stellen:

    oc create -f ocp-ds-omsagent.yaml

  6. Controleer de implementatie door het volgende uit te gaan:

    oc describe ds oms

    en de uitvoer moet er als het volgende uit zien:

    [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 voor uw werkruimte-id en primaire sleutel te genereren om de Log Analytics-agent voor Linux te installeren. Op de pagina Log Analytics Docker Kubernetes GitHub staan bestanden die u met of zonder uw geheime gegevens kunt gebruiken.

  • De Standaard Log Analytics-agent voor Linux DaemonSet bevat geen geheime informatie (omsagent.yaml)
  • Het Yaml-bestand Log Analytics-agent voor Linux DaemonSet maakt gebruik van geheime informatie (omsagent-ds-secrets.yaml) met scripts voor het genereren van geheimen om het yaml-bestand met geheimen (omsagentsecret.yaml) te genereren.

U kunt ervoor kiezen omsagent DaemonSets te maken met of zonder geheimen.

Standaard YAML-bestand OMSagent DaemonSet zonder geheimen

  • Vervang voor het standaard Yaml-bestand DaemonSet van de Log Analytics-agent en <WSID> <KEY> door uw WSID en SLEUTEL. Kopieer het bestand naar uw hoofd-knooppunt en voer het volgende uit:

    sudo kubectl create -f omsagent.yaml
    

Standaard OMSagent DaemonSet yaml-bestand met geheimen

  1. Als u De Log Analytics-agent DaemonSet wilt gebruiken met behulp van geheime gegevens, maakt u eerst de geheimen.

    1. Kopieer het script en het geheime sjabloonbestand en zorg ervoor dat ze zich in dezelfde map.

      • Script voor het genereren van geheimen - secret-gen.sh
      • geheimsjabloon - secret-template.yaml
    2. Voer het script uit, zoals in het volgende voorbeeld. Het script vraagt om de Log Analytics-werkruimte-id en primaire sleutel. Nadat u ze hebt invoeren, maakt het script een geheim yaml-bestand zodat u het kunt uitvoeren.

      #> sudo bash ./secret-gen.sh
      
    3. Maak de geheimen-pod door het volgende uit te doen:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. Voer de volgende stappen uit om dit te controleren:

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

      De uitvoer moet er als het volgende uit zien:

      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 als het volgende uit zien:

      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Maak uw omsagent daemon-set door uit te sudo kubectl create -f omsagent-ds-secrets.yaml

  2. 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 voorbeeldgegevens met het yaml-bestand omsagent om uw 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 voor Kubernetes configureren

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 pagina Log Analytics Docker Kubernetes GitHub staan bestanden die u met uw geheime gegevens kunt gebruiken. U moet de Log Analytics-agent afzonderlijk installeren voor de hoofd- en agentknooppunten.

  1. Als u De Log Analytics-agent DaemonSet wilt gebruiken met behulp van geheime gegevens op het hoofd-knooppunt, meldt u zich aan en maakt u eerst de geheimen.

    1. Kopieer het script en het geheime sjabloonbestand en zorg ervoor dat ze zich in dezelfde map.

      • Script voor het genereren van geheimen - secret-gen.sh
      • geheimsjabloon - secret-template.yaml
    2. Voer het script uit, zoals in het volgende voorbeeld. Het script vraagt om de Log Analytics-werkruimte-id en primaire sleutel. Nadat u ze hebt invoeren, maakt het script een geheim yaml-bestand zodat u het kunt uitvoeren.

      #> sudo bash ./secret-gen.sh
      
    3. Maak uw omsagent daemon-set door uit te kubectl create -f omsagentsecret.yaml

    4. Voer de volgende stappen uit om dit te controleren:

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

      De uitvoer moet er als het volgende uit zien:

      NAME                  TYPE                                  DATA      AGE
      default-token-gvl91   kubernetes.io/service-account-token   3         50d
      omsagent-secret       Opaque                                2         1d
      root@ubuntu16-13db:~# kubectl describe secrets omsagent-secret
      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Maak uw omsagent daemon-set door uit te kubectl create -f ws-omsagent-de-secrets.yaml

  2. 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
    
  3. Als u de agent wilt installeren op het worker-knooppunt waarop Windows wordt uitgevoerd, volgt u de stappen in de sectie Installeren en configureren Windows containerhosts.

Helm gebruiken om log analytics-agent te implementeren in Linux Kubernetes

Voer de volgende stappen uit als u Helm wilt gebruiken om de Log Analytics-agent te implementeren in uw Linux Kubernetes-omgeving.

  1. Maak uw omsagent daemon-set door uit te helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms

  2. 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
    
  3. U kunt de status van de omsagent controleren door uit te gaan: en de uitvoer ziet er helm status "omsagent" 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 naar Helm-grafiek voor containeroplossing voor meer informatie.

Containerhosts Windows en configureren

Gebruik de informatie in de sectie voor het installeren en configureren Windows containerhosts.

Voorbereiding voordat u de Windows installeert

Voordat u agents installeert op computers met Windows, moet u de Docker-service configureren. Met de configuratie kan de Windows-agent of de extensie van de virtuele Azure Monitor-machine de Docker TCP-socket gebruiken, 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 Windows server:

Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375  
Start-Service docker

Zie Docker Engineop Windows voor meer informatie over de configuratie van de Docker-daemon die wordt gebruikt Windows Containers.

De Windows installeren

Als u Windows en Hyper-V-containerbewaking wilt inschakelen, installeert u de MMA (Microsoft Monitoring Agent) op Windows computers die containerhosts zijn. Zie Voor computers Windows in uw on-premises omgeving computers Verbinding maken Windows te Azure Monitor. Voor virtuele machines die in Azure worden uitgevoerd, verbindt u deze met Azure Monitor met behulp van de extensie van de virtuele machine.

U kunt de Windows die worden uitgevoerd op Service Fabric. Momenteel worden echter alleen virtuele machines die worden uitgevoerd in Azure en computers Windows in uw on-premises omgeving ondersteund voor Service Fabric.

U kunt controleren of de containerbewakingsoplossing correct is ingesteld voor Windows. Als u wilt controleren of de management pack juist is gedownload, gaat 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

Navigeer Azure Portal het Oplossingengalerie en voeg containerbewakingsoplossing toe. Als u agents Windows gebruikt, wordt de volgende management pack geïnstalleerd op elke computer met een agent wanneer u deze oplossing toevoegt. Er is geen configuratie of onderhoud vereist voor de management pack.

  • ContainerManagement.xxx geïnstalleerd in C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs

Details van het verzamelen van containergegevens

De containerbewakingsoplossing verzamelt verschillende metrische prestatiegegevens en logboekgegevens van containerhosts en containers met behulp van agents die u inschakelen.

De volgende agenttypen verzamelen elke drie minuten gegevens.

Containerrecords

De volgende tabel bevat voorbeelden van records die zijn verzameld door de containerbewakingsoplossing en de gegevenstypen die worden weergegeven in de zoekresultaten van 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 containerafbeeldingen ContainerImageInventory TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Running, Paused, Stopped, Failed, SourceSystem, ImageID, TotalContainer
Containerlogboek ContainerLog TimeGenerated, Computer, image ID, container name, LogEntrySource, LogEntry, SourceSystem, ContainerID
Logboek voor containerservice ContainerServiceLog TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID
Inventaris van container-knooppunt 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 toevoegende PodLabel-labels die in de tabel worden weergegeven, zijn voorbeelden. Dus , PodLabel_deployment_s , verschilt in de gegevensset van uw PodLabel_deploymentconfig_s omgeving en lijkt in het algemeen op PodLabel_docker_registry_s PodLabel_yourlabel_s .

Containers bewaken

Nadat u de oplossing hebt ingeschakeld in de Azure Portal, toont de tegel Containers samenvattingsinformatie over uw containerhosts en de containers die op hosts worden uitgevoerd.

Tegel Containers

Op de tegel ziet u een overzicht 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. Hier ziet u weergaven die zijn geordend op:

  • Containergebeurtenissen: geeft de containerstatus en computers met mislukte containers weer.
  • Containerlogboeken: toont een grafiek met containerlogboekbestanden die gedurende een periode zijn gegenereerd en een lijst met computers met het hoogste aantal logboekbestanden.
  • Kubernetes-gebeurtenissen: toont een grafiek met Kubernetes-gebeurtenissen die gedurende een periode zijn gegenereerd en een lijst met de redenen waarom pods de gebeurtenissen hebben gegenereerd. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
  • Inventaris van Kubernetes-naamruimte: toont het aantal naamruimten en pods en toont de hiërarchie. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
  • Inventaris van containerknooppunten: geeft het aantal orchestrationtypen weer dat wordt gebruikt op containerknooppunten/hosts. De computerknooppunten/hosts worden ook vermeld op het aantal containers. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
  • Inventaris van containerafbeeldingen: toont het totale aantal gebruikte containerafbeeldingen en het aantal typen afbeeldingen. Het aantal afbeeldingen wordt ook vermeld door de tag image.
  • Status van containers: geeft het totale aantal containerknooppunten/hostcomputers weer waarop containers worden uitgevoerd. Computers worden ook vermeld op het aantal hosts dat wordt uitgevoerd.
  • Containerproces: toont een lijndiagram met containerprocessen die in de loop van de tijd worden uitgevoerd. Containers worden ook weergegeven door opdracht/proces uit te voeren binnen containers. Deze gegevensset wordt alleen gebruikt in Linux-omgevingen.
  • CPU-prestaties van container: toont een lijndiagram van het gemiddelde CPU-gebruik gedurende een periode voor computerknooppunten/hosts. Geeft ook de computerknooppunten/hosts weer op basis van gemiddeld CPU-gebruik.
  • Prestaties van containergeheugen: toont een lijndiagram van het geheugengebruik gedurende een periode. Geeft ook het geheugengebruik van de computer weer op basis van de exemplaarnaam.
  • Computerprestaties: toont lijndiagrammen van het percentage CPU-prestaties gedurende een periode, het percentage geheugengebruik gedurende een periode en megabytes aan vrije schijfruimte gedurende een periode. 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.

Schermopname van een dashboard om de verzamelde gegevens weer te geven.

Containersdashboard

Klik in het gebied Containerstatus op het bovenste gebied, zoals hieronder wordt weergegeven.

Status van containers

Log Analytics wordt geopend, met informatie over de status van uw containers.

Log Analytics voor 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'Azure Monitor.

Problemen oplossen door een mislukte container te zoeken

Log Analytics markeert een container als Mislukt als deze is afgesloten met een afsluitende code die niet nul is. In het gebied Mislukte containers ziet u een overzicht van de fouten en fouten in de omgeving.

Mislukte containers zoeken

  1. Klik op het gebied Containerstatus.
    status van containers
  2. Log Analytics wordt geopend en geeft de status van uw containers weer, vergelijkbaar met de volgende.
    status van containers
  3. Vouw de regel Mislukt uit en klik op + om de criteria aan de query toe te voegen. Klik vervolgens op de regel Samenvatten in de query. Schermopname van de regel die als commentaar moet worden gebruikt.
  4. Voer de query uit en vouw vervolgens een regel in de resultaten uit om de afbeeldings-id weer te geven.
    Schermopname die laat zien hoe u de afbeeldings-id kunt weergeven.
  5. Typ het volgende in de logboekquery. ContainerImageInventory | where ImageID == <ImageID> om details over de afbeelding te bekijken, zoals de afbeeldingsgrootte en het aantal gestopte en mislukte afbeeldingen.
    mislukte containers

Query's uitvoeren op logboeken voor containergegevens

Wanneer u een specifieke fout wilt oplossen, kunt u zien waar deze zich in uw omgeving voordoet. De volgende logboektypen helpen u bij het maken van query's om de gevraagde informatie te retourneren.

  • ContainerImageInventory: gebruik dit type wanneer u informatie wilt zoeken die is geordend op afbeelding en om afbeeldingsgegevens zoals afbeeldings-ID's of grootten weer te geven.
  • ContainerInventory: gebruik dit type als u informatie wilt over de locatie van de container, wat hun namen zijn en welke afbeeldingen ze uitvoeren.
  • ContainerLog: gebruik dit type als u specifieke informatie en vermeldingen in het foutenlogboek wilt vinden.
  • ContainerNodeInventory_CL Gebruik dit type als u informatie wilt over de host/het knooppunt waar containers zich opgeslagen. Het biedt u informatie over de Docker-versie, het orchestration-type, de opslag en het netwerk.
  • ContainerProcess_CL Gebruik dit type om snel het proces te zien dat in de container wordt uitgevoerd.
  • ContainerServiceLog: gebruik dit type wanneer u audittrailinformatie voor de Docker-daemon probeert te vinden, zoals opdrachten voor starten, stoppen, verwijderen of pullen.
  • KubeEvents_CL Gebruik dit type om de Kubernetes-gebeurtenissen te bekijken.
  • KubePodInventory_CL Gebruik dit type als u de informatie over de clusterhiërarchie wilt begrijpen.

Logboeken opvragen voor containergegevens

  • Kies een afbeelding die u onlangs hebt laten uitgevallen en zoek de foutenlogboeken voor de afbeelding. Begin met het zoeken naar een containernaam die die afbeelding wordt uitgevoerd met een ContainerInventory-zoekopdracht. Zoek bijvoorbeeld naar ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
    Zoeken naar Ubuntu-containers

    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 voorbeeld of twee en deze vervolgens aan te passen aan uw omgeving. Als uitgangspunt kunt u experimenteren met het gebied VOORBEELDQUERY's aan de rechterkant van de oplossingspagina, zodat u geavanceerdere query's kunt maken.

Query's voor containers

Logboekquery's opslaan

Het opslaan van query's is een standaardfunctie in Azure Monitor. Door ze op te slaan, hebt u de gegevens die u nuttig hebt gevonden voor toekomstig gebruik.

Nadat u een query hebt gemaakt die u nuttig vindt, kunt u deze opslaan door boven aan de pagina Zoeken in logboeken op Favorieten te klikken. U kunt deze later eenvoudig openen via de pagina Mijn dashboard.

Volgende stappen

Query's uitvoeren op logboeken om gedetailleerde containergegevensrecords weer te geven.