Métricas coletadas pelo atendente do CloudWatch - Amazon CloudWatch

Métricas coletadas pelo atendente do CloudWatch

É possível coletar métricas de servidores instalando o atendente do CloudWatch no servidor. Você pode instalar o atendente nas instâncias do Amazon EC2 e nos servidores on-premises, bem como nos servidores que executam o Linux, o Windows Server ou macOS. Se você instalar o atendente em uma instância do Amazon EC2, as métricas que ele coletar serão complementares às métricas habilitadas por padrão em instâncias do Amazon EC2.

Para obter informações sobre como instalar o atendente do CloudWatch em uma instância, consulte Coletar métricas, logs e rastreamentos com o agente do CloudWatch.

Todas as métricas discutidas nesta seção são coletadas diretamente pelo atendente do CloudWatch.

Métricas coletadas pelo atendente do CloudWatch em instâncias do Windows Server

Em um servidor que execute o Windows Server, instalar o atendente do CloudWatch permite coletar as métricas associadas ao contadores no Monitor de Performance do Windows. Os nomes de métrica do CloudWatch para esses contadores são criados colocando um espaço entre o nome do objeto e o nome do contador. Por exemplo, o contador % Interrupt Time do objeto Processor recebe o nome da métrica Processor % Interrupt Time no CloudWatch. Para obter mais informações sobre os contadores do Monitor de Performance do Windows, consulte a documentação do Microsoft Windows Server.

O namespace padrão para métricas coletadas pelo atendente do CloudWatch é CWAgent, embora seja possível especificar um namespace diferente quando você configura o atendente.

Métricas coletadas pelo atendente do CloudWatch em instâncias do Linux e macOS

A tabela a seguir relaciona as métricas coletadas pelo atendente do CloudWatch em servidores Linux e computadores macOS.

Métrica Descrição

cpu_time_active

A quantidade de tempo que a CPU está ativa em qualquer capacidade. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_guest

A quantidade de tempo em que a CPU está executando uma CPU virtual para um sistema operacional convidado. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_guest_nice

O tempo em que a CPU está executando uma CPU virtual para um sistema operacional convidado, que é de baixa prioridade e pode ser interrompida por outros processos. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_idle

A quantidade de tempo em que a CPU está ociosa. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_iowait

A quantidade de tempo em que a CPU está aguardando a conclusão de operações de entrada/saída. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_irq

A quantidade de tempo em que a CPU está atendendo a interrupções. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_nice

O tempo em que a CPU permanece em modo de usuário com processos de baixa prioridade que podem ser facilmente interrompidos por processos de prioridade mais alta. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_softirq

A quantidade de tempo em que a CPU está atendendo a interrupções de software. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_steal

A quantidade de tempo em que a CPU está no tempo roubado, que é o tempo gasto em outros sistemas operacionais em um ambiente virtualizado. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_system

A quantidade de tempo em que a CPU está no modo de sistema. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_time_user

A quantidade de tempo em que a CPU está no modo de usuário. Essa métrica é medida em centésimos de segundo.

Unidade: nenhuma

cpu_usage_active

A porcentagem de tempo que a CPU está ativa em qualquer capacidade.

Unidade: Percentual

cpu_usage_guest

O percentual de tempo que a CPU está executando uma CPU virtual para um sistema operacional convidado.

Unidade: Percentual

cpu_usage_guest_nice

A porcentagem de tempo em que a CPU está executando uma CPU virtual para um sistema operacional convidado que é de baixa prioridade e pode ser interrompida por outros processos.

Unidade: Percentual

cpu_usage_idle

O percentual de tempo em que a CPU está ociosa.

Unidade: Percentual

cpu_usage_iowait

O percentual de tempo que a CPU está aguardando a conclusão de operações de entrada/saída.

Unidade: Percentual

cpu_usage_irq

O percentual de tempo que a CPU está atendendo a interrupções.

Unidade: Percentual

cpu_usage_nice

A porcentagem de tempo que a CPU está em modo de usuário com processos de baixa prioridade que podem ser facilmente interrompidos por processos de prioridade mais alta.

Unidade: Percentual

cpu_usage_softirq

O percentual de tempo que a CPU está atendendo a interrupções de software.

Unidade: Percentual

cpu_usage_steal

O percentual de tempo que a CPU está no tempo roubado, ou o tempo gasto em outros sistemas operacionais em um ambiente virtualizado.

Unidade: Percentual

cpu_usage_system

O percentual de tempo que a CPU está no modo de sistema.

Unidade: Percentual

cpu_usage_user

