Criar ou editar manualmente o arquivo de configuração do atendente do CloudWatch - Amazon CloudWatch

Criar ou editar manualmente o arquivo de configuração do atendente do CloudWatch

O arquivo de configuração do agente do CloudWatch é um arquivo no formato JSON, que contém quatro seções: agent, metrics, logs e traces.

  • A seção agent inclui campos de configuração geral do atendente.

  • A seção metrics especifica as métricas personalizadas para coleta e publicação do CloudWatch. Se estiver usando o atendente apenas para coletar logs, você poderá omitir a seção metrics do arquivo.

  • A seção logs especifica quais arquivos de log sewrão publicados no CloudWatch Logs. Isso pode incluir eventos do Log de Eventos do Windows se o servidor executar o Windows Server.

  • A seção traces especifica as fontes de rastreamentos que são coletados e enviados para AWS X-Ray.

Esta seção explica a estrutura e os campos do arquivo de configuração do agente do CloudWatch. É possível visualizar a definição do esquema para este arquivo de configuração. A definição do esquema está localizada em installation-directory/doc/amazon-cloudwatch-agent-schema.json em servidores do Linux e em installation-directory/amazon-cloudwatch-agent-schema.json em servidores que executam o Windows Server.

Se criar ou editar o arquivo de configuração do atendente do manualmente, você poderá atribuir qualquer nome a ele. Para simplificar a solução de problemas, recomendamos que você nomeie-o /opt/aws/amazon-cloudwatch-agent/etc/cloudwatch-agent.json em um servidor Linux e $Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json nos servidores que executam o Windows Server. Depois de criar o arquivo, copie-o em outros servidores em que você deseja instalar o atendente.

Quando o agente é iniciado, ele cria uma cópia de cada arquivo de configuração no diretório /opt/aws/amazon-cloudwatch/etc/amazon-cloudwatch-agent.d, com o nome do arquivo prefixado com file_ (para fontes de arquivo locais) ou ssm_ (para fontes de armazenamento de parâmetros do Systems Manager) para indicar a origem da configuração.

nota

Métricas, logs e rastreamentos coletados pelo agente do CloudWatch incorrem em cobranças. Para obter mais informações sobre a definição de preço, consulte Preços do Amazon CloudWatch.

A seção agent pode incluir os seguintes campos. O assistente não cria uma seção agent. Em vez disso, o assistente a omite e usa os valores padrão para todos os campos nesta seção.

  • metrics_collection_interval: opcional. Especifica a frequência com que todas as métricas especificadas nesse arquivo de configuração serão coletadas. Você pode substituir esse valor por tipos específicos de métricas.

    Esse valor é especificado em segundos. Por exemplo, a especificação de 10 faz com que as métricas sejam coletadas a cada 10 segundos. Uma configuração de 300 especifica que as métricas sejam coletadas a cada 5 minutos.

    Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Métricas de alta resolução.

    O valor padrão é 60.

  • region: especifica a região a ser usada para o endpoint do CloudWatch quando uma instância do Amazon EC2 está sendo monitorada. As métricas coletadas são enviadas para essa região, como us-west-1. Se você omitir esse campo, o atendente enviará métricas para a região onde a instância do Amazon EC2 está localizada.

    Se você estiver monitorando um servidor on-premises, esse campo não será usado, e o atendente lerá a região do perfil AmazonCloudWatchAgent do arquivo de configuração da AWS.

  • credentials: especifica um perfil do IAM a ser usado ao enviar métricas, logs e rastreamentos a uma conta da AWS diferente. Se especificado, esse campo contém um parâmetro, role_arn.

  • debug: opcional. Especifica a execução do atendente do CloudWatch com mensagens do log de depuração. O valor padrão é false.

  • aws_sdk_log_level: opcional. Com suporte somente para a versão 1.247350.0 e para as versões posteriores do agente do CloudWatch.

    Você pode especificar esse campo para que o atendente realizar o registro em log para endpoints do AWS SDK. O valor desse campo pode incluir uma ou mais das opções a seguir. Separe várias opções com o caractere |.

    • LogDebug

    • LogDebugWithSigning

    • LogDebugWithHTTPBody

    • LogDebugRequestRetries

    • LogDebugWithEventStreamBody

    Para mais informações sobre essas opções, consulte LogLevelType.

  • logfile: especifica o local onde o atendente do CloudWatch grava mensagens de log. Se você especificar uma string vazia, o log irá para stderr. Se você não especificar essa opção, os locais padrão são os seguintes:

    • Linux: /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

    • Windows Server: c:\\ProgramData\\Amazon\\CloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log

    O atendente do CloudWatch alterna automaticamente o arquivo de log criado. Um arquivo de log é alternado quando ele atinge 100 MB de tamanho. O atendente mantém os arquivos de log alternados por até sete dias, e ele mantém até cinco arquivos de log de backup que foram alternados. Os arquivos de log de backup têm um timestamp anexado ao seu nome de arquivo. O timestamp mostra a data e a hora em que o arquivo foi alternado: por exemplo, amazon-cloudwatch-agent-2018-06-08T21-01-50.247.log.gz.

  • omit_hostname: opcional. Por padrão, o nome do host é publicado como uma dimensão de métricas coletadas pelo atendente, a menos que você esteja usando o campo append_dimensions da seção metrics. Defina omit_hostname como true para impedir que o nome do host seja publicado como uma dimensão, mesmo se você não estiver usando append_dimensions. O valor padrão é false.

  • run_as_user: opcional. Especifica um usuário a ser usado para executar o atendente do CloudWatch. Se você não especificar esse parâmetro, o usuário raiz será usado. Essa opção é válida apenas em servidores Linux.

    Se você especificar essa opção, o usuário deverá existir antes que o atendente do CloudWatch seja iniciado. Para obter mais informações, consulte Executar o atendente do CloudWatch como um usuário diferente.

  • user_agent: opcional. Especifica a string user-agent que é usada pelo atendente do CloudWatch quando ele faz chamadas de API ao backend do CloudWatch. O valor padrão é uma string que consiste na versão do atendente, a versão da linguagem de programação Go que foi usada para compilar o atendente, o sistema operacional e a arquitetura de runtime, o tempo de compilação e os plugins habilitados.

  • usage_data: opcional. Por padrão, o agente do CloudWatch envia dados de integridade e performande sobre si mesmo para o CloudWatch sempre que publica métricas ou logs no CloudWatch. Esses dados não geram custos para você. É possível impedir que o agente envie esses dados especificando false em usage_data. Se você omitir esse parâmetro, o padrão true será usado e o agente enviará dados de integridade e performance.

    Se você definir esse valor como false, deverá interromper e reiniciar o agente para que ele tenha efeito.

  • service.name: opcional. Especifica o nome do serviço a ser usado para preencher a entidade para encontrar a telemetria relacionada.

  • deployment.environment: opcional. Especifica o nome do ambiente a ser usado para preencher a entidade para encontrar a telemetria relacionada.

A seguir, temos um exemplo de uma seção agent.

