Configurar a CloudWatch Agente para instâncias do EC2 e servidores on-premises - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar a CloudWatch Agente para instâncias do EC2 e servidores on-premises

Muitas organizações executam cargas de trabalho em servidores físicos e máquinas virtuais (VMs). Essas cargas de trabalho normalmente são executadas em sistemas operacionais diferentes, cada um com requisitos exclusivos de instalação e configuração para capturar e ingerir métricas.

Se você optar por usar instâncias do EC2, poderá ter um alto nível de controle sobre sua instância e a configuração do sistema operacional. No entanto, esse nível mais alto de controle e responsabilidade exige que você monitore e ajuste as configurações para obter um uso mais eficiente. Você pode melhorar sua eficácia operacional estabelecendo padrões para registro e monitoramento e aplicando uma abordagem padrão de instalação e configuração para capturar e ingerir registros e métricas.

Organizations que migram ou estendem seus investimentos em TI para oAWSA nuvem pode aproveitar CloudWatch para obter uma solução unificada de registro e monitoramento. CloudWatch preços significa que você paga incrementalmente pelas métricas e registros que deseja capturar. Você também pode capturar registros e métricas para servidores locais usando um similar CloudWatch processo de instalação do agente como aquele para o Amazon EC2.

Antes de começar a instalar e implantar o CloudWatch, verifique se você avaliou as configurações de registro e métricas para seus sistemas e aplicativos. Certifique-se de definir os logs e as métricas padrão que você precisa capturar para os sistemas operacionais que deseja usar. Os logs e as métricas do sistema são a base e o padrão para uma solução de registro e monitoramento porque são gerados pelo sistema operacional e são diferentes para Linux e Windows. Existem métricas importantes e arquivos de log disponíveis nas distribuições Linux, além daqueles que são específicos para uma versão ou distribuição do Linux. Essa variação também ocorre entre diferentes versões do Windows.

Configurar a CloudWatch agente

O CloudWatch captura métricas e logs do Amazon EC2 e servidores on-premises usandoAgentes do CloudWatch e arquivos de configuração do agenteSão específicos de cada sistema operacional. Recomendamos que você defina a métrica padrão e a configuração de captura de log da sua organização antes de começar a instalar o CloudWatch agente em escala em suas contas.

Você pode combinar vários CloudWatch configurações de agente para formar um composto CloudWatch Configuração do agente. Uma abordagem recomendada é definir e dividir configurações para seus registros e métricas no nível do sistema e do aplicativo. O diagrama a seguir ilustra como vários tipos de arquivos de configuração do CloudWatch para diferentes requisitos podem ser combinados para formar uma configuração composta do CloudWatch:

Vários CloudWatch configuração para diferentes requisitos são combinadas para formar um composto CloudWatch configuração

Esses registros e métricas também podem ser classificados e configurados para ambientes ou requisitos específicos. Por exemplo, você pode definir um subconjunto menor de registros e métricas com menor precisão para ambientes de desenvolvimento não regulamentados e um conjunto maior e mais completo com maior precisão para ambientes de produção regulamentados.

Configurando a captura de log para instâncias do EC2

Por padrão, o Amazon EC2 não monitora nem captura arquivos de log. Em vez disso, os arquivos de log são capturados e ingeridos em CloudWatch Logs pelo CloudWatch Software de agente instalado na sua instância do EC2,AWSAPI ouAWS Command Line Interface(AWS CLI). Recomendamos usar o CloudWatch agente para ingerir arquivos de log em CloudWatch Logs do Amazon EC2 e servidores on-premises.

Você pode pesquisar e filtrar logs, bem como extrair métricas e executar automação com base em patches de padrões de arquivos de log no CloudWatch. CloudWatch oferece suporte a texto simples, delimitado por espaço e opções de sintaxe de padrão e filtro em formato JSON, com logs formatados em JSON proporcionando a maior flexibilidade. Para aumentar as opções de filtragem e análise, você deve usar uma saída de log formatada em vez de texto sem formatação.

O CloudWatch agent usa um arquivo de configuração que define os logs e as métricas para enviar ao CloudWatch. CloudWatch em seguida, captura cada arquivo de log como umStream de loge agrupa esses fluxos de log em umgrupo de log. Isso ajuda você a executar operações em logs de suas instâncias do EC2, como pesquisar por uma string correspondente.