O percentual de tempo que a CPU está no modo de usuário.

Unidade: Percentual

disk_free

O espaço livre nos discos.

Unidade: bytes

disk_inodes_free

O número de nós de índice disponíveis no disco.

Unidade: contagem

disk_inodes_total

O número total de nós de índice reservados no disco.

Unidade: contagem

disk_inodes_used

O número de nós de índice usados no disco.

Unidade: contagem

disk_total

Total de espaço nos discos, incluindo usado e gratuito.

Unidade: bytes

disk_used

O espaço usado nos discos.

Unidade: bytes

disk_used_percent

O percentual do total de espaço em disco que é usado.

Unidade: Percentual

diskio_iops_in_progress

O número de solicitações de E/S que foram emitidas para o driver de dispositivo, mas ainda não foram concluídas.

Unidade: contagem

diskio_io_time

A quantidade de tempo que o disco tem solicitações de E/S na fila.

Unidade: milissegundos

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

diskio_reads

O número de operações de leitura de disco.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

diskio_read_bytes

O número de bytes lidos dos discos.

Unidade: bytes

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

diskio_read_time

A quantidade de tempo que solicitações de leitura aguardaram nos discos. Várias solicitações de leitura em espera ao mesmo tempo que aumentam em número. Por exemplo, se 5 solicitações aguardarem uma média de 100 milissegundos, 500 serão relatadas.

Unidade: milissegundos

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

diskio_writes

O número de operações de gravação de disco.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

diskio_write_bytes

O número de bytes gravados nos discos.

Unidade: bytes

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

diskio_write_time

A quantidade de tempo que solicitações de gravação aguardaram nos discos. Várias solicitações de gravação em espera ao mesmo tempo que aumentam em número. Por exemplo, se 8 solicitações aguardarem uma média de 1000 milissegundos, 8000 serão relatadas.

Unidade: milissegundos

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

ethtool_bw_in_allowance_exceeded

Número de pacotes na fila e/ou descartados porque a largura de banda agregada de entrada excedeu o máximo para a instância.

Essa métrica será coletada somente se você listá-la na subseção ethtool da seção metrics_collected do arquivo de configuração do atendente do CloudWatch. Para mais informações, consulte Coletar métricas de performance da rede

Unidade: nenhuma

ethtool_bw_out_allowance_exceeded

Número de pacotes na fila e/ou descartados porque a largura de banda agregada de saída excedeu o máximo para a instância.

Essa métrica será coletada somente se você listá-la na subseção ethtool da seção metrics_collected do arquivo de configuração do atendente do CloudWatch. Para mais informações, consulte Coletar métricas de performance da rede

Unidade: nenhuma

ethtool_conntrack_allowance_exceeded

Número de pacotes descartados porque o monitoramento da conexão excedeu o máximo para a instância e não foi possível estabelecer novas conexões. Isso pode resultar em perda de pacotes para tráfego indo para a instância ou vindo da instância

Essa métrica será coletada somente se você listá-la na subseção ethtool da seção metrics_collected do arquivo de configuração do atendente do CloudWatch. Para mais informações, consulte Coletar métricas de performance da rede

Unidade: nenhuma

ethtool_linklocal_allowance_exceeded

Número de pacotes descartados porque o PPS do tráfego para os serviços de proxy local excedeu o máximo para a interface da rede. Isso afeta o tráfego para o serviço de DNS, o Instance Metadata Service e o Amazon Time Sync Service.

Essa métrica será coletada somente se você listá-la na subseção ethtool da seção metrics_collected do arquivo de configuração do atendente do CloudWatch. Para mais informações, consulte Coletar métricas de performance da rede

Unidade: nenhuma

ethtool_pps_allowance_exceeded

Número de pacotes na fila e/ou descartados porque o PPS bidirecional excedeu o máximo para a instância.

Essa métrica será coletada somente se você listá-la na subseção ethtool da seção metrics_collected do arquivo de configuração do atendente do CloudWatch. Para ter mais informações, consulte Coletar métricas de performance da rede.

Unidade: nenhuma

mem_active

A quantidade de memória que foi usada de alguma maneira durante o último período de amostra.

Unidade: bytes

mem_available

A quantidade de memória que está disponível e pode ser fornecida instantaneamente para os processos.

Unidade: bytes

mem_available_percent

O percentual de memória que está disponível e pode ser fornecido instantaneamente para os processos.

Unidade: Percentual

mem_buffered

A quantidade de memória que está sendo usada para buffers.

Unidade: bytes

mem_cached

A quantidade de memória que está sendo usada para caches de arquivo.

Unidade: bytes