"agent": { "metrics_collection_interval": 60, "region": "us-west-1", "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "debug": false, "run_as_user": "cwagent" }

Campos comuns ao Linux e Windows

Em servidores que executam o Linux ou o Windows Server, a seção metrics inclui os seguintes campos:

  • namespace: opcional. O namespace a ser usado para as métricas coletadas pelo atendente. O valor padrão é CWAgent. O tamanho máximo é de 255 caracteres. Veja um exemplo a seguir:

    { "metrics": { "namespace": "Development/Product1Metrics", ...... }, }
  • append_dimensions: opcional. Adiciona dimensões de métrica do Amazon EC2 a todas as métricas coletadas pelo atendente. Isso também faz com que o atendente não publique o nome do host como dimensão.

    Os únicos pares de chave-valor compatíveis com append_dimensions são exibidos na lista a seguir. Todos os outros pares de chave-valor são ignorados. O agente oferece suporte a esses pares de chave-valor exatamente da forma como são mostrados na lista a seguir. Não é possível alterar os valores de chaves para publicar nomes de dimensões diferentes para eles.

    • "ImageId":"${aws:ImageId}" define o ID da AMI da instância como o valor da dimensão ImageId.

    • "InstanceId":"${aws:InstanceId}" define o ID da instância como o valor da dimensão InstanceId.

    • "InstanceType":"${aws:InstanceType}" define o tipo de instância da instância como o valor da dimensão InstanceType.

    • "AutoScalingGroupName":"${aws:AutoScalingGroupName}" define o nome do grupo do Auto Scaling da instância como o valor da dimensão AutoScalingGroupName.

    Se você quiser anexar dimensões a métricas com pares de chave/valor arbitrários, use o parâmetro append_dimensions no campo para esse tipo específico de métrica.

    Se você especificar um valor que depende dos metadados do Amazon EC2 e usar proxies, deverá verificar se o servidor pode acessar o endpoint do Amazon EC2. Para obter mais informações sobre esses endpoints, consulte Amazon Elastic Compute Cloud (Amazon EC2) no Referência geral da Amazon Web Services.

  • aggregation_dimensions: opcional. Especifica as dimensões nas quais as métricas coletadas serão agregadas. Por exemplo, se você acumular métricas na dimensão AutoScalingGroupName, as métricas de todas as instâncias em cada grupo do Auto Scaling serão agregadas e poderão ser visualizadas como um todo.

    Você pode acumular métricas em dimensões únicas ou múltiplas. Por exemplo, se você especificar [["InstanceId"], ["InstanceType"], ["InstanceId","InstanceType"]], agregará métricas para ID de instância individualmente, tipo de instância individualmente e para a combinação das duas dimensões.

    Você também pode especificar [] para acumular todas as métricas em uma única coleção, desconsiderando todas as dimensões.

  • endpoint_override: especifica um endpoint FIPS ou um link privado a ser usado como o endpoint onde o atendente envia métricas. Especificá-lo e definir um link privado permite enviar as métricas para um endpoint da Amazon VPC. Para obter mais informações, consulte O que é a Amazon VPC?

    O valor de endpoint_override deve ser uma string que seja um URL.

    Por exemplo, a parte a seguir da seção de métricas do arquivo de configuração define o atendente para usar um VPC endpoint ao enviar métricas.

    { "metrics": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.monitoring.us-east-1.vpce.amazonaws.com", ...... }, }
  • metrics_collected: obrigatório. Especifica quais métricas serão coletadas, incluindo métricas personalizadas coletadas por meio do StatsD ou collectd. Essa seção inclui várias subseções.

    O conteúdo da seção metrics_collected varia dependendo do arquivo de configuração ser para um servidor que executa o Linux ou o Windows Server.

  • metrics_destinations: opcional. Especifica um ou mais destinos para todas as métricas definidas em metrics_collected. Se especificado aqui, substitui o destino padrão do cloudwatch.

    • cloudwatch: Amazon CloudWatch.

    • amp: Amazon Managed Service for Prometheus.

      • workspace_id: o ID correspondente ao espaço de trabalho do Amazon Managed Service for Prometheus.

    { "metrics": { "metrics_destinations": { "cloudwatch": {}, "amp": { "workspace_id": "ws-abcd1234-ef56-7890-ab12-example" } } } }
  • force_flush_interval: especifica em segundos a quantidade máxima de tempo em que as métricas permanecem no buffer da memória antes de serem enviadas ao servidor. Qualquer que seja o valor configurado, se o volume de métricas no buffer atingir 1 MB ou 1000 métricas diferentes, as métricas serão enviadas imediatamente para o servidor.

    O valor padrão é 60.

  • credentials: especifica uma função do IAM a ser usada ao enviar métricas a uma conta diferente. Se especificado, esse campo contém um parâmetro, role_arn.

Seção Linux

Em servidores que executem o Linux, a seção metrics_collected do arquivo de configuração também pode conter os campos a seguir.

Muitos desses campos podem incluir seções measurement que listam as métricas que você deseja coletar para esse recurso. Essas seções measurement podem especificar o nome completo da métrica, como swap_used, ou apenas a parte do nome da métrica que será acrescentada ao tipo de recurso. Por exemplo, especificar reads na seção measurement da seção diskio fará com que a métrica diskio_reads a seja coletada.

  • collectd: opcional. Especifica que você deseja recuperar métricas personalizadas usando o protocolo collectd. USe o software collectd para enviar as métricas ao atendente do CloudWatch. Para obter mais informações sobre as opções de configuração disponíveis para o collectd, consulte Recuperar métricas personalizadas com o collectd.

  • cpu: opcional. Especifica que as métricas da CPU deverão ser coletadas. Essa seção é válida apenas para instâncias do Linux. É necessário incluir pelo menos um dos campos totalcpu e resources para todas as métricas de CPU a serem coletadas. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • resources: opcional. Especifique esse campo com um valor de * para fazer com que as métricas por CPU sejam coletadas. O único valor permitido é *.

    • totalcpu: opcional. Especifica se as métricas de cpu agregadas em todos os núcleos de cpu serão relatadas. O padrão é true.

    • measurement: especifica a matriz de métricas de cpu a serem coletadas. Os valores possíveis são time_active, time_guest, time_guest_nice, time_idle, time_iowait, time_irq, time_nice, time_softirq, time_steal, time_system, time_user, usage_active, usage_guest, usage_guest_nice, usage_idle, usage_iowait, usage_irq, usage_nice, usage_softirq, usage_steal, usage_system e usage_user. Esse campo será obrigatório se você incluir cpu.

      Por padrão, a unidade para métricas de cpu_usage_* é Percent, e as métricas cpu_time_* não têm uma unidade.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de cpu, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos. Por exemplo, a especificação de 10 faz com que as métricas sejam coletadas a cada 10 segundos. Uma configuração de 300 especifica que as métricas sejam coletadas a cada 5 minutos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Dimensões adicionais a serem usadas somente para métricas de cpu. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions global que é usado para todos os tipos de métricas coletadas pelo atendente.

  • disk: opcional. Especifica que as métricas de disco deverão ser coletadas. Coleta métricas somente para volumes montados. Essa seção é válida apenas para instâncias do Linux. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • resources: opcional. Especifica uma matriz de pontos de montagem de disco. Esse campo limita o CloudWatch a coletar métricas apenas dos pontos de montagem listados. Você pode especificar * como o valor para coletar métricas de todos os pontos de montagem. O valor padrão é coletar métricas de todos os pontos de montagem.

    • measurement: especifica a matriz de métricas de disco a serem coletadas. Os valores possíveis são free, total, used, used_percent, inodes_free, inodes_used e inodes_total. Esse campo será obrigatório se você incluir disk.

      nota

      As métricas de disk têm uma dimensão para Partition, o que significa que o número de métricas personalizadas geradas depende do número de partições associadas à instância. O número de partições de disco que você tem depende da AMI usada e do número de volumes do Amazon EBS que estão sendo anexados ao servidor.

      Para ver as unidades padrão para cada métrica de disk, consulte Métricas coletadas pelo atendente do CloudWatch em instâncias do Linux e macOS.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • ignore_file_system_types: especifica os tipos de sistema de arquivos a serem excluídos ao coletar métricas de disco. Os valores válidos incluem sysfs, devtmpfs, e assim por diante.

    • drop_device: definir isso como true fará com que Device não seja incluído como uma dimensão para as métricas de disco.

      Impedir que Device seja usado como uma dimensão pode ser útil em instâncias que usam o sistema Nitro porque, nessas instâncias, os nomes dos dispositivos mudam para cada montagem de disco quando a instância é reinicializada. Isso pode causar dados inconsistentes em suas métricas e fazer com que os alarmes com base nessas métricas entrem no estado INSUFFICIENT DATA.

      O padrão é false.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de disco, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Especifique pares de chave-valor para serem usadas como dimensões adicionais apenas para métricas de disco. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions que é usado para todos os tipos de métricas coletadas pelo atendente.

      Veja a seguir um par de chave-valor que você pode usar. Você também pode especificar outros pares personalizados de chave-valor.

      • "VolumeId":"${aws:VolumeId}" adiciona uma dimensão VolumeId às métricas de disco do dispositivo de blocos. Para volumes do Amazon EBS, esse será o ID do volume do Amazon EBS. Para o armazenamento de instâncias do EC2, essa será a série do dispositivo. Usar isso requer que o parâmetro drop_device seja definido como false.

  • diskio: opcional. Especifica que as métricas de e/s de disco deverão ser coletadas. Essa seção é válida apenas para instâncias do Linux. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • resources: opcional. Se você especificar uma matriz de dispositivos, o CloudWatch coletará métricas apenas desses dispositivos. Caso contrário, serão coletadas métricas para todos os dispositivos. Você também pode especificar * como valor para coletar métricas de todos os dispositivos.

    • measurement: especifica a matriz de métricas de e/s de disco a serem coletadas. Os valores possíveis são reads, writes, read_bytes, write_bytes, read_time, write_time, io_time e iops_in_progress. Esse campo será obrigatório se você incluir diskio.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de diskio, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Dimensões adicionais a serem usadas somente para métricas de diskio. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions que é usado para todos os tipos de métricas coletadas pelo atendente.

  • swap: opcional. Especifica que as métricas de memória de permuta deverão ser coletadas. Essa seção é válida apenas para instâncias do Linux. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • measurement: especifica a matriz de métricas de swap a serem coletadas. Os valores possíveis são free, used e used_percent. Esse campo será obrigatório se você incluir swap.

      Para ver as unidades padrão para cada métrica de swap, consulte Métricas coletadas pelo atendente do CloudWatch em instâncias do Linux e macOS.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de memória de permuta, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Dimensões adicionais a serem usadas somente para métricas de memória de permuta. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions global que é usado para todos os tipos de métricas coletadas pelo atendente. É coletado como uma métrica de alta resolução.

  • mem: opcional. Especifica que as métricas de memória deverão ser coletadas. Essa seção é válida apenas para instâncias do Linux. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • measurement: especifica a matriz de métricas de memória a serem coletadas. Os valores possíveis são active, available, available_percent, buffered, cached, free, inactive, total, used e used_percent. Esse campo será obrigatório se você incluir mem.

      Para ver as unidades padrão para cada métrica de mem, consulte Métricas coletadas pelo atendente do CloudWatch em instâncias do Linux e macOS.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de memória, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Dimensões adicionais a serem usadas somente para métricas de memória. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions que é usado para todos os tipos de métricas coletadas pelo atendente.

  • net: opcional. Especifica que as métricas de redes deverão ser coletadas. Essa seção é válida apenas para instâncias do Linux. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • resources: opcional. Se você especificar uma matriz de interfaces de rede, o CloudWatch coletará métricas apenas dessas interfaces. Caso contrário, serão coletadas métricas para todos os dispositivos. Você também pode especificar * como o valor para coletar métricas de todas as interfaces.

    • measurement: especifica a matriz de métricas de redes a serem coletadas. Os valores possíveis são bytes_sent, bytes_recv, drop_in, drop_out, err_in, err_out, packets_sent e packets_recv. Esse campo será obrigatório se você incluir net.

      Para ver as unidades padrão para cada métrica de net, consulte Métricas coletadas pelo atendente do CloudWatch em instâncias do Linux e macOS.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de redes, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos. Por exemplo, a especificação de 10 faz com que as métricas sejam coletadas a cada 10 segundos. Uma configuração de 300 especifica que as métricas sejam coletadas a cada 5 minutos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Dimensões adicionais a serem usadas somente para métricas de redes. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions que é usado para todos os tipos de métricas coletadas pelo atendente.

  • netstat: opcional. Especifica que as métricas de estado de conexão TCP e conexão UDP deverão ser coletadas. Essa seção é válida apenas para instâncias do Linux. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • measurement: especifica a matriz de métricas de netstat a serem coletadas. Os valores possíveis são tcp_close, tcp_close_wait, tcp_closing, tcp_established, tcp_fin_wait1, tcp_fin_wait2, tcp_last_ack, tcp_listen, tcp_none, tcp_syn_sent, tcp_syn_recv, tcp_time_wait e udp_socket. Esse campo será obrigatório se você incluir netstat.

      Para ver as unidades padrão para cada métrica de netstat, consulte Métricas coletadas pelo atendente do CloudWatch em instâncias do Linux e macOS.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de netstat, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Dimensões adicionais a serem usadas somente para métricas de netstat. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions que é usado para todos os tipos de métricas coletadas pelo atendente.

  • processes: opcional. Especifica que as métricas de processo deverão ser coletadas. Essa seção é válida apenas para instâncias do Linux. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • measurement: especifica a matriz de métricas de processos a serem coletadas. Os valores possíveis são blocked, dead, idle, paging, running, sleeping, stopped, total, total_threads, wait e zombies. Esse campo será obrigatório se você incluir processes.

      Para todas as métricas processes, a unidade padrão é None.

      Dentro da entrada de cada métrica individual, você também poderá especificar opcionalmente uma ou ambas as opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas de processos, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

      Esse valor é especificado em segundos. Por exemplo, a especificação de 10 faz com que as métricas sejam coletadas a cada 10 segundos. Uma configuração de 300 especifica que as métricas sejam coletadas a cada 5 minutos.

      Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações, consulte Métricas de alta resolução.

    • append_dimensions: opcional. Dimensões adicionais a serem usadas somente para métricas de processo. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions que é usado para todos os tipos de métricas coletadas pelo atendente.

  • nvidia_gpu: opcional. Especifica que as métricas de GPU NVIDIA deverão ser coletadas. Esta seção é válida somente para instâncias Linux em hosts configurados com um acelerador de GPU NVIDIA e que tenham a NVIDIA System Management Interface (nvidia-smi) instalada.

    As métricas de GPU NVIDIA coletadas são prefixadas com a string nvidia_smi_ para distingui-las das métricas coletadas para outros tipos de acelerador. A seção pode incluir os seguintes campos:

    • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

    • measurement: especifica a matriz de métricas GPU NVIDIA a serem coletadas. Para obter uma lista dos valores de uso possíveis, consulte a coluna Metric (Métrica) na tabela em Colete métricas de GPU NVIDIA.

      Na entrada de cada métrica individual, você também poderá especificar uma ou ambas das seguintes opções:

      • rename: especifica um nome diferente para essa métrica.

      • unit: especifica a unidade a ser usada para essa métrica, substituindo a unidade padrão de None para a métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

    • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas GPU NVIDIA, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

  • jmx: opcional. Especifica que você deseja recuperar métricas do Java Management Extensions (JMX) da instância. Para obter mais informações sobre os parâmetros que você pode usar nesta seção e as métricas que pode coletar, consulte Coletar métricas do Java Management Extensions (JMX).

  • otlp: opcional. Especifica que você deseja coletar métricas do SDK do OpenTelemetry. Para obter mais informações sobre os campos que você pode usar nesta seção, consulte Coletar métricas e rastreamentos com o OpenTelemetry.

  • procstat: opcional. Especifica se você deseja recuperar métricas de processos individuais. Para obter mais informações sobre as opções de configuração disponíveis para o procstat, consulte Coletar métricas de processo com o plugin procstat.

  • statsd: opcional. Especifica que você deseja recuperar métricas personalizadas usando o protocolo StatsD. O atendente do CloudWatch funciona como daemon para o protocolo. Use qualquer cliente do StatsD padrão para enviar as métricas ao atendente do CloudWatch. Para obter mais informações sobre as opções de configuração disponíveis para o StatsD, consulte Recuperar métricas personalizadas com o StatsD.

  • ethtool: opcional. Especifica que você deseja recuperar métricas de rede usando o plugin ethtool. Este plugin pode importar as métricas coletadas pelo utilitário ethtool padrão, bem como métricas de performance de rede das instâncias do Amazon EC2. Para obter mais informações sobre as opções de configuração disponíveis para o ethtool, consulte Coletar métricas de performance da rede.

Veja a seguir o exemplo de uma seção metrics para um servidor Linux. Neste exemplo, três métricas de CPU, três métricas de netstat, três métricas de processo e uma métrica de disco são coletadas, e o atendente é configurado para receber métricas adicionais a partir de um cliente collectd.

"metrics": { "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"],[]], "metrics_collected": { "collectd": {}, "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "drop_original_metrics": [ "cpu_usage_guest" ], "metrics_collection_interval": 10, "append_dimensions": { "test": "test1", "date": "2017-10-01" } }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "disk": { "measurement": [ "used_percent" ], "resources": [ "*" ], "drop_device": true }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" } }

