Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come configurare e usare la soluzione Monitoraggio contenitori in Monitoraggio di Azure, che consente di visualizzare e gestire gli host dei contenitori Docker e Windows in un'unica posizione. Docker è un sistema di virtualizzazione software usato per creare contenitori che automatizzano la distribuzione del software nell'infrastruttura IT.
Importante
La soluzione Monitoraggio contenitori viene eliminata gradualmente. Per monitorare gli ambienti Kubernetes, è consigliabile eseguire la transizione alle informazioni dettagliate sui contenitori di Monitoraggio di Azure.
Annotazioni
Questo articolo è stato aggiornato di recente in modo da usare il termine log di Monitoraggio di Azure anziché Log Analytics. I dati di log vengono comunque archiviati in un'area di lavoro Log Analytics e vengano ancora raccolti e analizzati dallo stesso servizio Log Analytics. Stiamo aggiornando la terminologia per riflettere meglio il ruolo dei log in Azure Monitor. Per informazioni dettagliate, vedere Modifiche della terminologia di Monitoraggio di Azure.
La soluzione mostra quali contenitori sono in esecuzione, quale immagine di contenitore stanno utilizzando e dove si trovano. È possibile visualizzare informazioni dettagliate sul controllo che mostrano i comandi usati con i contenitori. È anche possibile risolvere i problemi dei contenitori visualizzando ed eseguendo ricerche nei log centralizzati senza dover visualizzare in remoto gli host Docker o Windows. È possibile trovare contenitori che potrebbero essere rumorosi e che consumano risorse in eccesso in un host. È anche possibile visualizzare informazioni centralizzate su CPU, memoria, archiviazione e utilizzo della rete e prestazioni per i contenitori. Nei computer che eseguono Windows, è possibile centralizzare e confrontare i log dai contenitori Windows Server, Hyper-V e Docker. La soluzione supporta gli agenti di orchestrazione dei contenitori seguenti:
- Docker Swarm
- DC/OS
- Service Fabric
È consigliabile usare informazioni dettagliate sui contenitori di Monitoraggio di Azure per il monitoraggio di Kubernetes e Red Hat OpenShift:
- Servizio Azure Kubernetes (Configurare informazioni dettagliate sui contenitori per il servizio Azure Kubernetes)
- Red Hat OpenShift (Configurare informazioni dettagliate sui contenitori con Azure Arc)
Se sono stati distribuiti contenitori in Azure Service Fabric, è consigliabile abilitare sia la soluzione Service Fabric che questa soluzione per includere il monitoraggio degli eventi del cluster. Prima di abilitare la soluzione Service Fabric, vedere Uso della soluzione Service Fabric per comprendere cosa fornisce e come usarla.
Se si è interessati a monitorare le prestazioni dei carichi di lavoro distribuiti negli ambienti Kubernetes ospitati nel servizio Azure Kubernetes, vedere Monitorare il servizio Azure Kubernetes. La soluzione Monitoraggio contenitori non supporta il monitoraggio di tale piattaforma.
Il diagramma seguente illustra le relazioni tra vari host contenitore e agenti con Monitoraggio di Azure.
Requisiti di sistema e piattaforme supportate
Prima di iniziare, esaminare i dettagli seguenti per verificare di soddisfare i prerequisiti.
Supporto della soluzione di monitoraggio dei contenitori per Docker Orchestrator e piattaforma del sistema operativo
La tabella seguente illustra il supporto per l'orchestrazione Docker e il monitoraggio del sistema operativo dell'inventario dei contenitori, delle prestazioni e dei log con Azure Monitor.
| Orchestrazione Docker | ACS | Linux | Windows | Contenitore Inventario |
Immagine Inventario |
nodo Inventario |
Contenitore Prestazioni |
Contenitore Evento |
Evento Registro |
Contenitore Registro |
|---|---|---|---|---|---|---|---|---|---|---|
| Kubernetes | • | • | • | • | • | • | • | • | • | • |
| Mesosfera DC/OS |
• | • | • | • | • | • | • | • | • | |
| Docker Aggregato |
• | • | • | • | • | • | • | • | • | |
| Servizio Tessuto |
• | • | • | • | • | • | • | • | • | |
| Red Hat Open Spostamento |
• | • | • | • | • | • | • | |||
| Windows Server (autonomo) |
• | • | • | • | • | • | • | |||
| Linux Server (autonomo) |
• | • | • | • | • | • | • |
Versioni di Docker supportate in Linux
- Da Docker 1.11 a 1.13
- Docker CE ed EE v17.06
Distribuzioni Linux x64 supportate come host di contenitori
- Ubuntu 14.04 LTS e 16.04 LTS
- CoreOS(stable)
- Amazon Linux 2016.09.0
- openSUSE 13.2
- openSUSE LEAP 42.2
- CentOS 7.2 e 7.3
- SLES 12
- RHEL 7.2 e 7.3
- Red Hat OpenShift Container Platform (OCP) 3.4 e 3.5
- Da ACS Mesosphere DC/OS 1.7.3 a 1.8.8
- Da ACS Kubernetes versione 1.4.5 alla versione 1.6
- Gli eventi Kubernetes, l'inventario kubernetes e i processi del contenitore sono supportati solo con la versione 1.4.1-45 e successive dell'agente di Log Analytics per Linux
- ACS Docker Swarm
Annotazioni
Nel quadro della transizione in corso da Microsoft Operations Management Suite a Monitoraggio di Azure, l'agente di Operations Management Suite Agent per Windows o Linux verrà indicato come agente di Log Analytics per Windows e agente di Log Analytics per Linux.
Sistema operativo Windows supportato
- Windows Server 2016
- Edizione dell'anniversario di Windows 10 (Professional o Enterprise)
Versioni di Docker supportate in Windows
- Docker 1.12 e 1.13
- Docker 17.03.0 e versioni successive
Installazione e configurazione della soluzione
Usare le informazioni seguenti per installare e configurare la soluzione.
Aggiungere la soluzione Monitoraggio contenitori all'area di lavoro Log Analytics da Azure Marketplace o usando il processo descritto in Aggiungere soluzioni di monitoraggio dalla raccolta soluzioni.
Installare e usare Docker con un agente di Log Analytics. In base al sistema operativo e all'agente di orchestrazione Docker, è possibile usare i metodi seguenti per configurare l'agente.
- Per gli host autonomi:
- Nei sistemi operativi Linux supportati installare ed eseguire Docker e quindi installare e configurare l'agente di Log Analytics per Linux.
- In CoreOS non è possibile eseguire l'agente di Log Analytics per Linux. Si esegue invece una versione in contenitori dell'agente di Log Analytics per Linux. Esamina gli host di contenitori Linux, inclusi CoreOS o gli host Linux di Azure per enti pubblici, se usi contenitori nel cloud del governo di Azure.
- In Windows Server 2016 e Windows 10 installare il motore Docker e il client, quindi connettere un agente per raccogliere informazioni e inviarle a Monitoraggio di Azure. Vedere Installare e configurare gli host del contenitore Windows se si dispone di un ambiente Windows.
- Per l'orchestrazione multi-host Docker:
- Se si dispone di un ambiente Red Hat OpenShift, vedere Configurare un agente di Log Analytics per Red Hat OpenShift.
- Se si dispone di un cluster Kubernetes usando il servizio Azure Container:
- Vedere Configurare un agente Linux di Log Analytics per Kubernetes.
- Rivedere Configurare un agente Windows di Log Analytics per Kubernetes.
- Consulta l'utilizzo di Helm per distribuire l'agente di Log Analytics su Kubernetes su Linux.
- Se si dispone di un cluster DC/OS del servizio Azure Container, vedere Monitorare un cluster DC/OS del servizio Azure Container con Monitoraggio di Azure.
- Se si dispone di un ambiente in modalità Docker Swarm, vedere Configurare un agente di Log Analytics per Docker Swarm.
- Se hai un cluster di Service Fabric, scopri di più su Monitorare i contenitori con Monitoraggio di Azure.
- Per gli host autonomi:
Vedere l'articolo Motore Docker in Windows per altre informazioni su come installare e configurare i motori Docker nei computer che eseguono Windows.
Importante
Docker deve essere in esecuzione prima di installare l'agente di Log Analytics per Linux negli host del contenitore. Se l'agente è già stato installato prima di installare Docker, è necessario reinstallare l'agente di Log Analytics per Linux. Per altre informazioni su Docker, vedere il sito Web Docker.
Installare e configurare host contenitore Linux
Dopo aver installato Docker, usare le impostazioni seguenti per l'host contenitore per configurare l'agente da usare con Docker. Prima di tutto è necessario l'ID e la chiave dell'area di lavoro Log Analytics, che è possibile trovare nel portale di Azure. Nell'area di lavoro, fare clic su Quick Start>Computers per visualizzare il Workspace ID e la Primary Key. Copiare e incollare entrambi nell'editor preferito.
Per tutti gli host contenitore Linux tranne CoreOS:
- Per altre informazioni e procedure su come installare l'agente di Log Analytics per Linux, vedere Panoramica dell'agente di Log Analytics.
Per tutti gli host contenitore Linux, incluso CoreOS:
Avviare il contenitore da monitorare. Modificare e usare l'esempio seguente:
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
Per tutti gli host contenitore Linux di Azure per enti pubblici, incluso CoreOS:
Avviare il contenitore da monitorare. Modificare e usare l'esempio seguente:
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
Passaggio dall'uso di un agente Linux installato a uno in un contenitore
Se in precedenza è stato usato l'agente installato direttamente e si vuole usare un agente in esecuzione in un contenitore, è prima necessario rimuovere l'agente di Log Analytics per Linux. Vedere Disinstallazione dell'agente di Log Analytics per Linux per informazioni su come disinstallare correttamente l'agente.
Configurare un agente di Log Analytics per Docker Swarm
È possibile eseguire l'agente di Log Analytics come servizio globale in Docker Swarm. Usare le informazioni seguenti per creare un servizio agente di Log Analytics. È necessario specificare l'ID dell'area di lavoro Log Analytics e la chiave primaria.
Eseguire quanto segue nel nodo master.
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
Proteggere i segreti per Docker Swarm
Per Docker Swarm, dopo aver creato il segreto per ID area di lavoro e chiave primaria, usare le informazioni seguenti per creare le informazioni segrete.
Eseguire quanto segue nel nodo master.
echo "WSID" | docker secret create WSID - echo "KEY" | docker secret create KEY -Verificare che i segreti siano stati creati correttamente.
keiko@swarmm-master-13957614-0:/run# sudo docker secret lsID NAME CREATED UPDATED j2fj153zxy91j8zbcitnjxjiv WSID 43 minutes ago 43 minutes ago l9rh3n987g9c45zffuxdxetd9 KEY 38 minutes ago 38 minutes agoEseguire il comando seguente per montare i segreti sull'agente di Log Analytics containerizzato.
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
Configurare un agente di Log Analytics per Red Hat OpenShift
Esistono tre modi per aggiungere l'agente di Log Analytics a Red Hat OpenShift per iniziare a raccogliere i dati di monitoraggio dei contenitori.
- Installare l'agente di Log Analytics per Linux direttamente in ogni nodo OpenShift
- Abilitare l'estensione vm di Log Analytics in ogni nodo OpenShift che risiede in Azure
- Installare l'agente di Log Analytics come daemon-set di OpenShift
In questa sezione vengono illustrati i passaggi necessari per installare l'agente di Log Analytics come set di daemon OpenShift.
Accedere al nodo master OpenShift e copiare il file yaml ocp-omsagent.yaml da GitHub al nodo master e modificare il valore con l'ID dell'area di lavoro Log Analytics e con la chiave primaria.
Eseguire i comandi seguenti per creare un progetto per Monitoraggio di Azure e impostare l'account utente.
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:omsagentPer distribuire il set di daemon, eseguire quanto segue:
oc create -f ocp-omsagent.yamlPer verificare che sia configurato e funzionante correttamente, digitare quanto segue:
oc describe daemonset omsagente l'output dovrebbe essere simile al seguente:
[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.
Se si vogliono usare segreti per proteggere l'ID dell'area di lavoro Log Analytics e la chiave primaria quando si usa il file yaml dell'agente di Log Analytics, seguire questa procedura.
Accedere al nodo master OpenShift e copiare il file yaml ocp-ds-omsagent.yaml e il segreto che genera script ocp-secretgen.sh da GitHub. Questo script genererà il file yaml dei segreti per l'ID dell'area di lavoro Log Analytics e la chiave primaria per proteggere le informazioni segrete.
Eseguire i comandi seguenti per creare un progetto per Monitoraggio di Azure e impostare l'account utente. Lo script di generazione segreta richiede l'ID dell'area di lavoro Log Analytics
<WSID>e della chiave primaria<KEY>, e una volta completato, crea il file ocp-secret.yaml.oc adm new-project omslogging --node-selector='zone=default' oc project omslogging oc create serviceaccount omsagent oc adm policy add-cluster-role-to-user cluster-reader system:serviceaccount:omslogging:omsagent oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagentDistribuire il file segreto eseguendo quanto segue:
oc create -f ocp-secret.yamlVerificare la distribuzione eseguendo quanto segue:
oc describe secret omsagent-secrete l'output dovrebbe essere simile al seguente:
[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 bytesDistribuire il file yaml daemon-set dell'agente di Log Analytics eseguendo quanto segue:
oc create -f ocp-ds-omsagent.yamlVerificare la distribuzione eseguendo quanto segue:
oc describe ds omse l'output dovrebbe essere simile al seguente:
[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.
Configurare un agente Linux di Log Analytics per Kubernetes
Nel contesto di Kubernetes, si utilizza uno script per generare il file yaml dei segreti riguardante l'ID dell'area di lavoro e la chiave primaria, per installare l'agente di Log Analytics su Linux. Nella pagina GitHub di Docker Kubernetes di Log Analytics sono disponibili file che è possibile usare con o senza informazioni segrete.
- L'agente di Log Analytics predefinito per Linux DaemonSet non dispone di informazioni segrete (omsagent.yaml)
- Il file yaml dell'agente di Log Analytics per Linux DaemonSet usa informazioni segrete (omsagent-ds-secrets.yaml) con script di generazione dei segreti per generare il file yaml dei segreti (omsagentsecret.yaml).
È possibile scegliere di creare set di daemon omsagent con o senza segreti.
File yaml OMSagent DaemonSet predefinito senza segreti
Per il file yaml DaemonSet dell'agente predefinito di Log Analytics, sostituire i
<WSID>e<KEY>con il tuo WSID e KEY. Copiare il file nel nodo master ed eseguire quanto segue:sudo kubectl create -f omsagent.yaml
File yaml OMSagent DaemonSet predefinito con segreti
Per utilizzare il DaemonSet dell'agente di Log Analytics utilizzando le informazioni segrete, crea prima i segreti.
Copiare lo script e il file modello segreto e assicurarsi che si trovino nella stessa directory.
- Script di generazione di segreti - secret-gen.sh
- modello segreto - secret-template.yaml
Eseguire lo script, come nell'esempio seguente. Lo script richiede l'ID dell'area di lavoro Log Analytics e la chiave primaria e, dopo averli immessi, lo script crea un file yaml segreto in modo da poterlo eseguire.
#> sudo bash ./secret-gen.shCreare il pod dei segreti eseguendo quanto segue:
sudo kubectl create -f omsagentsecret.yamlPer verificare, eseguire quanto segue:
keiko@ubuntu16-13db:~# sudo kubectl get secretsL'output dovrebbe essere simile al seguente:
NAME TYPE DATA AGE default-token-gvl91 kubernetes.io/service-account-token 3 50d omsagent-secret Opaque 2 1dkeiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secretL'output dovrebbe essere simile al seguente:
Name: omsagent-secret Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== WSID: 36 bytes KEY: 88 bytesCreare il set di daemon omsagent eseguendo
sudo kubectl create -f omsagent-ds-secrets.yaml
Verificare che il DaemonSet dell'agente di Log Analytics sia in esecuzione come nel seguente esempio:
keiko@ubuntu16-13db:~# sudo kubectl get ds omsagentNAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 3 3 <none> 1h
Per Kubernetes, usare uno script per generare il file yaml dei segreti per l'ID area di lavoro e la chiave primaria per l'agente di Log Analytics per Linux. Usare le informazioni di esempio seguenti con il file yaml omsagent per proteggere le informazioni segrete.
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
Configurare un agente windows di Log Analytics per Kubernetes
In Kubernetes di Windows, si usa uno script per generare il file YAML delle credenziali per l'ID dell'area di lavoro e la chiave primaria al fine di installare l'agente di Log Analytics. Nella pagina GitHub di Docker Kubernetes di Log Analytics sono disponibili file che è possibile usare con le informazioni segrete. È necessario installare l'agente di Log Analytics separatamente per i nodi master e agent.
Per usare il DaemonSet dell'agente Log Analytics con informazioni segrete sul nodo Master, accedere e creare prima il segreto.
Copiare lo script e il file modello segreto e assicurarsi che si trovino nella stessa directory.
- Script di generazione di segreti - secret-gen.sh
- modello segreto - secret-template.yaml
Eseguire lo script, come nell'esempio seguente. Lo script richiede l'ID dell'area di lavoro Log Analytics e la chiave primaria e, dopo averli immessi, lo script crea un file yaml segreto in modo da poterlo eseguire.
#> sudo bash ./secret-gen.shCreare il set di daemon omsagent eseguendo
kubectl create -f omsagentsecret.yamlPer verificare, eseguire le operazioni seguenti:
root@ubuntu16-13db:~# kubectl get secretsL'output dovrebbe essere simile al seguente:
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 bytesCreare il set di daemon omsagent eseguendo
kubectl create -f ws-omsagent-de-secrets.yaml
Verificare che il DaemonSet dell'agente di Log Analytics sia in esecuzione, come illustrato di seguito.
root@ubuntu16-13db:~# kubectl get deployment omsagent NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 1 1 <none> 1hPer installare l'agente nel nodo di lavoro, che esegue Windows, seguire la procedura descritta nella sezione Installare e configurare gli host contenitore di Windows.
Usare Helm per distribuire l'agente di Log Analytics in Linux Kubernetes
Per usare helm per distribuire l'agente di Log Analytics nell'ambiente Kubernetes Linux, seguire questa procedura.
Creare il set di daemon omsagent eseguendo
helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msomsI risultati saranno simili ai seguenti:
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È possibile controllare lo stato di omsagent eseguendo:
helm status "omsagent"e l'output sarà simile al seguente: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> 17mPer ulteriori informazioni, visitare Container Solution Helm Chart.
Installare e configurare i server host dei container Windows
Utilizzare le informazioni nella sezione indicata per installare e configurare gli host di contenitori Windows.
Preparazione prima di installare gli agenti Windows
Prima di installare gli agenti nei computer che eseguono Windows, è necessario configurare il servizio Docker. La configurazione consente all'agente Windows o all'estensione macchina virtuale di Monitoraggio di Azure di usare il socket TCP Docker in modo che gli agenti possano accedere al daemon Docker in remoto e per acquisire i dati per il monitoraggio.
Per configurare il servizio Docker
Eseguire i comandi di PowerShell seguenti per abilitare la pipe TCP e la named pipe per Windows Server:
Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375
Start-Service docker
Per altre informazioni sulla configurazione del daemon Docker usata con i contenitori di Windows, vedere Motore Docker in Windows.
Installare gli agenti Windows
Per abilitare il monitoraggio dei contenitori Windows e Hyper-V, installare il Microsoft Monitoring Agent (MMA) sui computer Windows che sono host di contenitori. Per i computer che eseguono Windows nell'ambiente locale, vedere Connettere computer Windows ad Azure Monitor. Per le macchine virtuali in esecuzione in Azure, collegarle ad Azure Monitor usando l'estensione macchina virtuale.
È possibile monitorare i contenitori Windows in esecuzione in Service Fabric. Tuttavia, solo le macchine virtuali in esecuzione in Azure e i computer che eseguono Windows nell'ambiente locale sono attualmente supportate per Service Fabric.
È possibile verificare che la soluzione Monitoraggio contenitori sia impostata correttamente per Windows. Per verificare se il Management Pack è stato scaricato correttamente, cercare ContainerManagement.xxx. I file devono trovarsi nella cartella C:\Programmi\Microsoft Monitoring Agent\Agent\Health Service State\Management Pack.
Componenti della soluzione
Dal portale di Azure passare alla Raccolta soluzioni e aggiungere la soluzione di monitoraggio dei contenitori. Se si usano agenti Windows, il Management Pack seguente viene installato in ogni computer con un agente quando si aggiunge questa soluzione. Non è necessaria alcuna configurazione o manutenzione per il Management Pack.
- ContainerManagement.xxx installato in C:\Programmi\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs
Dettagli della raccolta dei dati dei contenitori
La soluzione Monitoraggio contenitori raccoglie varie metriche delle prestazioni e dati di registro dagli host dei contenitori e dai contenitori utilizzando agenti che abiliti.
I dati vengono raccolti ogni tre minuti dai tipi di agente seguenti.
Registri dei contenitori
La tabella seguente mostra esempi di record raccolti dalla soluzione Monitoraggio contenitori e i tipi di dati visualizzati nei risultati della ricerca log.
| Tipo di dati | Tipo di dati nella ricerca dei log | Campi |
|---|---|---|
| Prestazioni per host e contenitori | Perf |
Computer, NomeOggetto, NomeContatore (%Processor Tempo, Letture Disco MB, Scritture Disco MB, Utilizzo Memoria MB, Ricezione Rete Byte, Invio Rete Byte, Utilizzo Processore sec, Rete), ValoreContatore,TempoGenerato, PercorsoContatore, SistemaSorgente |
| Inventario contenitori | ContainerInventory |
TimeGenerated, Computer, container name, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID |
| Inventario delle immagini del contenitore | ContainerImageInventory |
OraGenerata, Computer, Immagine, TagImmagine, DimensioneImmagine, DimensioneVirtuale, InEsecuzione, InPausa, Arrestato, Fallito, SistemaSorgente, IDImmagine, TotaleContainer |
| Log dei contenitori | ContainerLog |
TimeGenerated, Computer, image ID, container name, LogEntrySource, LogEntry, SourceSystem, ContainerID |
| Log del servizio contenitore | ContainerServiceLog |
TimeGenerated, Computer, TimeOfCommand, Immagine, Command, SistemaFonte, ContainerID |
| Inventario dei nodi del contenitore | ContainerNodeInventory_CL |
TimeGenerated, Computer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem |
| Inventario Kubernetes | 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 |
| Processo del contenitore | 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 |
| Eventi Kubernetes | KubeEvents_CL |
TempoGenerato, Computer, Nome_s, TipoOggetto_s, Namespace_s, Motivo_s, Tipo_s, ComponenteSorgente_s, SistemaSorgente, Messaggio |
Le etichette aggiunte ai tipi di dati PodLabel sono etichette personalizzate. Le etichette PodLabel aggiunte illustrate nella tabella sono esempi. Di conseguenza, PodLabel_deployment_s, PodLabel_deploymentconfig_s e PodLabel_docker_registry_s saranno diversi nel set di dati del vostro ambiente e somiglieranno genericamente a PodLabel_yourlabel_s.
Monitorare i contenitori
Dopo aver abilitato la soluzione nel portale di Azure, il riquadro Contenitori mostra le informazioni di riepilogo sugli host del contenitore e sui contenitori in esecuzione negli host.
Il riquadro mostra una panoramica del numero di contenitori presenti nell'ambiente e indica se sono in stato di errore, in esecuzione o arrestati.
Utilizzo del Cruscotto dei Contenitori
Fare clic sul riquadro Contenitori . Da qui vedrai le visualizzazioni organizzate in base a:
- Eventi del contenitore : mostra lo stato del contenitore e i computer con contenitori non riusciti.
- Log dei contenitori : mostra un grafico dei file di log dei contenitori generati nel tempo e un elenco di computer con il maggior numero di file di log.
- Eventi Kubernetes : mostra un grafico degli eventi Kubernetes generati nel tempo e un elenco dei motivi per cui i pod hanno generato gli eventi. Questo set di dati viene usato solo negli ambienti Linux.
- Namespace Kubernetes Inventario - Mostra il numero di namespace e pod e ne mostra la gerarchia. Questo set di dati viene usato solo negli ambienti Linux.
- Inventario nodi contenitore : mostra il numero di tipi di orchestrazione usati nei nodi/host del contenitore. I nodi o gli host del computer sono elencati anche in base al numero di contenitori. Questo set di dati viene usato solo negli ambienti Linux.
- Inventario immagini contenitore : mostra il numero totale di immagini del contenitore usate e il numero di tipi di immagine. Il numero di immagini viene elencato anche dal tag immagine.
- Stato contenitori : mostra il numero totale di nodi contenitore/computer host che dispongono di contenitori in esecuzione. I computer sono elencati anche in base al numero di host in esecuzione.
- Processo del contenitore : mostra un grafico a linee dei processi del contenitore in esecuzione nel tempo. I contenitori vengono elencati anche eseguendo comandi/processi all'interno dei contenitori. Questo set di dati viene usato solo negli ambienti Linux.
- Container CPU Performance - mostra un grafico a linee dell'utilizzo medio della CPU nel tempo per i nodi/host dei computer. Elenca anche i nodi o gli host del computer in base all'utilizzo medio della CPU.
- Prestazioni della memoria del contenitore : mostra un grafico a linee dell'utilizzo della memoria nel tempo. Elenca anche l'utilizzo della memoria del computer in base al nome dell'istanza.
- Prestazioni computer : mostra i grafici a linee della percentuale delle prestazioni della CPU nel tempo, la percentuale di utilizzo della memoria nel tempo e i megabyte di spazio libero su disco nel tempo. È possibile passare il puntatore del mouse su qualsiasi riga di un grafico per visualizzare altri dettagli.
Ogni area del dashboard è una rappresentazione visiva di una ricerca eseguita sui dati raccolti.
Nell'area Stato contenitore fare clic sull'area superiore, come illustrato di seguito.
Si apre Log Analytics, che visualizza informazioni sullo stato dei contenitori.
Da qui è possibile modificare la query di ricerca per modificarla per trovare le informazioni specifiche a cui si è interessati. Per ulteriori informazioni sulle query di log, vedere Log queries in Azure Monitor.
La risoluzione dei problemi tramite l'individuazione di un contenitore fallito
Log Analytics contrassegna un contenitore come Non riuscito se è stato chiuso con un codice di uscita diverso da zero. È possibile visualizzare una panoramica degli errori e dei fallimenti nell'ambiente nell'area Contenitori falliti.
Per trovare contenitori falliti
- Fare clic sull'area Stato contenitore .
- Log Analytics apre e visualizza lo stato dei contenitori, simile al seguente.
- Espandi la riga fallita e fai clic su + per aggiungere i criteri alla query. Commentare quindi la riga Riepiloga nella query.
- Eseguire la query e quindi espandere una riga nei risultati per visualizzare l'ID immagine.
- Digitare quanto segue nella query di log.
ContainerImageInventory | where ImageID == <ImageID>per visualizzare i dettagli sull'immagine, ad esempio le dimensioni dell'immagine e il numero di immagini arrestate e non riuscite.
Eseguire query sui log per i dati del contenitore
Quando si risolve un errore specifico, può essere utile per vedere dove si verifica nell'ambiente. I tipi di log seguenti consentono di creare query per restituire le informazioni desiderate.
- ContainerImageInventory : usare questo tipo quando si tenta di trovare informazioni organizzate per immagine e per visualizzare informazioni sull'immagine, ad esempio ID immagine o dimensioni.
- ContainerInventory : usare questo tipo quando si vogliono ottenere informazioni sulla posizione del contenitore, sui nomi e sulle immagini in esecuzione.
- ContainerLog : usare questo tipo quando si desidera trovare informazioni e voci specifiche del log degli errori.
- ContainerNodeInventory_CL Usare questo tipo quando si vogliono ottenere informazioni sull'host/nodo in cui si trovano i contenitori. Fornisce la versione di Docker, il tipo di orchestrazione, l'archiviazione e le informazioni di rete.
- ContainerProcess_CL Usare questo tipo per visualizzare rapidamente il processo in esecuzione all'interno del contenitore.
- ContainerServiceLog : usare questo tipo quando si tenta di trovare informazioni sul audit trail per il daemon Docker, ad esempio comandi di avvio, arresto, eliminazione o pull.
- KubeEvents_CL Usare questo tipo per visualizzare gli eventi Kubernetes.
- KubePodInventory_CL Usare questo tipo quando si vogliono comprendere le informazioni sulla gerarchia del cluster.
Per eseguire query sui log dei dati del contenitore
Scegli un'immagine che sai abbia fallito di recente e ricerca i log degli errori. Per iniziare, trovare un nome di contenitore che esegue tale immagine con una ricerca ContainerInventory . Ad esempio, cercare
ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
Espandere qualsiasi riga nei risultati per visualizzare i dettagli per tale contenitore.
Query di log di esempio
Spesso è utile creare query a partire da un esempio o due e quindi modificarle in base all'ambiente in uso. Come punto di partenza, è possibile sperimentare l'area QUERY DI ESEMPIO all'estrema destra della pagina della soluzione per creare query più avanzate.
Salvataggio delle query di log
Il salvataggio delle query è una funzionalità standard in Monitoraggio di Azure. Salvandoli, avrai quelli che hai trovato utile per un uso futuro.
Dopo aver creato una query che risulta utile, salvarla facendo clic su Preferiti nella parte superiore della pagina Ricerca log. È quindi possibile accedervi facilmente in un secondo momento dalla pagina Dashboard personale .
Rimozione della soluzione dall'area di lavoro
Per rimuovere la soluzione di monitoraggio dei contenitori, seguire le istruzioni per rimuovere le soluzioni usando uno dei seguenti: portale di Azure, PowerShell o interfaccia della riga di comando di Azure
Passaggi successivi
Interroga i log per visualizzare dettagliati record di dati del container.