Este tópico explica como monitorar contêineres docker autônomos para gerenciar e manter aplicações conteinerizadas com eficiência.
Pré-requisitos
Etapa 1: Integrar o monitoramento de contêiner docker
Faça login no console do Managed Service for Prometheus. No painel de navegação à esquerda, clique em Integration Center.
-
Clique no cartão Docker Container e siga as instruções na tela. A tabela a seguir descreve os principais parâmetros.
Parâmetro
Descrição
cAdvisor installation mode
O cAdvisor (Container Advisor) é uma ferramenta open source do Google para monitoramento de contêineres. Ela coleta informações sobre o uso de recursos, como CPU, memória, rede e disco.
Instalação automática: descobre automaticamente instâncias ECS com base na política de filtro especificada e instala o serviço cAdvisor nelas.
Instalação manual: instale manualmente o serviço cAdvisor na instância ECS e abra a porta necessária para acesso dentro da VPC antes de configurar o monitoramento.
NotaConfigure o grupo de segurança da instância para permitir tráfego de entrada na porta especificada a partir do bloco CIDR da VPC.
Host service discovery mode
Define como descobrir as instâncias ECS a serem monitoradas.
Taint label selection
ECS taint label: exclui instâncias ECS com os taints especificados. Trata-se de um método de seleção inversa.
Unconditional (select all Linux instances in the current VPC)
-
Tag selection
ECS instance tag: seleciona instâncias com base nas tags de instância ECS.
CIDR block selection
ECS CIDR block: seleciona instâncias cujos endereços IP estão dentro do bloco CIDR especificado. Se você inserir o bloco CIDR de uma VPC, todas as instâncias ECS dessa VPC serão selecionadas.
Instance ID
ECS instance ID: separe vários IDs de instância com vírgula (,).
cAdvisor service port
Padrão: 8080.
Metric scrape interval (seconds)
Padrão: 15.
Automatic security group configuration
Quando ativado, este recurso adiciona automaticamente uma regra de grupo de segurança se a verificação de conectividade falhar.
Custom ECS tag injection
Especifique as chaves das tags ECS a serem injetadas. Os pares chave-valor correspondentes são adicionados como rótulos às métricas do Prometheus.
Etapa 2: Visualizar painéis de monitoramento
O Managed Service for Prometheus oferece vários painéis integrados que exibem detalhes do monitoramento de contêineres, como visão geral do cluster, componentes principais, nós e Pods. Você pode visualizar esses painéis no console do Container Service for Kubernetes, no console do Application Real-Time Monitoring Service (ARMS) ou no console do Managed Service for Prometheus.
Faça login no console do Managed Service for Prometheus. No painel de navegação à esquerda, clique em Integration Management.
Na página Integration Management, clique na aba Query Dashboards. Na seção de ambiente ECS, selecione um cluster para abrir seu painel.