O nome do fluxo de log padrão é o mesmo que o ID da instância do EC2 e o nome do grupo de logs padrão é o mesmo que o caminho do arquivo de log. O nome do fluxo de log deve ser exclusivo dentro do CloudWatch grupo de logs do Você pode usar oinstance_id,hostname,local_hostname, ouip_addresspara substituição dinâmica no fluxo de log e nomes de grupos de logs, o que significa que você pode usar o mesmo CloudWatch O arquivo de configuração do agente em várias instâncias do EC2.

O seguinte diagrama mostra um CloudWatch configuração do agente para captura de logs. O grupo de logs é definido pelos arquivos de log capturados e contém fluxos de log separados para cada instância do EC2 porque o{instance_id}variável é usada para o nome do fluxo de log e as IDs de instância do EC2 são exclusivas.

UMA CloudWatch configuração do agente para captura de logs.

Os grupos de log definem a retenção, as tags, a segurança, os filtros de métrica e o escopo de pesquisa para os fluxos de log que eles contêm. O comportamento de agrupamento padrão com base no nome do arquivo de log ajuda a pesquisar, criar métricas e alarmar dados específicos para um arquivo de log em instâncias do EC2 em uma conta e região. Você deve avaliar se o refinamento adicional do grupo de logs é necessário. Por exemplo, sua conta pode ser compartilhada por várias unidades de negócios e ter diferentes proprietários técnicos ou de operações. Isso significa que você deve refinar ainda mais o nome do grupo de logs para refletir a separação e a propriedade. Essa abordagem permite concentrar sua análise e solução de problemas na instância do EC2 relevante.

Se vários ambientes usarem uma conta, você poderá separar o registro para cargas de trabalho executadas em cada ambiente. A tabela a seguir mostra uma convenção de nomenclatura de grupos de logs que inclui a unidade de negócios, o projeto ou o aplicativo e o ambiente.

Nome do grupo de logs /<Business unit>/<Project or application name>/<Environment>/<Log file name>
Nome do fluxo do log <EC2 instance ID>

Você também pode agrupar todos os arquivos de log de uma instância do EC2 no mesmo grupo de logs. Isso facilita a pesquisa e a análise em um conjunto de arquivos de log para uma única instância do EC2. Isso é útil se a maioria das instâncias do EC2 atender a um aplicativo ou uma carga de trabalho e cada instância do EC2 atender a um propósito específico. A tabela a seguir mostra como o grupo de logs e a nomeação do fluxo de log podem ser formatados para dar suporte a essa abordagem.

Nome do grupo de logs /<Business unit>/<Project or application name>/<Environment>/<EC2 instance ID>
Nome do fluxo do log <Log file name>

Configurando a captura de métricas para instâncias do EC2

Por padrão, suas instâncias do EC2 estão habilitadas para monitoramento básico e umconjunto padrão de métricas(por exemplo, métricas relacionadas à CPU, rede ou armazenamento) são enviadas automaticamente para CloudWatch A cada cinco minutos. CloudWatch As métricas podem variar de acordo com a família da instância, por exemplo,Instâncias de desempenho intermitentestêm métricas para créditos de CPU. As métricas padrão do Amazon EC2 estão incluídas no preço da instância. Se você habilitar omonitoramento detalhadoPara suas instâncias do EC2, você pode receber dados em períodos de um minuto. A frequência do período afeta os custos do CloudWatch, portanto, verifique se o monitoramento detalhado é necessário para todas ou apenas algumas instâncias do EC2. Por exemplo, você pode habilitar o monitoramento detalhado para cargas de trabalho de produção, mas usar o monitoramento básico para cargas de trabalho que não são de produção.

Servidores locais não incluem métricas padrão para CloudWatch e deve usar o CloudWatch Agente do,AWS CLI, ouAWSSDK para capturar métricas. Isso significa que você deve definir as métricas que deseja capturar (por exemplo, utilização da CPU) na CloudWatch arquivo de configuração. Você pode criar um exclusivo CloudWatch arquivo de configuração que inclui as métricas de instância padrão do EC2 para seus servidores locais e aplicá-lo além do padrão CloudWatch Configuração do .

