Recuperar métricas personalizadas com o collectd - Amazon CloudWatch

Recuperar métricas personalizadas com o collectd

É possível recuperar métricas adicionais de suas aplicações ou seus serviços usando o atendente do CloudWatch com o protocolo collectd, que é compatível somente com servidores Linux. O collectd é uma solução de código aberto bastante usada com plugins que podem coletar estatísticas do sistema para uma ampla variedade de aplicações. Ao combinar as métricas do sistema que o atendente do CloudWatch já pode coletar com as métricas adicionais do collectd, é possível monitorar, analisar e solucionar problemas de seus sistemas e suas aplicações. Para obter mais informações sobre o collectd, consulte collectd - The system statistics collection daemon.

Use o software collectd para enviar as métricas ao atendente do CloudWatch. Para as métricas do collectd, o atendente do CloudWatch atua como o servidor, enquanto o plugin do collectd atua como o cliente.

O software collectd não é instalado automaticamente em todos os servidores. Em um servidor com o Amazon Linux 2 em execução, siga estas etapas para instalar o collectd

sudo amazon-linux-extras install collectd

Para obter informações sobre como instalar collectd em outros sistemas, consulte a página Download para collectd.

Para coletar essas métricas personalizadas, adicione uma linha "collectd": {} à seção metrics_collected do arquivo de configuração do atendente. Você pode adicionar essa linha manualmente. Se você usa o assistente para criar o arquivo de configuração, isso é feito para você. Para ter mais informações, consulte Criar o arquivo de configuração do atendente do CloudWatch.

Parâmetros opcionais também estão disponíveis. Se estiver usando o collectd e não usar /etc/collectd/auth_file como collectd_auth_file, você deverá definir algumas dessas opções.

  • service_address: o endereço de serviço que o atendente do CloudWatch deve ouvir. O formato é "udp://ip:port. O padrão é udp://127.0.0.1:25826.

  • name_prefix: um prefixo para anexar ao início do nome de cada métrica do collectd. O padrão é collectd_. O tamanho máximo é de 255 caracteres.

  • collectd_security_level: define o nível de segurança para comunicação de rede. O padrão é Encrypt (Criptografia).

    Encrypt (Criptografar) especifica que apenas dados criptografados são aceitos. Sign (Assinar) especifica que apenas dados com assinatura e criptografados são aceitos. None (Nenhum) especifica que todos os dados são aceitos. Se você especificar um valor para collectd_auth_file, os dados criptografados serão descriptografados, se possível.

    Para obter mais informações, consulte Configuração do cliente e Interações possíveis na Wiki do collectd.

  • collectd_auth_file Define um arquivo no qual os nomes de usuário são mapeados para as senhas. Essas senhas são usadas para verificar assinaturas e descriptografar pacotes de rede criptografados. Se fornecidos, os dados assinados são verificados e os pacotes criptografados são descriptografados. Caso contrário, os dados assinados são aceitos sem verificar a assinatura e os dados criptografados não podem ser descriptografados.

    O padrão é /etc/collectd/auth_file.

    Se collectd_security_level estiver definido como None (Nenhum), é opcional. Se definir collectd_security_level como encrypt ou Sign (Assinar), você deverá especificar collectd_auth_file.

    Para o formato do arquivo de autenticação, cada linha é um nome de usuário seguido por dois pontos e qualquer número de espaços seguido pela senha. Por exemplo:

    user1: user1_password

    user2: user2_password

  • collectd_typesdb: uma lista de um ou mais arquivos que contêm as descrições de conjunto de dados. A lista deve estar entre colchetes, ainda que haja somente uma entrada na lista. Cada entrada na lista deve estar entre aspas duplas. Se houver várias entradas, separe-as por vírgulas. O padrão em servidores Linux é ["/usr/share/collectd/types.db"]. O padrão em computadores macOS depende da versão do collectd. Por exemplo, ["/usr/local/Cellar/collectd/5.12.0/share/collectd/types.db"].

    Para ter mais informações, consulte https://www.collectd.org/documentation/manpages/types.db.html.

  • metrics_aggregation_interval: com que frequência, em segundos, o CloudWatch agrega métricas aos pontos de dados únicos. O padrão é 60 segundos. O intervalo é de 0 a 172,000. Defini-lo como 0 desabilita a agregação de métricas do collectd.

A seguir, veja um exemplo da seção do collectd do arquivo de configuração do atendente.

{ "metrics":{ "metrics_collected":{ "collectd":{ "name_prefix":"My_collectd_metrics_", "metrics_aggregation_interval":120 } } } }

Visualizar métricas do collectd importadas pelo atendente do CloudWatch

Depois de importar métricas do collectd para o CloudWatch, é possível visualizar essas métricas como gráficos de séries temporais e criar alarmes que podem observar essas métricas e notificar você, se elas violarem um limite especificado. O procedimento a seguir mostra como visualizar métricas do collectd como um gráfico de séries temporais. Para obter mais informações sobre configuração de alarmes, consulte Usar alarmes do Amazon CloudWatch.

Para exibir métricas do collectd no console do CloudWatch
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, selecione Métricas.

  3. Escolha o namespace para as métricas coletadas pelo atendente. Por padrão, é CWAgent, mas você pode ter especificado um namespace diferente no arquivo de configuração do atendente do CloudWatch.

  4. Escolha uma dimensão de métrica; por exemplo, Per-Instance Metrics (Métricas por instância).

  5. A guia All metrics (Todas as métricas) exibe todas as métricas dessa dimensão no namespace. Você pode fazer o seguinte:

    1. Para criar um gráfico de uma métrica, marque a caixa de seleção ao lado da métrica. Para selecionar todas as métricas, marque a caixa de seleção na linha de cabeçalho da tabela.

    2. Para classificar a tabela, use o cabeçalho da coluna.

    3. Para filtrar por recurso, escolha o ID do recurso e, em seguida, escolha Adicionar à pesquisa.

    4. Para filtrar por métrica, selecione o nome da métrica e, em seguida, escolha Adicionar à pesquisa.

  6. (Opcional) Para adicionar esse gráfico a um painel do CloudWatch, escolha Actions (Ações), Add to dashboard (Adicionar ao painel).