Solução de Monitorização de Contentores no Azure Monitor
Este artigo descreve como configurar e utilizar a solução de Monitorização de Contentores no Azure Monitor, que o ajuda a ver e gerir os anfitriões de contentores do Docker e do Windows numa única localização. O Docker é um sistema de virtualização de software utilizado para criar contentores que automatizam a implementação de software na respetiva infraestrutura de TI.
Importante
A solução de Monitorização de Contentores está a ser eliminada gradualmente. Para monitorizar os ambientes do Kubernetes, recomendamos a transição para as informações do Contentor do Azure Monitor.
Nota
Este artigo foi atualizado recentemente para utilizar o termo registos do Azure Monitor em vez do Log Analytics. Os dados de registo continuam a ser armazenados numa área de trabalho do Log Analytics e ainda são recolhidos e analisados pelo mesmo serviço do Log Analytics. Estamos a atualizar a terminologia para refletir melhor a função dos registos no Azure Monitor. Veja Alterações de terminologia do Azure Monitor para obter detalhes.
A solução mostra que contentores estão em execução, que imagem de contentor estão a ser executados e onde os contentores estão em execução. Pode ver informações de auditoria detalhadas que mostram os comandos utilizados com contentores. Além disso, pode resolver problemas de contentores ao visualizar e procurar registos centralizados sem ter de ver remotamente anfitriões do Docker ou do Windows. Pode encontrar contentores que podem ser ruidosos e consumir recursos em excesso num anfitrião. Além disso, pode ver informações de desempenho, utilização e utilização de rede, memória, armazenamento e CPU centralizadas para contentores. Em computadores com o Windows, pode centralizar e comparar registos de contentores do Windows Server, Hyper-V e Docker. A solução suporta os seguintes orquestradores de contentores:
- Docker Swarm
- DC/OS
- Service Fabric
Recomendamos que utilize as informações do Contentor do Azure Monitor para monitorizar o Kubernetes e o Red Hat OpenShift:
- AKS (Configurar informações de contentor para o AKS)
- Red Hat OpenShift (Configurar informações de contentor com o Azure Arc)
Se tiver contentores implementados no Azure Service Fabric, recomendamos que ative a solução do Service Fabric e esta solução para incluir a monitorização de eventos de cluster. Antes de ativar a solução do Service Fabric, veja Utilizar a solução do Service Fabric para compreender o que esta fornece e como utilizá-la.
Se estiver interessado em monitorizar o desempenho das cargas de trabalho implementadas em ambientes do Kubernetes alojados no Azure Kubernetes Service (AKS), veja Monitorizar Azure Kubernetes Service. A solução de Monitorização de Contentores não suporta a monitorização dessa plataforma.
O diagrama seguinte mostra as relações entre vários anfitriões de contentor e agentes com o Azure Monitor.
Requisitos de sistema e plataformas suportadas
Antes de começar, reveja os seguintes detalhes para verificar se cumpre os pré-requisitos.
Suporte da solução de monitorização de contentores para o Docker Orchestrator e a plataforma do SO
A tabela seguinte descreve a orquestração do Docker e o suporte de monitorização do sistema operativo de inventário de contentores, desempenho e registos com o Azure Monitor.
Orquestração do Docker | ACS | Linux | Windows | Contentor Inventário |
Imagem Inventário |
Nó Inventário |
Contentor Desempenho |
Contentor Evento |
Evento Registo |
Contentor Registo |
---|---|---|---|---|---|---|---|---|---|---|
Utilizar o Kubernetes | • | • | • | • | • | • | • | • | • | • |
Mesosphere DC/OS |
• | • | • | • | • | • | • | • | • | |
Docker Swarm |
• | • | • | • | • | • | • | • | • | |
Serviço Recursos de infraestrutura |
• | • | • | • | • | • | • | • | • | |
Red Hat Open SHIFT |
• | • | • | • | • | • | • | |||
Windows Server (autónomo) |
• | • | • | • | • | • | • | |||
Servidor Linux (autónomo) |
• | • | • | • | • | • | • |
Versões do Docker suportadas no Linux
- Docker 1.11 a 1.13
- Docker CE e EE v17.06
Distribuições do Linux x64 suportadas como anfitriões de contentor
- Ubuntu 14.04 LTS e 16.04 LTS
- CoreOS(estável)
- 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
- ACS Mesosphere DC/OS 1.7.3 a 1.8.8
- ACS Kubernetes 1.4.5 a 1.6
- Os eventos do Kubernetes, o inventário do Kubernetes e os processos de contentor só são suportados com a versão 1.4.1-45 e posterior do agente do Log Analytics para Linux
- ACS Docker Swarm
Nota
Como parte da transição em curso do Microsoft Operations Management Suite para o Azure Monitor, o Agente Operations Management Suite para Windows ou Linux será referido como o agente Log Analytics para Windows e agente Log Analytics para Linux.
Sistema operativo Windows suportado
- Windows Server 2016
- Windows 10 Anniversary Edition (Professional ou Enterprise)
Versões do Docker suportadas no Windows
- Docker 1.12 e 1.13
- Docker 17.03.0 e posterior
Instalar e configurar a solução
Utilize as seguintes informações para instalar e configurar a solução.
Adicione a solução de Monitorização de Contentores à área de trabalho do Log Analytics a partir de Azure Marketplace ou ao utilizar o processo descrito em Adicionar soluções de monitorização a partir da Galeria de Soluções.
Instale e utilize o Docker com um agente do Log Analytics. Com base no sistema operativo e no orquestrador do Docker, pode utilizar os seguintes métodos para configurar o agente.
- Para anfitriões autónomos:
- Nos sistemas operativos Linux suportados, instale e execute o Docker e, em seguida, instale e configure o agente do Log Analytics para Linux.
- No CoreOS, não pode executar o agente do Log Analytics para Linux. Em vez disso, executa uma versão em contentores do agente do Log Analytics para Linux. Veja os anfitriões de contentores do Linux, incluindo o CoreOS ou Azure Government anfitriões de contentores do Linux, incluindo o CoreOS, se estiver a trabalhar com contentores no Azure Government Cloud.
- No Windows Server 2016 e Windows 10, instale o Motor do Docker e o cliente e, em seguida, ligue um agente para recolher informações e enviá-las para o Azure Monitor. Veja Instalar e configurar anfitriões de contentores do Windows se tiver um ambiente do Windows.
- Para orquestração multi-anfitrião do Docker:
- Se tiver um ambiente do Red Hat OpenShift, veja Configurar um agente do Log Analytics para o Red Hat OpenShift.
- Se tiver um cluster do Kubernetes com o Azure Container Service:
- Veja Configurar um agente linux do Log Analytics para Kubernetes.
- Veja Configurar um agente do Windows do Log Analytics para o Kubernetes.
- Veja Utilizar o Helm para implementar o agente do Log Analytics no Linux Kubernetes.
- Se tiver um cluster DC/OS do Azure Container Service, saiba mais em Monitorizar um cluster DC/OS do Azure Container Service com o Azure Monitor.
- Se tiver um ambiente de modo Docker Swarm, saiba mais em Configurar um agente do Log Analytics para Docker Swarm.
- Se tiver um cluster do Service Fabric, saiba mais em Monitorizar contentores com o Azure Monitor.
- Para anfitriões autónomos:
Veja o artigo Docker Engine on Windows (Motor do Docker no Windows ) para obter informações adicionais sobre como instalar e configurar os Motores do Docker em computadores com o Windows.
Importante
O Docker tem de estar em execução antes de instalar o agente do Log Analytics para Linux nos anfitriões de contentor. Se já instalou o agente antes de instalar o Docker, terá de reinstalar o agente do Log Analytics para Linux. Para obter mais informações sobre o Docker, consulte o site do Docker.
Instalar e configurar anfitriões de contentores do Linux
Depois de instalar o Docker, utilize as seguintes definições para o anfitrião do contentor configurar o agente para utilização com o Docker. Primeiro, precisa do ID e da chave da área de trabalho do Log Analytics, que pode encontrar no portal do Azure. Na área de trabalho, clique emComputadores de Início> Rápido para ver o ID da Área de Trabalho e a Chave Primária. Copie e cole ambos no seu editor favorito.
Para todos os anfitriões de contentores do Linux, exceto o CoreOS:
- Para obter mais informações e passos sobre como instalar o agente do Log Analytics para Linux, veja Descrição geral do agente do Log Analytics.
Para todos os anfitriões de contentores do Linux, incluindo o CoreOS:
Inicie o contentor que pretende monitorizar. Modifique e utilize o seguinte exemplo:
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
Para todos os Azure Government anfitriões de contentores do Linux, incluindo o CoreOS:
Inicie o contentor que pretende monitorizar. Modifique e utilize o seguinte exemplo:
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
Mudar de um agente Linux instalado para um num contentor
Se utilizou anteriormente o agente instalado diretamente e pretende utilizar um agente em execução num contentor, primeiro tem de remover o agente do Log Analytics para Linux. Veja Desinstalar o agente do Log Analytics para Linux para compreender como desinstalar o agente com êxito.
Configurar um agente do Log Analytics para o Docker Swarm
Pode executar o agente do Log Analytics como um serviço global no Docker Swarm. Utilize as seguintes informações para criar um serviço de agente do Log Analytics. Tem de fornecer o ID da Área de Trabalho do Log Analytics e a Chave Primária.
Execute o seguinte no nó principal.
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
Proteger segredos para o Docker Swarm
Para o Docker Swarm, assim que o segredo do ID da Área de Trabalho e da Chave Primária for criado, utilize as seguintes informações para criar as suas informações secretas.
Execute o seguinte no nó principal.
echo "WSID" | docker secret create WSID - echo "KEY" | docker secret create KEY -
Verifique se os segredos foram criados corretamente.
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
Execute o seguinte comando para montar os segredos no agente do Log Analytics em contentor.
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
Configurar um agente do Log Analytics para o Red Hat OpenShift
Existem três formas de adicionar o agente do Log Analytics ao Red Hat OpenShift para começar a recolher dados de monitorização de contentores.
- Instalar o agente do Log Analytics para Linux diretamente em cada nó do OpenShift
- Ativar a Extensão de VM do Log Analytics em cada nó do OpenShift que resida no Azure
- Instalar o agente do Log Analytics como um daemon-set do OpenShift
Nesta secção, abordamos os passos necessários para instalar o agente do Log Analytics como um daemon-set do OpenShift.
Inicie sessão no nó principal do OpenShift e copie o ficheiro yaml ocp-omsagent.yaml do GitHub para o nó principal e modifique o valor com o ID da Área de Trabalho do Log Analytics e com a Chave Primária.
Execute os seguintes comandos para criar um projeto para o Azure Monitor e definir a conta de utilizador.
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
Para implementar o daemon-set, execute o seguinte:
oc create -f ocp-omsagent.yaml
Para verificar se está configurado e a funcionar corretamente, escreva o seguinte:
oc describe daemonset omsagent
e o resultado deve assemelhar-se a:
[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 quiser utilizar segredos para proteger o ID da Área de Trabalho do Log Analytics e a Chave Primária ao utilizar o ficheiro yaml daemon-set do agente do Log Analytics, execute os seguintes passos.
Inicie sessão no nó principal do OpenShift e copie o ficheiro yaml ocp-ds-omsagent.yaml e o script de geração de segredos ocp-secretgen.sh a partir do GitHub. Este script irá gerar o ficheiro yaml de segredos para o ID da Área de Trabalho do Log Analytics e a Chave Primária para proteger as suas informações secretas.
Execute os seguintes comandos para criar um projeto para o Azure Monitor e definir a conta de utilizador. O script de geração de segredos pede o ID
<WSID>
da Área de Trabalho do Log Analytics e a Chave<KEY>
Primária e, após a conclusão, cria o ficheiro 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:omsagent
Implemente o ficheiro secreto ao executar o seguinte:
oc create -f ocp-secret.yaml
Verifique a implementação ao executar o seguinte:
oc describe secret omsagent-secret
e o resultado deve assemelhar-se a:
[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
Implemente o ficheiro yaml daemon-set do agente do Log Analytics ao executar o seguinte:
oc create -f ocp-ds-omsagent.yaml
Verifique a implementação ao executar o seguinte:
oc describe ds oms
e o resultado deve assemelhar-se a:
[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.
Configurar um agente linux do Log Analytics para Kubernetes
Para o Kubernetes, utilize um script para gerar o ficheiro yaml de segredos para o ID da Área de Trabalho e a Chave Primária para instalar o agente do Log Analytics para Linux. Na página do GitHub do Docker kubernetes do Log Analytics , existem ficheiros que pode utilizar com ou sem as suas informações secretas.
- O Agente do Log Analytics Predefinido para Linux DaemonSet não tem informações secretas (omsagent.yaml)
- O ficheiro yaml do agente do Log Analytics para Linux DaemonSet utiliza informações secretas (omsagent-ds-secrets.yaml) com scripts de geração de segredos para gerar o ficheiro yaml de segredos (omsagentsecret.yaml).
Pode optar por criar DaemonSets omsagent com ou sem segredos.
Ficheiro yaml OMSagent DaemonSet predefinido sem segredos
Para o ficheiro yaml DoemonSet do agente do Log Analytics predefinido, substitua e
<KEY>
pelo<WSID>
WSID e KEY. Copie o ficheiro para o nó principal e execute o seguinte:sudo kubectl create -f omsagent.yaml
Ficheiro yaml OMSagent DaemonSet predefinido com segredos
Para utilizar o DaemonSet do agente do Log Analytics com informações secretas, crie primeiro os segredos.
Copie o script e o ficheiro de modelo secreto e certifique-se de que estão no mesmo diretório.
- Script de geração de segredos - secret-gen.sh
- modelo secreto - secret-template.yaml
Execute o script, como no exemplo seguinte. O script pede o ID da Área de Trabalho do Log Analytics e a Chave Primária e, depois de os introduzir, o script cria um ficheiro yaml secreto para que possa executá-lo.
#> sudo bash ./secret-gen.sh
Crie o pod de segredos ao executar o seguinte:
sudo kubectl create -f omsagentsecret.yaml
Para verificar, execute o seguinte:
keiko@ubuntu16-13db:~# sudo kubectl get secrets
O resultado deve assemelhar-se a:
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
O resultado deve assemelhar-se a:
Name: omsagent-secret Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== WSID: 36 bytes KEY: 88 bytes
Criar o seu daemon-set omsagent ao executar
sudo kubectl create -f omsagent-ds-secrets.yaml
Verifique se o DaemonSet do agente do Log Analytics está em execução, semelhante ao seguinte:
keiko@ubuntu16-13db:~# sudo kubectl get ds omsagent
NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 3 3 <none> 1h
Para o Kubernetes, utilize um script para gerar o ficheiro yaml de segredos para o ID da Área de Trabalho e a Chave Primária para o agente do Log Analytics para Linux. Utilize as seguintes informações de exemplo com o ficheiro yaml omsagent para proteger as suas informações secretas.
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
Configurar um agente do Windows do Log Analytics para Kubernetes
Para o Windows Kubernetes, utilize um script para gerar o ficheiro yaml de segredos para o ID da Área de Trabalho e a Chave Primária para instalar o agente do Log Analytics. Na página do GitHub do Docker kubernetes do Log Analytics , existem ficheiros que pode utilizar com as suas informações secretas. Tem de instalar o agente do Log Analytics separadamente para os nós principais e do agente.
Para utilizar o DaemonSet do agente do Log Analytics com informações secretas no nó Principal, inicie sessão e crie primeiro os segredos.
Copie o script e o ficheiro de modelo secreto e certifique-se de que estão no mesmo diretório.
- Script de geração de segredos - secret-gen.sh
- modelo secreto - secret-template.yaml
Execute o script, como no exemplo seguinte. O script pede o ID da Área de Trabalho do Log Analytics e a Chave Primária e, depois de os introduzir, o script cria um ficheiro yaml secreto para que possa executá-lo.
#> sudo bash ./secret-gen.sh
Criar o seu daemon-set omsagent ao executar
kubectl create -f omsagentsecret.yaml
Para verificar, execute o seguinte:
root@ubuntu16-13db:~# kubectl get secrets
O resultado deve assemelhar-se a:
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
Criar o seu daemon-set omsagent ao executar
kubectl create -f ws-omsagent-de-secrets.yaml
Verifique se o Agente do Log Analytics DaemonSet está em execução, semelhante ao seguinte:
root@ubuntu16-13db:~# kubectl get deployment omsagent NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 1 1 <none> 1h
Para instalar o agente no Nó de Trabalho, que está a executar o Windows, siga os passos na secção instalar e configurar anfitriões de contentores do Windows.
Utilizar o Helm para implementar o agente do Log Analytics no Linux Kubernetes
Para utilizar o helm para implementar o agente do Log Analytics no seu ambiente do Linux Kubernetes, execute os seguintes passos.
Criar o seu daemon-set omsagent ao executar
helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms
Os resultados terão um aspeto semelhante ao seguinte:
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
Pode verificar o estado do omsagent ao executar:
helm status "omsagent"
e o resultado terá um aspeto semelhante ao seguinte: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
Para obter mais informações, visite o Gráfico Helm da Solução de Contentor.
Instalar e configurar anfitriões de contentores do Windows
Utilize as informações na secção para instalar e configurar anfitriões de contentores do Windows.
Preparação antes de instalar agentes do Windows
Antes de instalar agentes em computadores com o Windows, tem de configurar o serviço Docker. A configuração permite que o agente do Windows ou a extensão da máquina virtual do Azure Monitor utilizem o socket TCP do Docker para que os agentes possam aceder remotamente ao daemon do Docker e capturar dados para monitorização.
Para configurar o serviço Docker
Execute os seguintes comandos do PowerShell para ativar o pipe TCP e o pipe nomeado para o Windows Server:
Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375
Start-Service docker
Para obter mais informações sobre a configuração do daemon do Docker utilizada com Contentores do Windows, consulte Docker Engine no Windows.
Instalar agentes do Windows
Para ativar a monitorização de contentores do Windows e do Hyper-V, instale o Microsoft Monitoring Agent (MMA) em computadores Windows que sejam anfitriões de contentores. Para computadores com o Windows no seu ambiente no local, consulte Ligar computadores Windows ao Azure Monitor. Para máquinas virtuais em execução no Azure, ligue-as ao Azure Monitor com a extensão da máquina virtual.
Pode monitorizar contentores do Windows em execução no Service Fabric. No entanto, apenas as máquinas virtuais em execução no Azure e computadores com o Windows no seu ambiente no local são atualmente suportadas para o Service Fabric.
Pode verificar se a solução de Monitorização de Contentores está definida corretamente para o Windows. Para verificar se o pacote de gestão foi transferido corretamente, procure ContainerManagement.xxx. Os ficheiros devem estar na pasta C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs.
Componentes da solução
No portal do Azure, navegue até à Galeria de Soluções e adicione a Solução de Monitorização de Contentores. Se estiver a utilizar agentes do Windows, o seguinte pacote de gestão é instalado em cada computador com um agente quando adiciona esta solução. Não é necessária qualquer configuração ou manutenção para o pacote de gestão.
- ContainerManagement.xxx instalado em C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs
Detalhes da recolha de dados de contentor
A solução de Monitorização de Contentores recolhe várias métricas de desempenho e dados de registo de anfitriões e contentores de contentores através de agentes que ativar.
Os dados são recolhidos a cada três minutos pelos seguintes tipos de agente.
Registos de contentor
A tabela seguinte mostra exemplos de registos recolhidos pela solução de Monitorização de Contentores e os tipos de dados que aparecem nos resultados da pesquisa de registos.
Tipo de dados | Tipo de dados na Pesquisa de Registos | Campos |
---|---|---|
Desempenho para anfitriões e contentores | Perf |
Computador, ObjectName, CounterName (%Hora do Processador, MB de Leitura do Disco, MB de Escrita de Disco, MB de Utilização da Memória, Bytes de Receção de Rede, Bytes de Envio de Rede, Utilização do Processador se, Rede), ContraValor,TimeGenerated, CounterPath, SourceSystem |
Inventário de contentores | ContainerInventory |
TimeGenerated, Computador, nome do contentor, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID |
Inventário de imagens de contentor | ContainerImageInventory |
TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Running, Paused, Stop, Failed, SourceSystem, ImageID, TotalContainer |
Registo de contentor | ContainerLog |
TimeGenerated, Computador, ID da imagem, nome do contentor, LogEntrySource, LogEntry, SourceSystem, ContainerID |
Registo do serviço de contentor | ContainerServiceLog |
TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID |
Inventário de nós de contentor | ContainerNodeInventory_CL |
TimeGenerated, Computer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem |
Inventário do 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 de contentor | 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 |
Eventos do Kubernetes | KubeEvents_CL |
TimeGenerated, Computer, Name_s, ObjectKind_s, Namespace_s, Reason_s, Type_s, SourceComponent_s, SourceSystem, Message |
As etiquetas anexadas aos tipos de dados podLabel são as suas próprias etiquetas personalizadas. As etiquetas podLabel anexadas apresentadas na tabela são exemplos. Assim, PodLabel_deployment_s
, PodLabel_deploymentconfig_s
, PodLabel_docker_registry_s
será diferente no conjunto de dados do seu ambiente e será genericamente semelhante a PodLabel_yourlabel_s
.
Contentores de monitor
Depois de ter a solução ativada no portal do Azure, o mosaico Contentores mostra informações de resumo sobre os anfitriões de contentores e os contentores em execução nos anfitriões.
O mosaico mostra uma descrição geral do número de contentores que tem no ambiente e se estes falharam, estão em execução ou parados.
Utilizar o dashboard Contentores
Clique no mosaico Contentores . A partir daí, verá vistas organizadas por:
- Eventos de Contentor – mostra o estado do contentor e os computadores com contentores com falhas.
- Registos de Contentores – mostra um gráfico de ficheiros de registo de contentor gerados ao longo do tempo e uma lista de computadores com o maior número de ficheiros de registo.
- Eventos do Kubernetes – mostra um gráfico de eventos do Kubernetes gerados ao longo do tempo e uma lista dos motivos pelos quais os pods geraram os eventos. Este conjunto de dados é utilizado apenas em ambientes Linux.
- Inventário do Espaço de Nomes do Kubernetes – mostra o número de espaços de nomes e pods e mostra a respetiva hierarquia. Este conjunto de dados é utilizado apenas em ambientes Linux.
- Inventário de Nós de Contentor – mostra o número de tipos de orquestração utilizados em nós/anfitriões de contentor. Os nós/anfitriões do computador também são listados pelo número de contentores. Este conjunto de dados é utilizado apenas em ambientes Linux.
- Inventário de Imagens de Contentor – mostra o número total de imagens de contentor utilizadas e o número de tipos de imagem. O número de imagens também é listado pela etiqueta de imagem.
- Estado dos Contentores - Mostra o número total de nós de contentor/computadores anfitriões que têm contentores em execução. Os computadores também são listados pelo número de anfitriões em execução.
- Processo de Contentor – mostra um gráfico de linhas de processos de contentor em execução ao longo do tempo. Os contentores também são listados ao executar o comando/processo nos contentores. Este conjunto de dados é utilizado apenas em ambientes Linux.
- Desempenho da CPU do Contentor – mostra um gráfico de linhas da utilização média da CPU ao longo do tempo para nós/anfitriões do computador. Também lista os nós/anfitriões do computador com base na utilização média da CPU.
- Desempenho da Memória do Contentor – mostra um gráfico de linhas de utilização da memória ao longo do tempo. Também lista a utilização da memória do computador com base no nome da instância.
- Desempenho do Computador – mostra gráficos de linhas da percentagem de desempenho da CPU ao longo do tempo, percentagem da utilização da memória ao longo do tempo e megabytes de espaço livre em disco ao longo do tempo. Pode pairar o cursor sobre qualquer linha num gráfico para ver mais detalhes.
Cada área do dashboard é uma representação visual de uma pesquisa que é executada em dados recolhidos.
Na área Estado do Contentor , clique na área superior, conforme mostrado abaixo.
O Log Analytics é aberto e apresenta informações sobre o estado dos contentores.
A partir daqui, pode editar a consulta de pesquisa para modificá-la para encontrar as informações específicas que lhe interessam. Para obter mais informações sobre consultas de registo, veja Log queries in Azure Monitor (Registar consultas no Azure Monitor).
Resolver problemas ao encontrar um contentor com falhas
O Log Analytics marca um contentor como Com falhas se tiver saído com um código de saída diferente de zero. Pode ver uma descrição geral dos erros e falhas no ambiente na área Contentores Com Falhas .
Para localizar contentores com falhas
- Clique na área Estado do Contentor .
- O Log Analytics abre e apresenta o estado dos contentores, semelhante ao seguinte.
- Expanda a linha Com falhas e clique em + para adicionar os respetivos critérios à consulta. Em seguida, comente a linha Resumir na consulta.
- Execute a consulta e, em seguida, expanda uma linha nos resultados para ver o ID da imagem.
- Escreva o seguinte na consulta de registo.
ContainerImageInventory | where ImageID == <ImageID>
para ver detalhes sobre a imagem, como o tamanho da imagem e o número de imagens paradas e falhadas.
Consultar registos de dados de contentor
Quando estiver a resolver um erro específico, pode ajudar a ver onde está a ocorrer no seu ambiente. Os seguintes tipos de registo irão ajudá-lo a criar consultas para devolver as informações que pretende.
- ContainerImageInventory – utilize este tipo quando estiver a tentar encontrar informações organizadas por imagem e para ver informações de imagens, como IDs de imagem ou tamanhos.
- ContainerInventory – utilize este tipo quando quiser informações sobre a localização do contentor, quais são os respetivos nomes e as imagens que estão a ser executadas.
- ContainerLog – utilize este tipo quando quiser encontrar informações e entradas específicas do registo de erros.
- ContainerNodeInventory_CL Utilize este tipo quando quiser obter as informações sobre o anfitrião/nó onde os contentores residem. Fornece a versão do Docker, o tipo de orquestração, o armazenamento e as informações de rede.
- ContainerProcess_CL Utilize este tipo para ver rapidamente o processo em execução no contentor.
- ContainerServiceLog – utilize este tipo quando estiver a tentar encontrar informações de registo de auditoria para o daemon do Docker, como comandos iniciar, parar, eliminar ou solicitar.
- KubeEvents_CL Utilize este tipo para ver os eventos do Kubernetes.
- KubePodInventory_CL Utilize este tipo quando quiser compreender as informações da hierarquia do cluster.
Para consultar registos de dados de contentor
Escolha uma imagem que sabe que falhou recentemente e localize os registos de erros da mesma. Comece por encontrar um nome de contentor que esteja a executar essa imagem com uma pesquisa ContainerInventory . Por exemplo, procure
ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
Expanda qualquer linha nos resultados para ver os detalhes desse contentor.
Exemplo de consultas dos registos
Muitas vezes, é útil criar consultas a partir de um ou dois exemplos e, em seguida, modificá-las para se ajustarem ao seu ambiente. Como ponto de partida, pode experimentar a área CONSULTAS DE EXEMPLO na extremidade direita da página da solução, para o ajudar a criar consultas mais avançadas.
Guardar consultas de registo
Guardar consultas é uma funcionalidade padrão no Azure Monitor. Ao guardá-las, terá as que considerou úteis para utilização futura.
Depois de criar uma consulta que considerar útil, guarde-a ao clicar em Favoritos na parte superior da página Pesquisa de Registos. Em seguida, pode aceder-lhe facilmente mais tarde a partir da página O Meu Dashboard .
Remover a solução da área de trabalho
Para remover a Solução de Monitorização de Contentores, siga as instruções para remover soluções com uma das seguintes opções: portal do Azure, PowerShell ou CLI do Azure
Passos seguintes
Consultar registos para ver registos de dados de contentor detalhados.