Métricasem CloudWatch São definidas exclusivamente pelo nome da métrica e zero ou mais dimensões, e são agrupadas exclusivamente em um namespace de métricas. Métricas fornecidas por umAWSservice tem um namespace que começa comAWS(por exemplo,AWS/EC2), e não-AWSAs métricas são consideradas métricas personalizadas. Métricas que você configura e captura com o CloudWatch agente são todos considerados métricas personalizadas. Porque o número de métricas criadas afeta seu CloudWatch custos, você deve avaliar se cada métrica é necessária para todas ou apenas algumas de suas instâncias do EC2. Por exemplo, você poderia definir um conjunto completo de métricas para cargas de trabalho de produção, mas usar um subconjunto menor dessas métricas para cargas de trabalho que não sejam de produção.

CWAgenté o namespace padrão para métricas publicadas pelo CloudWatch Agente do. Semelhante aos grupos de logs, o namespace da métrica organiza um conjunto de métricas para que possam ser encontradas juntas em um só lugar. Você deve modificar o namespace para refletir uma unidade de negócios, projeto ou aplicativo e ambiente (por exemplo,/<Business unit>/<Project or application name>/<Environment>). Essa abordagem é útil se várias cargas de trabalho não relacionadas usarem a mesma conta. Você também pode correlacionar sua convenção de nomenclatura de namespace com sua CloudWatch convenção de nomeação de grupo de logs.

As métricas também são identificadas por suas dimensões, o que ajuda a analisá-las em relação a um conjunto de condições e são as propriedades nas quais as observações são registradas. O Amazon EC2 incluiMétricas separadaspara instâncias do EC2 comInstanceIdeAutoScalingGroupNameDimensões. Você também recebe métricas com oImageIdeInstanceTypeDimensões se você habilitar o monitoramento detalhado. Por exemplo, o Amazon EC2 fornece uma métrica de instância do EC2 separada para a utilização da CPU com oInstanceIddimensões, além de métrica de utilização de CPU separada para oInstanceTypeDimensão do. Isso ajuda a analisar a utilização da CPU para cada instância exclusiva do EC2, além de todas as instâncias do EC2 de um específicotipo de instância.

Adicionar mais dimensões aumenta sua capacidade de análise, mas também aumenta os custos gerais, porque cada métrica e combinação de valor de dimensão exclusiva resulta em uma nova métrica. Por exemplo, se você criar uma métrica para a porcentagem de utilização da memória em relação aoInstanceIddimensão, então esta é uma nova métrica para cada instância do EC2. Se sua organização executa milhares de instâncias do EC2, isso causará milhares de métricas e resulta em custos mais altos. Para controlar e prever custos, certifique-se de determinar a cardinalidade da métrica e quais dimensões adicionam mais valor. Por exemplo, você poderia definir um conjunto completo de dimensões para as métricas de carga de trabalho de produção, mas um subconjunto menor dessas dimensões para cargas de trabalho que não sejam de produção.

Você pode usar oappend_dimensionspropriedade para adicionar dimensões a uma ou todas as métricas definidas em seu CloudWatch Configuração do . Você também pode anexar dinamicamente oImageId,InstanceId,InstanceType, eAutoScalingGroupNamepara todas as métricas em seu CloudWatch Configuração do . Como alternativa, você pode acrescentar um nome e um valor de dimensão arbitrários para métricas específicas usando oappend_dimensionspropriedade nessa métrica. CloudWatch também pode agregar estatísticas sobre dimensões métricas que você definiu com oaggregation_dimensionspropriedade.

Por exemplo, você pode agregar a memória usada contra oInstanceTypedimensão para ver a memória média usada por todas as instâncias do EC2 para cada tipo de instância. Se você usar ot2.microinstâncias em execução em uma região, você poderia determinar se as cargas de trabalho usando ot2.microclasse estão utilizando demais ou subutilizando a memória fornecida. A subutilização pode ser um sinal de cargas de trabalho usando classes EC2 com capacidade de memória não necessária. Em contraste, a sobreutilização pode ser um sinal de cargas de trabalho usando classes do Amazon EC2 com memória insuficiente.

O diagrama a seguir mostra uma amostra CloudWatch configuração de métricas que usa um namespace personalizado, dimensões adicionadas e agregação porInstanceType.

Uma amostra CloudWatch configuração de métricas que usa um namespace personalizado, dimensões adicionadas e agregação porInstanceType.