mem_free

A quantidade de memória que não está sendo usada.

Unidade: bytes

mem_inactive

A quantidade de memória que não foi usada de alguma maneira durante o último período de amostra

Unidade: bytes

mem_total

A quantidade total de memória.

Unidade: bytes

mem_used

A quantidade de memória em uso no momento.

Unidade: bytes

mem_used_percent

O percentual de memória em uso no momento.

Unidade: Percentual

net_bytes_recv

O número de bytes recebidos pela interface de rede.

Unidade: bytes

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

net_bytes_sent

O número de bytes enviados pela interface de rede.

Unidade: bytes

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

net_drop_in

O número de pacotes recebidos por essa interface de rede que foram descartados.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

net_drop_out

O número de pacotes transmitidos por essa interface de rede que foram descartados.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

net_err_in

O número de erros de recepção detectados por essa interface de rede.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

net_err_out

O número de erros de transmissão detectados por essa interface de rede.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

net_packets_sent

O número de pacotes enviados por essa interface de rede.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

net_packets_recv

O número de pacotes recebidos por essa interface de rede.

Unidade: contagem

A única estatística que deve ser usada para essa métrica é Sum. Não use Average.

netstat_tcp_close

O número de conexões de TCP sem estado.

Unidade: contagem

netstat_tcp_close_wait

O número de conexões de TCP esperando por uma solicitação de encerramento do cliente.

Unidade: contagem

netstat_tcp_closing

O número de conexões de TCP que estão esperando por uma solicitação de encerramento com reconhecimento do cliente.

Unidade: contagem

netstat_tcp_established

O número de conexões de TCP estabelecidas.

Unidade: contagem

netstat_tcp_fin_wait1

O número de conexões de TCP no estado FIN_WAIT1 durante o processo de encerramento de uma conexão.

Unidade: contagem

netstat_tcp_fin_wait2

O número de conexões de TCP no estado FIN_WAIT2 durante o processo de encerramento de uma conexão.

Unidade: contagem

netstat_tcp_last_ack

O número de conexões de TCP esperando o cliente para enviar a confirmação da mensagem de encerramento da conexão. Este é o último estado logo antes que a conexão seja encerrada.

Unidade: contagem

netstat_tcp_listen

O número de portas TCP atualmente escutando uma solicitação de conexão.

Unidade: contagem

netstat_tcp_none

O número de conexões de TCP com clientes inativos.

Unidade: contagem

netstat_tcp_syn_sent

O número de conexões de TCP esperando por uma solicitação de conexão correspondente após enviar uma solicitação de conexão.

Unidade: contagem

netstat_tcp_syn_recv

O número de conexões de TCP esperando por uma confirmação de solicitação de conexão após enviar e receber uma solicitação de conexão.

Unidade: contagem

netstat_tcp_time_wait

O número de conexões de TCP atualmente esperando para garantir que o cliente tenha recebido a confirmação da solicitação de encerramento da conexão.

Unidade: contagem

netstat_udp_socket

O número de conexões de UDP atuais.

Unidade: contagem

processes_blocked

O número de processos que estão bloqueados.

Unidade: contagem

processes_dead

O número de processos que estão inativos, o que é indicado pelo código de estado X no Linux.

Essa métrica não é coletada em computadores macOS.

Unidade: contagem

processes_idle

O número de processos que estão ociosos (em suspensão por mais de 20 segundos). Disponível apenas em instâncias do FreeBSD.

Unidade: contagem

processes_paging

O número de processos que estão em paginação, o que é indicado pelo código de estado W no Linux.

Essa métrica não é coletada em computadores macOS.

Unidade: contagem

processes_running

O número de processos que estão em execução, indicado pelo código de estado R.

Unidade: contagem

processes_sleeping

O número de processos que estão em suspensão, indicado pelo código de estado S.

Unidade: contagem

processes_stopped

O número de processos que estão interrompidos, indicado pelo código de estado T.

Unidade: contagem

processes_total

O número total de processos na instância.

Unidade: contagem

processes_total_threads

O número total de threads que compõem os processos. Essa métrica está disponível apenas em instâncias do Linux.

Essa métrica não é coletada em computadores macOS.

Unidade: contagem

processes_wait

O número de processos que estão em paginação, o que é indicado pelo código de estado W em instâncias do FreeBSD. Essa métrica está disponível apenas em instâncias do FreeBSD e não está disponível em instâncias do Linux, Windows Server ou macOS.

Unidade: contagem

processes_zombies

O número de processos zumbi, indicado pelo código de estado Z.

Unidade: contagem

swap_free