Windows Server

Na seção metrics_collected para Windows Server, você pode ter subseções para cada objeto de performance do Windows, como Memory, Processor e LogicalDisk. Para obter informações sobre quais objetos e contadores estão disponíveis, consulte Contadores de performance na documentação do Microsoft Windows.

Na subseção de cada objeto, você especifica uma matriz de measurement de contadores a serem coletados. A matriz measurement é necessária para cada objeto que você especifica no arquivo de configuração. Você também pode especificar um campo resources para nomear as instâncias das quais as métricas serão coletadas. Você também pode especificar * para resources para coletar métricas separadas para cada instância. Se você omitir resources para contadores que tenham instâncias, os dados de todas as instâncias serão agregados em um conjunto. Se você omitir resources para contadores que não tenham instâncias, os contadores não são coletados pelo agente do CloudWatch. Para determinar se os contadores têm instâncias, é possível usar um dos comandos a seguir.

Powershell:

Get-Counter -ListSet *

Linha de comando (não na Powershell):

TypePerf.exe –q

Dentro de cada seção de objeto, você também pode especificar os campos opcionais a seguir:

  • metrics_collection_interval: opcional. Especifica a frequência da coleta de métricas para esse objeto, substituindo o metrics_collection_interval global especificado na seção agent do arquivo de configuração.

    Esse valor é especificado em segundos. Por exemplo, a especificação de 10 faz com que as métricas sejam coletadas a cada 10 segundos. Uma configuração de 300 especifica que as métricas sejam coletadas a cada 5 minutos.

    Se você definir esse valor abaixo de 60 segundos, cada métrica será coletada como uma métrica de alta resolução. Para obter mais informações, consulte Métricas de alta resolução.

  • append_dimensions: opcional. Especifica dimensões adicionais a serem usadas somente para métricas desse objeto. Se você especificar esse campo, ele será usado em complemento às dimensões especificadas no campo append_dimensions global que é usado para todos os tipos de métricas coletadas pelo atendente.

  • drop_original_metrics: opcional. Se você estiver usando o campo aggregation_dimensions na seção metrics para agrupar métricas em resultados agregados, por padrão, o agente enviará as métricas agregadas e as métricas originais que são separadas para cada valor da dimensão. Se você não quiser que as métricas originais sejam enviadas ao CloudWatch, é possível especificar esse parâmetro com uma lista de métricas. As métricas especificadas junto a esse parâmetro não têm suas métricas por dimensão relatadas ao CloudWatch. Em vez disso, somente as métricas agregadas são relatadas. Isso reduz o número de métricas que o agente coleta, reduzindo seus custos.

