Containerbewakingsoplossing in Azure Monitor

Containersymbool

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:

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.

Diagram met de relaties tussen Azure Monitor en containerhosts en agents die zich in de Azure-cloud, andere clouds en een lokaal netwerk bevinden.

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.

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

  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.

    • 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:

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.

  1. Voer het volgende uit op het hoofdknooppunt.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. 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
    
  3. 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.

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

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

  2. 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  
    
  3. Voer het volgende 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 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.

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

  2. 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  
    
  3. Implementeer het geheime bestand door het volgende uit te voeren:

    oc create -f ocp-secret.yaml

  4. 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  
    
  5. 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

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

  1. Als u DaemonSet van log analytics-agent wilt gebruiken met behulp van geheime informatie, moet u eerst de geheimen maken.

    1. 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
    2. 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
      
    3. Maak de geheimenpod door het volgende uit te voeren:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. 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
      
    5. Maak uw omsagent daemon-set door uit te voeren 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 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.

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

    1. 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
    2. 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
      
    3. Maak uw omsagent daemon-set door uit te voeren kubectl create -f omsagentsecret.yaml

    4. 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
      
    5. Maak uw omsagent daemon-set door uit te voeren 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 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.

  1. Maak uw omsagent daemon-set door uit te voeren 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 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_sPodLabel_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.

Schermopname van de tegel Containers, met een cirkeldiagram met samenvattingsinformatie over containers.

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.

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

Schermopname van een dashboard om de verzamelde gegevens weer te geven, waaronder de status, het proces, de prestaties en de installatiekopieën van containers.

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

Schermopname van het gebied Containerstatus van het dashboard Containers, met een cirkeldiagram met informatie over de containerstatus.

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

Schermopname van Log Analytics met een query voor de status van containers en de zoekresultaten.

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

  1. Klik op het gebied Containerstatus .
    Schermopname van het gebied Containerstatus van het dashboard Containers, met een cirkeldiagram met informatie over de containerstatus.
  2. Log Analytics wordt geopend en geeft de status van uw containers weer, vergelijkbaar met het volgende.
    Schermopname van Log Analytics met een query voor de status van containers en de zoekresultaten.
  3. 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. Schermopname van de regel die moet worden weggelaten.
  4. Voer de query uit en vouw vervolgens een regel in de resultaten uit om de afbeeldings-id weer te geven.
    Schermopname van het weergeven van de afbeeldings-id.
  5. 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.
    Schermopname van Log Analytics met een query voor een containerinstallatiekopieën en details over de 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"
    Schermopname van een zoekopdracht naar mislukte Ubuntu-containers en de zoekresultaten.

    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.

Schermopname van het gebied Voorbeeldquery's met voorbeeldlogboekquery's.

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.