A quantidade de espaço de troca que não está em uso.

Unidade: bytes

swap_used

A quantidade de espaço de troca em uso no momento.

Unidade: bytes

swap_used_percent

O percentual de espaço de troca em uso no momento.

Unidade: Percentual

Definições de métricas de memória coletadas pelo agente do CloudWatch

Quando o agente do CloudWatch coleta métricas de memória, a origem é o subsistema de gerenciamento de memória do host. Por exemplo, o kernel do Linux expõe dados mantidos pelo sistema operacional em /proc. Para a memória, os dados estão em /proc/meminfo.

Cada sistema operacional e arquitetura diferente tem cálculos diferentes dos recursos usados pelos processos. Para obter mais informações, consulte as seções a seguir.

Durante cada intervalo de coleta, o agente do CloudWatch em cada instância coleta os recursos da instância e calcula os recursos que estão sendo usados por todos os processos que estão sendo executados nessa instância. Essas informações são relatadas de volta para as métricas do CloudWatch. É possível configurar a duração do intervalo de coleta no arquivo de configuração do agente do CloudWatch. Para ter mais informações, consulte Arquivo de configuração do atendente do CloudWatch: seção do atendente.

A lista a seguir explica como as métricas de memória que o agente do CloudWatch coleta são definidas.

  • Memória ativa: memória que está sendo usada por um processo. Em outras palavras, a memória usada pelas aplicações em execução no momento.

  • Memória disponível: a memória que pode ser fornecida instantaneamente aos processos sem que o sistema entre em swap (também conhecida como memória virtual).

  • Memória em buffer: a área de dados compartilhada por dispositivos de hardware ou processos de programas que operam em velocidades e prioridades diferentes.

  • Memória em cache: armazena instruções e dados do programa que são usados repetidamente na operação dos programas que a CPU provavelmente precisará em seguida.

  • Memória livre: memória que não está sendo usada e está prontamente disponível. É totalmente livre para que o sistema a use quando necessário.

  • Memória inativa: páginas que não foram acessadas "recentemente".

  • Memória total: o tamanho real da memória física RAM.

  • Memória usada: memória que está sendo usada atualmente por programas e processos.

Linux: métricas coletadas e cálculos usados

Métricas coletadas e unidades:

  • Ativa (bytes)

  • Disponível (bytes)

  • Percentual disponível (percentual)

  • Em buffer (bytes)

  • Em cache (bytes)

  • Livre (bytes)

  • Inativa (bytes)

  • Total (bytes)

  • Usada (bytes)

  • Percentual usado (percentual)

Memória usada = Memória total - Memória livre - Memória em cache - Memória em buffer

Memória total = Memória usada + Memória livre + Memória em cache + Memória em buffer

macOS: métricas coletadas e cálculos usados

Métricas coletadas e unidades:

  • Ativa (bytes)

  • Disponível (bytes)

  • Percentual disponível (percentual)

  • Livre (bytes)

  • Inativa (bytes)

  • Total (bytes)

  • Usada (bytes)

  • Percentual usado (percentual)

Memória disponível = Memória livre + Memória inativa

Memória usada = Memória total - Memória disponível

Memória total = Memória disponível + Memória usada

Windows: métricas coletadas

As métricas coletadas nos hosts Windows estão listadas abaixo. Todas essas métricas têm None para Unit.

  • Bytes disponíveis

  • Falhas de cache/seg

  • Falhas de página/seg

  • Páginas/seg

Não há cálculos usados para métricas do Windows porque o agente do CloudWatch analisa eventos usando contadores de performance.

Exemplo: cálculo de métricas de memória no Linux

Como exemplo, suponha que a inserção do comando cat /proc/meminfo em um host Linux mostre os resultados a seguir:

MemTotal: 3824388 kB MemFree: 462704 kB MemAvailable: 2157328 kB Buffers: 126268 kB Cached: 1560520 kB SReclaimable: 289080 kB>

Neste exemplo, o agente do CloudWatch coletará os valores a seguir. Todos os valores que o agente do CloudWatch coleta e reporta estão em bytes.

  • mem_total: 3916173312 bytes

  • mem_available: 2209103872 bytes (MemFree+ em cache)

  • mem_free: 473808896 bytes

  • mem_cached: 1893990400 bytes (cached + SReclaimable

  • mem_used: 1419075584 bytes (MemTotal – (MemFree + Buffers + (Cached + SReclaimable)))

  • mem_buffered: 129667072 bytes

  • mem_available_percent: 56,41%

  • mem_used_percent: 36,24% (mem_used / mem_total) * 100