Dentro de cada seção de contador, você também pode especificar os campos opcionais a seguir:

  • rename: especifica um nome diferente a ser usado no CloudWatch para essa métrica.

  • unit: especifica a unidade a ser usada para essa métrica. A unidade que você especificar deverá ser uma unidade de métrica válida do CloudWatch, conforme listado na descrição do Unit em MetricDatum.

Existem outras seções opcionais que podem ser incluídas em metrics_collected:

Veja a seguir um exemplo de uma seção metrics para uso em um Windows Server. Neste exemplo, muitas métricas do Windows são coletadas e o computador também é definido de modo a receber métricas adicionais de um cliente StatsD.

"metrics": { "metrics_collected": { "statsd": {}, "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ], "append_dimensions": { "d3": "win_bo" } }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "d3": "win_bo" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] } }

A seção logs inclui os seguintes campos:

  • service.name: opcional. Especifica o nome do serviço a ser usado para preencher a entidade para encontrar a telemetria relacionada.

  • deployment.environment: opcional. Especifica o nome do ambiente a ser usado para preencher a entidade para encontrar a telemetria relacionada.

  • logs_collected: obrigatório, se a seção logs for incluída. Especifica quais arquivos de log e logs de eventos do Windows deverão ser coletados no servidor. Pode incluir dois campos: files e windows_events.

    • files: especifica os arquivos de log regulares que deverão ser coletados pelo atendente do CloudWatch. Contém um campo, collect_list, que define melhor esses arquivos.

      • collect_list: obrigatório se files for incluído. Contém uma matriz de entradas, sendo que cada uma delas especifica um arquivo de log para coletar. Cada uma dessas entradas pode incluir os seguintes campos:

        • file_path: especifica o caminho do arquivo de log para carregar para o CloudWatch Logs. Regras correspondentes de glob do Unix padrão são aceitas, com a adição de ** como um superasterisco. Por exemplo, se você especificar /var/log/**.log, isso fará com que todos os arquivos .log na árvore de diretórios /var/log sejam coletados. Para obter mais exemplos, consulte a Biblioteca do glob.

          Você também pode usar o asterisco padrão como um curinga padrão. Por exemplo, /var/log/system.log* corresponde a arquivos, como system.log_1111, system.log_2222, e assim por diante em /var/log.

          Somente o arquivo mais recente é enviado ao CloudWatch Logs com base no tempo de modificação do arquivo. Recomendamos usar caracteres curinga para especificar uma série de arquivos do mesmo tipo, como access_log.2018-06-01-01 e access_log.2018-06-01-02, mas não vários tipos de arquivos, como access_log_80 e access_log_443. Para especificar vários tipos de arquivos, adicione outra entrada de stream de log ao arquivo de configuração de atendente para que cada tipo de arquivo de log vá para um stream de log diferente.

        • auto_removal: opcional. Se isso for true, o agente do CloudWatch excluirá automaticamente esse arquivo de log depois de lê-lo e de ele ter sido rotacionado. Normalmente, os arquivos de log são excluídos depois que todo o conteúdo é carregado no CloudWatch Logs, mas se o agente chegar ao EOF (fim do arquivo) e detectar outro arquivo de log mais novo que corresponda ao mesmo file_path, o agente exclui o arquivo ANTIGO. Portanto, verifique se terminou de gravar no arquivo ANTIGO antes de criar o arquivo NOVO. A biblioteca de rastreamento RUST tem uma incompatibilidade conhecida porque é provável que crie um NOVO arquivo de log e ainda tente gravar no arquivo de log ANTIGO.

          O atendente remove somente arquivos completos dos logs que criam vários arquivos, como logs que criam arquivos separados para cada data. Se um log gravar continuamente em um único arquivo, ele não será removido.

          Se você já tiver um método de rotação ou remoção do arquivo de log em vigor, recomendamos que você omita esse campo ou defina-o como false.

          Se você omitir esse campo, o valor padrão de false será usado.

        • log_group_name: opcional. Especifica o que usar como nome de grupo de logs no CloudWatch Logs.

          Recomendamos que você use esse campo para especificar um nome para o grupo de logs com a finalidade de evitar confusões. Se você omitir log_group_name, o valor de file_path até o ponto final será usado como o nome do grupo de logs. Por exemplo, se o caminho do arquivo for /tmp/TestLogFile.log.2017-07-11-14, o nome do grupo de logs será /tmp/TestLogFile.log.

          Caso especifique um nome para o grupo de logs, você poderá usar {instance_id}, {hostname}, {local_hostname} e {ip_address} como variáveis no nome. {hostname} recupera o nome do host usando os metadados do EC2 e {local_hostname} usa o nome do host do arquivo de configuração de rede.

          Se você usar essas variáveis para criar diferentes grupos de logs, lembre-se do limite de 1.000.000 de grupos de log por conta, por região.

          Os caracteres permitidos incluem a-z, A-Z, 0-9, “_” (sublinhado), “-” (hífen), “/” (barra) e “.” (ponto).

        • log_group_class: opcional. Especifica qual classe do grupo de logs será usada para o novo grupo de logs. Para obter mais informações sobre as classes do grupo de logs, consulte Log classes.

          Os valores válidos são STANDARD e INFREQUENT_ACCESS. Se você omitir esse campo, o padrão de STANDARD será usado.

          Importante

          Após a criação de um grupo de logs, a classe não poderá ser alterada.

        • log_stream_name: opcional. Especifica o que usar como nome do fluxo de logs no CloudWatch Logs. Como parte do nome, você pode usar {instance_id}, {hostname}, {local_hostname} e {ip_address} como variáveis dentro do nome. O {hostname} recupera o nome do host de metadados do EC2, e o {local_hostname} usa o nome de host do arquivo de configuração de rede.

          Se você omitir esse campo, o valor do parâmetro log_stream_name na seção global de logs será usado. Se isso também for omitido, o valor padrão de {instance_id} será usado.

          Caso um fluxo de logs ainda não exista, ele será criado automaticamente.

        • retention_in_days: opcional. Especifica o número de dias em que os eventos de log serão retidos no grupo de logs especificado.

          • Se o agente estiver criando esse grupo de logs agora e você omitir esse campo, a retenção desse novo grupo será definida para nunca expirar.

          • Se esse grupo de logs já existir e você especificar esse campo, a nova retenção definida será utilizada. Se você omitir esse campo para um grupo de logs existente, a retenção do grupo de logs não será alterada.

            O assistente do agente do CloudWatch usará -1 como valor padrão esse campo quando ele for usado para criar o arquivo de configuração do agente e você não especificar um valor para a retenção de logs. Esse valor -1 definido pelo assistente especifica que os eventos no grupo de logs não expiram. No entanto, editar manualmente esse valor para não -1 tem efeito.

          Os valores válidos são 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 e 3653..

          Se você configurar o atendente para gravar vários fluxos de log no mesmo grupo de logs, especificar o retention_in_days em um só lugar definirá a retenção de log para todo o grupo de logs. Se você especificar retention_in_days para o mesmo grupo de logs em vários locais, a retenção será definida se todos esses valores forem iguais. No entanto, se diferentes valores de retention_in_days forem especificados para o mesmo grupo de logs em vários locais, a retenção de log não será definida e o atendente será interrompido, retornando um erro.

          nota

          A função do IAM do atendente ou o usuário do IAM deve ter o logs:PutRetentionPolicy para poder definir políticas de retenção. Para obter mais informações, consulte Permitir que o atendente do CloudWatch defina a política de retenção de logs.

          Atenção

          Se você definir retention_in_days para um grupo de logs que já existe, todos os logs nesse grupo de logs publicados antes do número de dias que você especificar são excluídos. Por exemplo, configurá-lo como 3 faria com que todos os logs de 3 dias atrás e anteriores a isso fossem excluídos.

        • filters: opcional. Pode conter uma matriz de entradas, cada uma das quais especifica uma expressão regular e um tipo de filtro para especificar se as entradas de log que correspondem ao filtro devem ser publicadas ou soltas. Se você omitir esse campo, todos os logs no arquivo de log serão publicados no CloudWatch Logs. Se você incluir esse campo, o atendente processará cada mensagem de log com todos os filtros especificados, e somente os eventos de log que passam todos os filtros serão publicados no CloudWatch Logs. As entradas de registro que não passam todos os filtros ainda permanecerão no arquivo de log do host, mas não serão enviadas para o CloudWatch Logs.

          Cada entrada na matriz de filtros pode incluir os seguintes campos:

          • type: denota o tipo de filtro. Os valores válidos são include e exclude. Com include, a entrada de log deve corresponder à expressão a ser publicada no CloudWatch Logs. Com exclude, cada entrada de log que corresponde ao filtro não é enviada para o CloudWatch Logs.

          • expression: uma string de expressão regular que segue a Sintaxe RE2.

            nota

            O atendente do CloudWatch não verifica a performance de nenhuma expressão regular que você fornece nem restringe o runtime da avaliação das expressões regulares. Recomendamos que você tenha cuidado para não escrever uma expressão que seja cara de avaliar. Para obter mais informações sobre possíveis problemas, consulte Negação de serviço de expressão regular – REDoS

          Por exemplo, o trecho a seguir do arquivo de configuração do atendente CloudWatch publica logs que são solicitações PUT e POST para o CloudWatch Logs, mas exclui logs provenientes do Firefox.

          "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "filters": [ { "type": "exclude", "expression": "Firefox" }, { "type": "include", "expression": "P(UT|OST)" } ] }, ..... ]
          nota

          A ordem dos filtros no arquivo de configuração é importante para a performance. No exemplo anterior, o atendente descarta todos os logs que correspondem a Firefox antes de começar a avaliar o segundo filtro. Para fazer com que menos entradas de log sejam avaliadas por mais de um filtro, coloque o filtro do qual você espera descartar mais logs primeiro no arquivo de configuração.

        • timezone: opcional. Especifica o fuso horário a ser usado durante a colocação de time stamps em eventos de log. Os valores válidos são UTC e Local. O valor padrão é Local.

          Esse parâmetro será ignorado se você não especificar um valor para timestamp_format.

        • timestamp_format: opcional. Especifica o formato do time stamp, usando texto simples e símbolos especiais que começam com %. Se você omitir esse campo, o tempo atual será usado. Se você usar esse campo, poderá usar os símbolos na lista a seguir como parte do formato.

          nota

          Esse parâmetro não é levado em consideração quando file_path está definido como amazon-cloudwatch-agent.log

          Se uma única entrada de log contiver dois time stamps correspondentes ao formato, o primeiro time stamp será usado.

          Esta lista de símbolos é diferente da lista usada pelo atendente do CloudWatch Logs mais antigo. Para obter um resumo dessas diferenças, consulte Diferenças de carimbo de data/hora entre o atendente unificado do CloudWatch e o atendente mais antigo do CloudWatch Logs.

          %y

          Ano sem o século como um número decimal preenchido com zero. Por exemplo, 19 para representar 2019.

          %Y

          Ano com o século como um número decimal. Por exemplo, .2019

          %b

          Mês como o nome abreviado da localidade

          %B

          Mês como o nome completo da localidade

          %m

          mês como um número decimal preenchido com zeros

          %-m

          Mês como um número decimal (não preenchido com zeros)

          %d

          dia do mês como um número decimal preenchido com zeros

          %-d

          Dia do mês como um número decimal (não preenchido com zeros)

          %A

          Nome completo do dia da semana, como Monday

          %a

          Abreviação do dia da semana, como Mon

          %H

          Hora (no formato de 24 horas) como um número decimal preenchido com zeros

          %I

          Hora (no formato de 12 horas) como um número decimal preenchido com zeros

          %-I

          Hora (no formato de 12 horas) como número decimal (não preenchido com zeros)

          %p

          AM ou PM

          %M

          Minutos como um número decimal preenchido com zeros

          %-M

          Minutos como um número decimal (não preenchido com zeros)

          %S

          Segundos como um número decimal preenchido com zeros

          %-S

          Segundos como um número decimal (não preenchido com zeros)

          %f

          Segundos fracionários como um número decimal (1 a 9 dígitos), preenchido com zeros à esquerda.

          %Z

          Fuso horário, por exemplo PST

          %z

          Fuso horário, expresso como a diferença entre o fuso horário local e o UTC. Por exemplo, .-0700 Há suporte apenas para esse formato. Por exemplo, -07:00 não é um formato válido.

        • multi_line_start_pattern: especifica o padrão para identificar o início de uma mensagem de log. Uma mensagem de log é feita de uma linha em conformidade com o padrão e as linhas subsequentes que não correspondem ao padrão.

          Se você omitir esse campo, o modo multilinhas será desabilitado, e qualquer linha que comece com um caractere diferente de espaço fechará a mensagem de log anterior e iniciará uma nova mensagem de log.

          Se incluir esse campo, você poderá especificar {timestamp_format} para usar a mesma expressão regular como o formato de time stamp. Caso contrário, você pode especificar uma expressão regular diferente para o CloudWatch Logs usar para determinar as linhas de entradas de multilinha.

        • encoding: especifica a codificação do arquivo de log para que o arquivo possa ser lido corretamente. Se você especificar uma codificação incorreta, poderá haver perda de dados porque os caracteres que não podem ser decodificados serão substituídos por outros caracteres.

          O valor padrão é utf-8. Os valores a seguir são todos possíveis:

          ascii, big5, euc-jp, euc-kr, gbk, gb18030, ibm866, iso2022-jp, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-8-i, iso8859-10, iso8859-13, iso8859-14, iso8859-15, iso8859-16, koi8-r, koi8-u, macintosh, shift_jis, utf-8, utf-16, utf-16le, UTF-16, UTF-16LE, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic

        • service.name: opcional. Especifica o nome do serviço a ser usado para preencher a entidade para encontrar a telemetria relacionada.

        • deployment.environment: opcional. Especifica o nome do ambiente a ser usado para preencher a entidade para encontrar a telemetria relacionada.

    • A seção windows_events especifica os tipos de eventos do Windows a serem coletados de servidores que executam o Windows Server. Isso inclui os seguintes campos:

      • collect_list: obrigatório se windows_events for incluído. Especifica os tipos e os níveis de eventos do Windows a serem coletados. Cada log a ser coletados tem uma entrada nessa seção, que pode incluir os seguintes campos:

        • event_name: especifica os tipos de eventos do Windows a serem registrados em log. Isso é equivalente ao nome do canal de log de eventos do Windows: por exemplo, System, Security, Application, etc. Esse campo é necessário para cada tipo de evento do Windows a ser registrado em log.

          nota

          Quando o CloudWatch recupera mensagens de um canal de log do Windows, ele procura o canal de log com base na propriedade Full Name. Enquanto isso, o painel de navegação do Windows Event Viewer exibe a propriedade Log Name dos canais de log. O Full Name e o Log Name nem sempre são correspondentes. Para confirmar o Full Name de um canal, clique com o botão direito do mouse nele no Visualizador de Eventos do Windows e abra Propriedades.

        • event_levels: especifica os níveis de evento a serem registrados em log. Você deve especificar cada nível a ser registrado em log. Os valores possíveis incluem INFORMATION, WARNING, ERROR, CRITICAL e VERBOSE. Esse campo é necessário para cada tipo de evento do Windows a ser registrado em log.

        • log_group_name: obrigatório. Especifica o que usar como nome de grupo de logs no CloudWatch Logs.

        • log_stream_name: opcional. Especifica o que usar como nome do fluxo de logs no CloudWatch Logs. Como parte do nome, você pode usar {instance_id}, {hostname}, {local_hostname} e {ip_address} como variáveis dentro do nome. O {hostname} recupera o nome do host de metadados do EC2, e o {local_hostname} usa o nome de host do arquivo de configuração de rede.

          Se você omitir esse campo, o valor do parâmetro log_stream_name na seção global de logs será usado. Se isso também for omitido, o valor padrão de {instance_id} será usado.

          Caso um fluxo de logs ainda não exista, ele será criado automaticamente.

        • event_format: opcional. Especifica o formato a ser usado para armazenar eventos do Windows no CloudWatch Logs. O xml usa o formato XML como no Visualizador de eventos do Windows. O text usa o formato do atendente do CloudWatch Logs herdado.

        • retention_in_days: opcional. Especifica o número de dias em que os eventos do Windows serão retidos no grupo de logs especificado.

          • Se o agente estiver criando esse grupo de logs agora e você omitir esse campo, a retenção desse novo grupo será definida para nunca expirar.

          • Se esse grupo de logs já existir e você especificar esse campo, a nova retenção definida será utilizada. Se você omitir esse campo para um grupo de logs existente, a retenção do grupo de logs não será alterada.

            O assistente do agente do CloudWatch usará -1 como valor padrão esse campo quando ele for usado para criar o arquivo de configuração do agente e você não especificar um valor para a retenção de logs. Esse valor -1 definido pelo assistente especifica que os eventos no grupo de logs não expiram. No entanto, editar manualmente esse valor para não -1 tem efeito.

          Os valores válidos são 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 e 3653..

          Se você configurar o atendente para gravar vários fluxos de log no mesmo grupo de logs, especificar o retention_in_days em um só lugar definirá a retenção de log para todo o grupo de logs. Se você especificar retention_in_days para o mesmo grupo de logs em vários locais, a retenção será definida se todos esses valores forem iguais. No entanto, se diferentes valores de retention_in_days forem especificados para o mesmo grupo de logs em vários locais, a retenção de log não será definida e o atendente será interrompido, retornando um erro.

          nota

          A função do IAM do atendente ou o usuário do IAM deve ter o logs:PutRetentionPolicy para poder definir políticas de retenção. Para obter mais informações, consulte Permitir que o atendente do CloudWatch defina a política de retenção de logs.

          Atenção

          Se você definir retention_in_days para um grupo de logs que já existe, todos os logs nesse grupo de logs publicados antes do número de dias que você especificar são excluídos. Por exemplo, configurá-lo como 3 faria com que todos os logs de 3 dias atrás e anteriores a isso fossem excluídos.

  • log_stream_name: opcional. Especifica o nome do fluxo de logs padrão a ser usado para todos os logs ou eventos do Windows que não tenham nomes de stream de logs individuais definidos no parâmetro log_stream_name em sua entrada na collect_list.

  • endpoint_override: especifica um endpoint FIPS ou um link privado a ser usado como o endpoint onde o atendente envia logs. Especificar esse campo e definir um link privado permite enviar os logs a um endpoint da Amazon VPC. Para obter mais informações, consulte O que é a Amazon VPC?

    O valor de endpoint_override deve ser uma string que seja um URL.

    Por exemplo, a parte a seguir da seção de logs do arquivo de configuração define o atendente para usar um VPC endpoint ao enviar logs.

    { "logs": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.logs.us-east-1.vpce.amazonaws.com", ...... }, }
  • force_flush_interval: especifica em segundos a quantidade máxima de tempo em que os logs permanecem no buffer da memória antes de serem enviados ao servidor. Não importa a configuração para esse campo, se o tamanho dos logs no buffer alcançar 1 MB, os logs serão enviados imediatamente para o servidor. O valor padrão é 5.

    Se você estiver usando o agente para relatar métricas de alta resolução em formato de métricas incorporadas e estiver configurando alarmes nessas métricas, mantenha esse parâmetro definido com o valor padrão de 5. Caso contrário, as métricas serão relatadas com um atraso que poderá causar alarme em dados parciais ou incompletos.

  • credentials: especifica uma função do IAM a ser usada ao enviar logs para outra conta da AWS. Se especificado, esse campo contém um parâmetro, role_arn.

    • role_arn: especifica o ARN de uma função do IAM a ser usada para autenticação ao enviar logs para outra conta da AWS. Para obter mais informações, consulte Envio de métricas, logs e rastreamentos a uma conta diferente. Se especificado aqui, isso substitui o role_arn especificado na seção agent do arquivo de configuração, se houver.

  • metrics_collected: este campo pode conter seções que especificam que o agente deve coletar logs para habilitar casos de uso, como o CloudWatch Application Signals e o Container Insights, com uma observabilidade aprimorada para o Amazon EKS.

    • application_signals (Opcional) Especifica que você deseja habilitar o CloudWatch Application Signals. Para obter mais informações sobre essa configuração, consulte Habilitar o CloudWatch Application Signals.

    • kubernetes: esse campo pode conter um parâmetro do enhanced_container_insights, que você pode usar para ativar o Container Insights com observabilidade aprimorada para o Amazon EKS.

    • emf – Para coletar métricas incorporadas em logs, não é mais necessário adicionar esse campo emf. um campo herdado que especifica que o atendente deve coletar logs que estão em formato de métrica incorporada. É possível gerar dados de métrica a partir desses logs. Para obter mais informações, consulte Incorporação de métricas em logs.

    • otlp: opcional. Especifica que você deseja coletar métricas do SDK do OpenTelemetry. Para obter mais informações sobre os campos que você pode usar nesta seção, consulte Coletar métricas e rastreamentos com o OpenTelemetry.

A seguir, temos um exemplo de uma seção logs.

"logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "my_log_stream_name_1" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "log_stream_name": "my_log_stream_name_2" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System" }, { "event_name": "CustomizedName", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream" } ] } }, "log_stream_name": "my_log_stream_name", "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } }

Ao adicionar uma seção traces ao arquivo de configuração do agente do CloudWatch, é possível habilitar o CloudWatch Application Signals ou coletar rastreamentos do X-Ray e do SDK de instrumentação do OpenTelemetry e enviá-los para o X-Ray.

Importante

O perfil do IAM ou o usuário do IAM do agente devem ter a política AWSXrayWriteOnlyAccess para realizar o envio de dados de rastreamento ao X-Ray. Para obter mais informações, consulte Criar funções e usuários do IAM para uso com o atendente do CloudWatch.

Para começar rapidamente a coletar rastreamentos, é possível adicionar apenas o seguinte ao arquivo de configuração do agente do CloudWatch.

"traces_collected": { "xray": { }, "otlp": { } }

Se você adicionar a seção anterior ao arquivo de configuração do agente do CloudWatch e reiniciar o agente, isso fará com que o agente comece a coletar rastreamentos usando as opções e valores padrão a seguir. Para obter mais informações sobre esses parâmetros, consulte as definições de parâmetros a seguir nesta seção.

"traces_collected": { "xray": { "bind_address": "127.0.0.1:2000", "tcp_proxy": { "bind_address": "127.0.0.1:2000" } }, "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } }

A seção traces pode incluir os seguintes campos:

  • traces_collected: obrigatório, se a seção traces for incluída. Especifica de quais SDKs coletar rastreamentos. Isso pode incluir os seguintes campos:

    • application_signals: opcional. Especifica que você deseja habilitar o CloudWatch Application Signals. Para obter mais informações sobre essa configuração, consulte Habilitar o CloudWatch Application Signals.

    • xray: opcional. Especifica que você deseja coletar rastreamentos do SDK do X-Ray. A seção pode incluir os seguintes campos:

      • bind_address: opcional. Especifica o endereço UDP para o agente do CloudWatch usar para escutar rastreamentos do X-Ray. O formato é ip:port. Este endereço deve corresponder ao endereço definido no SDK do X-Ray.

        Se você omitir esse campo, o padrão de 127.0.0.1:2000 será usado.

      • tcp_proxy: opcional. Configura o endereço de um proxy usado para oferecer suporte à amostragem remota do X-Ray. Para obter mais informações, consulte Configuração de regras de amostragem na documentação do X-Ray.

        Essa seção pode conter o campo a seguir.

        • bind_address: opcional. Especifica o endereço TCP para o qual o agente do CloudWatch deve configurar o proxy. O formato é ip:port. Este endereço deve corresponder ao endereço definido no SDK do X-Ray.

          Se você omitir esse campo, o padrão de 127.0.0.1:2000 será usado.

    • otlp: opcional. Especifica que você deseja coletar rastreamentos do SDK do OpenTelemetry. Para obter mais informações sobre os campos que você pode usar nesta seção, consulte Coletar métricas e rastreamentos com o OpenTelemetry. Para obter mais informações sobre o AWS Distro for OpenTelemetry, consulte AWS Distro for OpenTelemetry. Para obter mais informações sobre o AWS Distro para SDKs do OpenTelemetry, consulte a Introdução.

      A seção pode incluir os seguintes campos:

      • grpc_endpoint: opcional. Especifica o endereço que o agente do CloudWatch deve usar para escutar rastreamentos de OpenTelemetry enviados usando chamadas de procedimento remoto gRPC. O formato é ip:port. Esse endereço deve corresponder ao endereço definido para o exportador de gRPC no SDK do OpenTelemetry.

        Se você omitir esse campo, o padrão de 127.0.0.1:4317 será usado.

      • http_endpoint: opcional. Especifica o endereço para o agente do CloudWatch usar para escutar rastreamentos de OTLP enviados por HTTP. O formato é ip:port. Esse endereço deve corresponder ao endereço definido para o exportador de HTTP no SDK do OpenTelemetry.

        Se você omitir esse campo, o padrão de 127.0.0.1:4318 será usado.

  • concurrency: opcional. Especifica o número máximo de chamadas simultâneas para o X-Ray que podem ser usadas para carregar rastreamentos. O valor padrão é 8

  • local_mode: opcional. Se true, o agente não coletará metadados da instância do Amazon EC2. O padrão é false

  • endpoint_override: opcional. Especifica um endpoint de FIPS ou um link privado a ser usado como o endpoint onde o agente do CloudWatch envia rastreamentos. Especificar esse campo e definir um link privado permite enviar os rastreamentos a um endpoint da Amazon VPC. Para obter mais informações, consulte O que é a Amazon VPC

    O valor de endpoint_override deve ser uma string que seja um URL.

  • region_override: opcional. Especifica a região a usar para o endpoint do X-Ray. O agente do CloudWatch envia os rastreamentos para o X-Ray na região especificada. Se você omitir esse campo, o agente enviará os rastreamentos para a região onde a instância do Amazon EC2 está localizada.

    Se você especificar uma região aqui, ela terá precedência sobre a configuração do parâmetro region na seção agent do arquivo de configuração.

  • proxy_override: opcional. Especifica o endereço do servidor proxy para o agente do CloudWatch usar ao enviar solicitações para o X-Ray. O protocolo do servidor proxy deve ser especificado como parte desse endereço.

  • credentials: especifica um perfil do IAM a ser usado ao enviar rastreamentos para outra conta da AWS. Se especificado, esse campo contém um parâmetro, role_arn.

    • role_arn: especifica o ARN de um perfil do IAM a ser usado para autenticação ao enviar rastreamentos para outra conta da AWS. Para obter mais informações, consulte Envio de métricas, logs e rastreamentos a uma conta diferente. Se especificado aqui, isso substitui o role_arn especificado na seção agent do arquivo de configuração, se houver.

  • transit_spans_in_otlp_format: opcional. Se true, envia rastreamentos para o X-Ray no formato OpenTelemetry Protocol, que é compatível com eventos de extensão no Transaction Search. Para obter mais informações, consulte Adicionar atributos personalizados. O padrão é false.

A seguir, veja um exemplo de um arquivo de configuração do atendente completo do CloudWatch para um servidor Linux.

Os itens listados nas seções measurement para as métricas que você deseja coletar podem especificar o nome completo da métrica, ou apenas a parte do nome da métrica que será acrescentada ao tipo de recurso. Por exemplo, especificar reads ou diskio_reads na seção measurement da seção diskio fará com que a métrica diskio_reads seja coletada.

Este exemplo inclui as duas maneiras de especificar métricas na seção measurement.

{ "agent": { "metrics_collection_interval": 10, "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "metrics_collection_interval": 10, "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "disk": { "resources": [ "/", "/tmp" ], "measurement": [ {"name": "free", "rename": "DISK_FREE", "unit": "Gigabytes"}, "total", "used" ], "ignore_file_system_types": [ "sysfs", "devtmpfs" ], "metrics_collection_interval": 60, "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3", "customized_dimension_key_4": "customized_dimension_value_4" } }, "diskio": { "resources": [ "*" ], "measurement": [ "reads", "writes", "read_time", "write_time", "io_time" ], "metrics_collection_interval": 60 }, "swap": { "measurement": [ "swap_used", "swap_free", "swap_used_percent" ] }, "mem": { "measurement": [ "mem_used", "mem_cached", "mem_total" ], "metrics_collection_interval": 1 }, "net": { "resources": [ "eth0" ], "measurement": [ "bytes_sent", "bytes_recv", "drop_in", "drop_out" ] }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]], "force_flush_interval" : 30 }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "timezone": "Local" } ] } }, "log_stream_name": "my_log_stream_name", "force_flush_interval" : 15, "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } } }

A seguir, temos um exemplo de arquivo de configuração do atendente completo do CloudWatch para um servidor que executa o Windows Server.

{ "agent": { "metrics_collection_interval": 60, "logfile": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "customizedObjectName": { "metrics_collection_interval": 60, "customizedCounterName": [ "metric1", "metric2" ], "resources": [ "customizedInstances" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ] }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "timezone": "Local" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System", "event_format": "xml" }, { "event_name": "CustomizedName", "event_levels": [ "WARNING", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream", "event_format": "xml" } ] } }, "log_stream_name": "example_log_stream_name" } }

Salvar o arquivo de configuração do atendente do CloudWatch manualmente

Se criar ou editar o arquivo de configuração do atendente do CloudWatch manualmente, você poderá atribuir qualquer nome a ele. Depois de criar o arquivo, copie-o em outros servidores em que você deseja executar o atendente.

Carregar o arquivo de configuração do atendente do CloudWatch no Systems Manager Parameter Store

Se você planeja usar o SSM Agent para instalar o atendente do CloudWatch em servidores, depois de editar manualmente o arquivo de configuração do atendente do CloudWatch, carregue-o para o Systems Manager Parameter Store. Para fazer isso, use o comando put-parameter do Systems Manager.

Para poder armazenar o arquivo no Parameter Store, você deve usar uma função do IAM com permissões suficientes. Para obter mais informações, consulte Criar funções e usuários do IAM para uso com o atendente do CloudWatch.

Use o comando a seguir, em que o nome do parâmetro é o nome a ser usado para esse arquivo no Parameter Store e configuration_file_pathname é o caminho e o nome do arquivo de configuração que você editou.

aws ssm put-parameter --name "parameter name" --type "String" --value file://configuration_file_pathname