Etapa 3: Configurar alertas
Faça login no console do Managed Service for Prometheus. No painel de navegação à esquerda, clique em Integration Management.
Na página Integration Management, clique na aba Integrated Environments. Selecione ECS instance e clique no nome do ambiente desejado para visualizar seus detalhes.
A aba Component Management permite configurar notificações de alerta integradas para o Prometheus. Para visualizar as regras de alerta específicas, selecione Docker Standalone Container Monitoring na lista de tipos de componente e clique na aba Alert Rule. Existem três regras de alerta integradas padrão: ContainerDown, HighMemoryUsage e HighCPUUsage, que ficam no status Running por padrão.
-
As regras de alerta integradas geram eventos de alerta, mas não enviam notificações. Para enviar notificações por e-mail ou para outras plataformas, clique em Edit para configurar os métodos de notificação.
A página de configuração de alertas também permite personalizar parâmetros como limiar de alerta, duração e conteúdo do alerta. Para obter instruções detalhadas de configuração, consulte Create a Prometheus alert rule.
Na seção Alert Notification, selecione Normal Mode. Na lista suspensa Quick Notification Policy, selecione Do not specify notification policies. Expanda Advanced Settings e defina o alert check interval como 1 minuto.
Métricas
|
Métrica |
Tipo |
Descrição |
|
container_blkio_device_usage_total |
COUNTER |
Uso acumulado em bytes do dispositivo de E/S de bloco. |
|
container_cpu_cfs_periods_total |
COUNTER |
Total de períodos de aplicação decorridos. |
|
container_cpu_cfs_throttled_periods_total |
COUNTER |
Total de períodos com limitação (throttled). |
|
container_cpu_cfs_throttled_seconds_total |
COUNTER |
Tempo total, em segundos, durante o qual o contêiner teve sua execução limitada. |
|
container_cpu_load_average_10s |
GAUGE |
Média de carga de CPU do contêiner nos últimos 10 segundos. |
|
container_cpu_schedstat_run_periods_total |
COUNTER |
Número total de vezes que processos no cgroup executaram na CPU. |
|
container_cpu_schedstat_runqueue_seconds_total |
COUNTER |
Tempo acumulado, em segundos, que os processos do contêiner passaram aguardando na fila de execução. |
|
container_cpu_schedstat_run_seconds_total |
COUNTER |
Tempo acumulado, em segundos, que os processos do contêiner estiveram em execução na CPU. |
|
container_cpu_system_seconds_total |
COUNTER |
Tempo acumulado de CPU do sistema consumido, em segundos. |
|
container_cpu_usage_seconds_total |
COUNTER |
Tempo acumulado de CPU consumido, em segundos. |
|
container_cpu_user_seconds_total |
COUNTER |
Tempo acumulado de CPU do usuário consumido, em segundos. |
|
container_file_descriptors |
GAUGE |
Número de descritores de arquivo abertos para o contêiner. |
|
container_fs_inodes_free |
GAUGE |
Número de inodes disponíveis no sistema de arquivos. |
|
container_fs_inodes_total |
GAUGE |
Total de inodes no sistema de arquivos. |
|
container_fs_io_current |
GAUGE |
Número de operações de E/S atualmente em andamento. |
|
container_fs_io_time_seconds_total |
COUNTER |
Tempo acumulado, em segundos, gasto em operações de E/S. |
|
container_fs_io_time_weighted_seconds_total |
COUNTER |
Tempo ponderado acumulado de E/S, em segundos. |
|
container_fs_limit_bytes |
GAUGE |
Máximo de bytes que o contêiner pode usar no sistema de arquivos. |
|
container_fs_read_seconds_total |
COUNTER |
Tempo acumulado, em segundos, gasto em leituras. |
|
container_fs_reads_bytes_total |
COUNTER |
Total acumulado de bytes lidos. |
|
container_fs_reads_merged_total |
COUNTER |
Número acumulado de leituras mescladas. |
|
container_fs_reads_total |
COUNTER |
Número acumulado de leituras concluídas. |
|
container_fs_sector_reads_total |
COUNTER |
Número acumulado de leituras de setor concluídas. |
|
container_fs_sector_writes_total |
COUNTER |
Número acumulado de gravações de setor concluídas. |
|
container_fs_usage_bytes |
GAUGE |
Número de bytes usados pelo contêiner no sistema de arquivos. |
|
container_fs_write_seconds_total |
COUNTER |
Tempo acumulado, em segundos, gasto em gravações. |
|
container_fs_writes_bytes_total |
COUNTER |
Total acumulado de bytes gravados. |
|
container_fs_writes_merged_total |
COUNTER |
Número acumulado de gravações mescladas. |
|
container_fs_writes_total |
COUNTER |
Número acumulado de gravações concluídas. |
|
container_hugetlb_failcnt |
COUNTER |
Número total de vezes que o uso de hugepages atingiu o limite. |
|
container_hugetlb_max_usage_bytes |
GAUGE |
Uso máximo registrado de hugepages, em bytes. |
|
container_hugetlb_usage_bytes |
GAUGE |
Uso atual de hugepages, em bytes. |
|
container_last_seen |
GAUGE |
Timestamp da última detecção do contêiner. |
|
container_llc_occupancy_bytes |
GAUGE |
Uso do cache LLC do contêiner, medido pelo Resource Director Technology (RDT) Memory Bandwidth Monitoring (MBM). |
|
container_memory_bandwidth_bytes |
GAUGE |
Uso total da largura de banda de memória do contêiner, medido pelo Resource Director Technology (RDT) Memory Bandwidth Monitoring (MBM). |
|
container_memory_bandwidth_local_bytes |
GAUGE |
Uso da largura de banda de memória local do contêiner, medido pelo Resource Director Technology (RDT) Memory Bandwidth Monitoring (MBM). |
|
container_memory_cache |
GAUGE |
Tamanho total do cache de páginas, em bytes. |
|
container_memory_failcnt |
COUNTER |
Número total de vezes que o uso de memória atingiu o limite. |
|
container_memory_failures_total |
COUNTER |
Número acumulado de falhas na alocação de memória. |
|
container_memory_mapped_file |
GAUGE |
Tamanho do arquivo mapeado em memória, em bytes. |
|
container_memory_max_usage_bytes |
GAUGE |
Uso máximo de memória, em bytes. |
|
container_memory_migrate |
GAUGE |
Status de migração de memória. |
|
container_memory_numa_pages |
GAUGE |
Número de páginas de memória usadas por nó NUMA (Non-Uniform Memory Access). |
|
container_memory_rss |
GAUGE |
Resident Set Size (RSS), em bytes. |
|
container_memory_swap |
GAUGE |
Uso atual de memória swap do contêiner, em bytes. |
|
container_memory_usage_bytes |
GAUGE |
Uso atual de memória, em bytes. |
|
container_memory_working_set_bytes |
GAUGE |
Tamanho atual do conjunto de trabalho (working set), em bytes. |
|
container_network_advance_tcp_stats_total |
GAUGE |
Estatísticas avançadas de conexão TCP do contêiner. |
|
container_network_receive_bytes_total |
COUNTER |
Número acumulado de bytes recebidos. |
|
container_network_receive_errors_total |
COUNTER |
Erros acumulados de recebimento. |
|
container_network_receive_packets_dropped_total |
COUNTER |
Pacotes de entrada descartados acumulados. |
|
container_network_receive_packets_total |
COUNTER |
Pacotes recebidos acumulados. |
|
container_network_tcp6_usage_total |
GAUGE |
Estatísticas de conexão TCPv6 do contêiner. |
|
container_network_tcp_usage_total |
GAUGE |
Estatísticas de conexão TCP do contêiner. |
|
container_network_transmit_bytes_total |
COUNTER |
Número acumulado de bytes transmitidos. |
|
container_network_transmit_errors_total |
COUNTER |
Erros acumulados de transmissão. |
|
container_network_transmit_packets_dropped_total |
COUNTER |
Pacotes de saída descartados acumulados. |
|
container_network_transmit_packets_total |
COUNTER |
Pacotes transmitidos acumulados. |
|
container_network_udp6_usage_total |
GAUGE |
Estatísticas de conexão UDPv6 do contêiner. |
|
container_network_udp_usage_total |
GAUGE |
Estatísticas de conexão udp do contêiner. |
|
container_oom_events_total |
COUNTER |
Total de eventos de falta de memória (OOM) do contêiner. |
|
container_perf_events_scaling_ratio |
GAUGE |
Razão de escalonamento para o contador de eventos perf. |
|
container_perf_events_total |
COUNTER |
Contagem escalonada de eventos perf core. |
|
container_perf_uncore_events_scaling_ratio |
GAUGE |
Razão de escalonamento para o contador de eventos perf uncore. Os rótulos |
|
container_perf_uncore_events_total |
COUNTER |
Contagem escalonada de eventos perf uncore. Os rótulos |
|
container_processes |
GAUGE |
Número de processos em execução no contêiner. |
|
container_referenced_bytes |
GAUGE |
Memória, em bytes, referenciada pelo contêiner desde a última medição. Este valor baseia-se no campo |
|
container_sockets |
GAUGE |
Número de sockets abertos para o contêiner. |
|
container_spec_cpu_period |
GAUGE |
Período de CPU do contêiner. |
|
container_spec_cpu_quota |
GAUGE |
Cota de CPU do contêiner. |
|
container_spec_cpu_shares |
GAUGE |
Compartilhamento de CPU do contêiner. |
|
container_spec_memory_limit_bytes |
GAUGE |
Limite de memória do contêiner, em bytes. |
|
container_spec_memory_reservation_limit_bytes |
GAUGE |
Limite de reserva de memória do contêiner, em bytes. |
|
container_spec_memory_swap_limit_bytes |
GAUGE |
Limite de memória swap do contêiner, em bytes. |
|
container_start_time_seconds |
GAUGE |
Hora de início do contêiner como timestamp Unix. |
|
container_tasks_state |
GAUGE |
Número de tarefas por estado: sleeping, running, stopped, uninterruptible ou I/O-wait. |
|
container_threads |
GAUGE |
Número de threads em execução no contêiner. |
|
container_threads_max |
GAUGE |
Número máximo de threads permitidas no contêiner. |
|
container_ulimits_soft |
GAUGE |
Valor soft ulimit para o processo raiz do contêiner. |
|
machine_cpu_cache_capacity_bytes |
GAUGE |
Tamanho do cache, em bytes, atribuído ao nó NUMA e aos núcleos de CPU. |
|
machine_cpu_cores |
GAUGE |
Número de núcleos lógicos de CPU. |
|
machine_cpu_physical_cores |
GAUGE |
Número de núcleos físicos de CPU. |
|
machine_cpu_sockets |
GAUGE |
Número de sockets de CPU. |
|
machine_dimm_capacity_bytes |
GAUGE |
Capacidade total de DIMMs de RAM, rotulada por tipo de módulo de memória. |
|
machine_dimm_count |
GAUGE |
Número de DIMMs de RAM, rotulado por tipo de módulo de memória. |
|
machine_memory_bytes |
GAUGE |
Quantidade de memória instalada na máquina. |
|
machine_swap_bytes |
GAUGE |
Quantidade de memória swap disponível na máquina. |
|
machine_node_distance |
GAUGE |
Distância relativa de um nó NUMA para outro. |
|
machine_node_hugepages_count |
GAUGE |
Número de hugepages atribuídas ao nó NUMA. |
|
machine_node_memory_capacity_bytes |
GAUGE |
Memória atribuída ao nó NUMA, em bytes. |
|
machine_nvm_avg_power_budget_watts |
GAUGE |
Orçamento médio de energia da NVM (Non-Volatile Memory), em watts. |
|
machine_nvm_capacity |
GAUGE |
Capacidade da NVM (Non-Volatile Memory). |
|
machine_thread_siblings_count |
GAUGE |
Número de threads irmãs de CPU. |