Solução de Monitorização de Contentores no Azure Monitor

Símbolo de contentores

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:

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.

Diagrama que mostra as relações entre o Azure Monitor e os anfitriões de contentor e agentes localizados na cloud do Azure, outras clouds e uma rede local.

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

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.

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

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

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

  1. Execute o seguinte no nó principal.

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

Nesta secção, abordamos os passos necessários para instalar o agente do Log Analytics como um daemon-set do OpenShift.

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

  2. 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  
    
  3. Para implementar o daemon-set, execute o seguinte:

    oc create -f ocp-omsagent.yaml

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

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

  2. 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  
    
  3. Implemente o ficheiro secreto ao executar o seguinte:

    oc create -f ocp-secret.yaml

  4. 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  
    
  5. Implemente o ficheiro yaml daemon-set do agente do Log Analytics ao executar o seguinte:

    oc create -f ocp-ds-omsagent.yaml

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

  1. Para utilizar o DaemonSet do agente do Log Analytics com informações secretas, crie primeiro os segredos.

    1. 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
    2. 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
      
    3. Crie o pod de segredos ao executar o seguinte:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. 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
      
    5. Criar o seu daemon-set omsagent ao executar sudo kubectl create -f omsagent-ds-secrets.yaml

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

  1. Para utilizar o DaemonSet do agente do Log Analytics com informações secretas no nó Principal, inicie sessão e crie primeiro os segredos.

    1. 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
    2. 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
      
    3. Criar o seu daemon-set omsagent ao executar kubectl create -f omsagentsecret.yaml

    4. 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
      
    5. Criar o seu daemon-set omsagent ao executar kubectl create -f ws-omsagent-de-secrets.yaml

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

  1. Criar o seu daemon-set omsagent ao executar helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms

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

Captura de ecrã que mostra o mosaico Contentores, que inclui um gráfico circular que mostra informações de resumo sobre contentores.

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.

Captura de ecrã que mostra um dashboard para ver os dados recolhidos.

Captura de ecrã que mostra um dashboard para ver os dados recolhidos, que inclui o estado, o processo, o desempenho e o inventário de imagens dos contentores.

Na área Estado do Contentor , clique na área superior, conforme mostrado abaixo.

Captura de ecrã que mostra a área Estado do Contentor do dashboard Contentores, que inclui um gráfico circular que mostra as informações de estado do contentor.

O Log Analytics é aberto e apresenta informações sobre o estado dos contentores.

Captura de ecrã que mostra o Log Analytics com uma consulta para o estado dos contentores e os resultados da pesquisa.

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

  1. Clique na área Estado do Contentor .
    Captura de ecrã que mostra a área Estado do Contentor do dashboard Contentores, que inclui um gráfico circular que mostra as informações de estado do contentor.
  2. O Log Analytics abre e apresenta o estado dos contentores, semelhante ao seguinte.
    Captura de ecrã que mostra o Log Analytics com uma consulta para o estado dos contentores e os resultados da pesquisa.
  3. Expanda a linha Com falhas e clique em + para adicionar os respetivos critérios à consulta. Em seguida, comente a linha Resumir na consulta. Captura de ecrã que mostra a linha que deve ser comentada.
  4. Execute a consulta e, em seguida, expanda uma linha nos resultados para ver o ID da imagem.
    Captura de ecrã que mostra como ver o ID da imagem.
  5. 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.
    Captura de ecrã que mostra o Log Analytics com uma consulta para uma imagem de contentor e detalhes sobre a imagem.

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"
    Captura de ecrã que mostra uma pesquisa de contentores do Ubuntu com falhas e os resultados da pesquisa.

    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.

Captura de ecrã que mostra a área Consultas de Exemplo com consultas de registo de exemplo.

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.