Recuperar métricas personalizadas com o StatsD
É possível recuperar métricas personalizadas de suas aplicações ou seus serviços usando o atendente do CloudWatch com o protocolo StatsD
. StatsD é uma solução de código aberto popular que pode coletar métricas de uma ampla variedade de aplicações. O StatsD é especialmente útil para instrumentar suas próprias métricas. Para obter um exemplo de uso do atendente do CloudWatch e do StatsD juntos, consulte Como melhorar o monitoramento de suas métricas de aplicação personalizadas usando o atendente do Amazon CloudWatch
O StatsD
é compatível em servidores Linux e servidores em que o Windows Server esteja em execução. O CloudWatch oferece suporte ao seguinte formato do StatsD
:
MetricName
:value
|type
|@sample_rate
|#tag1
:value
,tag1
...
-
MetricName
: uma string sem dois pontos, barras, caracteres # ou caracteres @. -
value
: pode ser inteiro ou flutuante. -
type
: especifiquec
para contador,g
para indicador,ms
para temporizador,h
para histograma ous
para conjunto. -
sample_rate
: (opcional) um flutuante entre 0 e 1, inclusive. Use somente para métricas de contador, histograma e temporizador. O valor padrão é 1 (amostragem de 100% do tempo). -
tags
: (opcional) uma lista separada por vírgulas das etiquetas. As etiquetas doStatsD
são semelhantes às dimensões no CloudWatch. Use dois pontos para tags de chave/valor, comoenv:prod
.
Você pode usar qualquer cliente StatsD
que siga esse formato para enviar as métricas ao atendente do CloudWatch. Para obter mais informações sobre alguns dos clientes StatsD
disponíveis, consulte a página do cliente StatsD no GitHub
Para coletar essas métricas personalizadas, adicione uma linha "statsd": {}
à 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 obter mais informações, consulte Criar o arquivo de configuração do atendente do CloudWatch.
A configuração padrão do StatsD
funciona para a maioria dos usuários. Há campos opcionais que podem ser adicionados, conforme necessário, à seção statsd do arquivo de configuração do agente:
-
service_address
: o endereço de serviço que o atendente do CloudWatch deve ouvir. O formato é
. Se você omitir o endereço IP, o atendente escutará todas as interfaces disponíveis. Somente o formato UDP é compatível, portanto, você não precisa especificar um prefixo UDP.ip
:port
O valor padrão é
:8125
. -
metrics_collection_interval
: com que frequência em segundos o pluginStatsD
é executado e coleta métricas. O valor de padrão é de 10 segundos. O intervalo é de 1 a 172.000. -
metrics_aggregation_interval
: com que frequência em segundos o CloudWatch agrega métricas em pontos de dados únicos. O valor padrão é de 60 segundos.Por exemplo, se
metrics_collection_interval
for 10 emetrics_aggregation_interval
for 60, o CloudWatch coletará dados a cada 10 segundos. Após cada minuto, as seis leituras de dados realizadas nesse minuto são agregadas em um único ponto de dados, que é enviado ao CloudWatch.O intervalo é de 0 a 172.000. Definir
metrics_aggregation_interval
como 0 desabilita a agregação de métricas doStatsD
. -
allowed_pending_messages
: o número de mensagens UDP que podem ser enfileiradas. Quando a fila está cheia, o servidor StatsD começa a descartar pacotes. O valor padrão é 10000. -
drop_original_metrics
: opcional. Se você estiver usando o campoaggregation_dimensions
na seçãometrics
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.
Veja a seguir um exemplo da seção statsd do arquivo de configuração do atendente, usando a porta padrão e intervalos de coleta e agregação personalizados.
{ "metrics":{ "metrics_collected":{ "statsd":{ "service_address":":8125", "metrics_collection_interval":60, "metrics_aggregation_interval":300 } } } }
Visualizar métricas do StatsD importadas pelo atendente do CloudWatch
Depois de importar métricas do StatsD 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 StatsD 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 StatsD no console do CloudWatch
-
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, selecione Métricas.
-
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.
-
Escolha uma dimensão de métrica; por exemplo, Per-Instance Metrics (Métricas por instância).
-
A guia All metrics (Todas as métricas) exibe todas as métricas dessa dimensão no namespace. Você pode fazer o seguinte:
-
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.
-
Para classificar a tabela, use o cabeçalho da coluna.
-
Para filtrar por recurso, escolha o ID do recurso e, em seguida, escolha Adicionar à pesquisa.
-
Para filtrar por métrica, selecione o nome da métrica e, em seguida, escolha Adicionar à pesquisa.
-
(Opcional) Para adicionar esse gráfico a um painel do CloudWatch, escolha Actions (Ações), Add to dashboard (Adicionar ao painel).