Esta tradução de máquina é fornecida para sua comodidade.
In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.
Nossa integração StatsD permite que você obtenha facilmente dados no formato StatsDpara o New Relic. Você também pode adicionar qualquer tag arbitrária (pares de valores principais) aos seus dados. Uma vez que suas métricas estejam no New Relic, você pode consultar seus dados e criar gráficos e dashboards personalizados.
Quer experimentar nossa integração StatsD? Crie uma conta New Relic gratuitamente! Não é necessário cartão de crédito.
Requisitos
Esta integração utiliza nossa API métrica e nossa API evento para ingerir dados. Para usar essas API, você precisará de um .
A integração está disponível como imagem de contêiner Linux no DockerHub para AMD64 e Arm64 Arquitetura.
Instalar
Esta seção explicará como fazer uma instalação padrão. Se você deseja executar o StatsD no Kubernetes, consulte Instalação do Kubernetes.
Para instalar a integração StatsD, execute o comando a seguir e inclua o ID da sua conta New Relic e . Isso gera um arquivo de configuração TOML usado por gostatsd.
Aqui estão exemplos de manifestos do Kubernetes para objetos de implantação e serviço:
Abaixo estão exemplos de manifestos do Kubernetes para implantar o StatsD em um ambiente do Kubernetes e criar um serviço do StatsD chamado newrelic-statsd. Você precisa inserir o ID da sua conta e seu .
No procedimento de instalação, você executa nri-statsd com variáveis de ambiente e isso gera um arquivo de configuração TOML. Além disso, você pode definir estas opções de configuração:
Opções de configuração
Descrição
expiry-interval
corda
Se uma métrica não for atualizada durante esse período, paramos de reportar essa métrica. O padrão é 5m.
Caso queira enviar a métrica apenas se o valor foi atualizado entre os intervalos de flush, configure para 1ms. Para nunca expirar a métrica, configure-a para 0.
percent-threshold
Lista de inteiros
Especifica o percentil usado para agregação métrica. Padrão: 90.
metrics-addr
corda
Indica o endereço onde será escutada a métrica. Padrão: :8125. A partir de nri-statsd v2.3.0 (goStatsD v34.2.1), a conexão via Unix Domain Socket (UDS) é suportada. Use "metrics-addr=/some/path/newrelic-statsd.socket" em vez de "[host]:port" na configuração.
Dica
Para garantir a conformidade do FedRAMP ao usar a integração StatsD, você deve definir o seguinte endpoint na configuração personalizada:
Por padrão, nri_statsd calcula o seguinte para a métrica do temporizador: Desvio padrão, média, mediana, soma, limites inferior e superior para o intervalo de liberação. Se você deseja desabilitar essas métricas você pode fazê-lo adicionando uma seção de configuração disabled-sub-metrics e definindo true para aquelas que você deseja desabilitar. Aqui está um exemplo:
A melhor abordagem para configurar nri-statsd em execução no Kubernetes é usar um configMap e montar o configMap no contêiner. (Este é um processo semelhante à montagem do arquivo de configuração em docker.)
Para usar o configMap, declare um volume no modelo de especificação de implantação e, em seguida, declare um volumeMount na especificação do contêiner.
Exemplo:
apiVersion: apps/v1
kind: Deployment
spec:
template:
spec:
containers:
....
volumeMounts:
- mountPath: /etc/opt/newrelic/
name: nri-statsd-config
volumes:
- name: nri-statsd-config
configMap:
name: nri-statsd-config
Formato métrico
A integração recebe métricas utilizando o protocolo StatsD. Opcionalmente, a taxa de amostragem pode ser configurada e a tag pode ser adicionada.
Optional para contadores simples ou contadores temporizadores. Quando muitas métricas devem ser enviadas, você pode usar amostragem para reduzir o tráfego de rede. A desvantagem é a redução na resolução dos dados.
Um exemplo de como isso funcionaria para taxas de amostragem abaixo 1: se você definir isso como 0.1, o contador enviaria uma medição uma em cada 10 vezes.
#<tags> string
Optional. Tag anexada à sua métrica são convertidas em atributo (pares de valor principal). Para obter mais informações sobre opções de tags, consulte tag.
Tipos métricos
Aqui estão os tipos de métricas e como formatá-las:
Um contador mede o número de ocorrências de um evento. Os exemplos incluem ocorrência no cache por intervalo de relatório e o número de threads criados por intervalo de relatório.
Um contador pode ser incrementado ou decrementado durante o mesmo intervalo de liberação adicionando um sinal ao valor. No exemplo a seguir, o valor do contador será 2:
counter:4|c
counter:-2|c
A cada liberação, a contagem atual é enviada e redefinida para 0. Caso a contagem não seja atualizada, na próxima descarga ela enviará o valor 0. Você pode optar por desativar esse comportamento definindo expiry-interval como 1ms.
Aqui está um exemplo de um contador que está sendo amostrado 1 em cada 10 vezes:
counter:4|c@0.1
Um medidor representa um valor que pode aumentar ou diminuir com o tempo. Exemplos de medidor incluem temperatura, uso de CPU e memória. Aqui está um exemplo:
temperature:40|g
Caso o medidor não seja atualizado, na próxima descarga ele enviará o valor anterior. Você pode optar por desativar esse comportamento definindo expiry-interval como 1ms.
O tipo de métrica de temporizador mede dados de tempo.
Por padrão, nri_statsd calcula o seguinte para a métrica do temporizador: Desvio padrão, média, mediana, soma, limites inferior e superior para o intervalo de liberação. Estas são enviadas como submétricas no seguinte formato:
<metric_base_name>.std_dev
<metric_base_name>.median
<metric_base_name>.summary
<metric_base_name>.sum_squares
<metric_base_name>.mean
<metric_base_name>.per_second
O percentil configurado irá gerar a seguinte métrica. O valor limite do percentil será anexado como uma tag.
SELECT latest(prod.test.num) FROM Metric WHERE metricName = 'prod.test.num'
Aqui está uma imagem mostrando a criação desta condição de alerta NRQL. Observe que os dados de amostra enviados são representados pelo ponto azul no canto superior direito do gráfico.
Agora podemos criar a condição do alerta com estas configurações:
Ao criar a condição do alerta NRQL, certifique-se de definir o Condition name.
Se uma métrica com valor acima de 50 for enviada, um incidente será criado e notificado. O incidente é encerrado automaticamente após 24 horas. Para testar se o alerta está funcionando, execute este comando:
Para consultar seus dados, você usaria qualquer opção de consulta do New Relic. Por exemplo, você pode executar uma consulta NRQL como:
SELECT count(*) FROM Metric WHERE metricName = 'myMetric' and environment = 'production'
Para mais informações sobre como consultar o tipo de dados Metric , consulte consulta métrica de dados.
Resolução de problemas
Problema:
Você seguiu as etapas para executar a integração do StatsD, mas ainda precisa ver a métrica esperada no New Relic.
Soluções:
Siga as etapas abaixo para solucionar problemas de sua configuração:
Certifique-se de que
contenha sua chave de licença de 40 caracteres hexadecimais e seja uma licença válida para o ID de conta New Relic selecionado.
Certifique-se de que o data center correto, dos EUA ou da UE, foi selecionado para sua conta New Relic. Dica: se a chave_de_licença começar com "eu", você deverá usar a sinalização NR_EU_REGION=true .
Certifique-se de que não haja NrIntegrationError relacionados à integração do StatsD.
O log detalhado pode ser habilitado usando a variável de ambiente NR_STATSD_VERBOSE, modifique o comando docker run adicionando a seguinte variável: -e NR_STATSD_VERBOSE=true.
Uma métrica de teste pode ser enviada para confirmar se a integração está enviando as métricas esperadas. Exemplo usando o utilitário NetCat nc :
echo "example.gauge:123|g" | nc -u -w0 127.0.0.1 8125 (atualize 127.0.0.1 com o IP/endereço do contêiner em execução).
Verifique o código-fonte
Esta integração é um software de código aberto. Isso significa que você pode navegar pelo código-fonte e enviar melhorias, ou criar seu próprio fork e construí-lo.