Você pode coletar métricas de qualquer software que exponha métricas do Prometheus com o coletor OpenTelemetry usando o receptor Prometheus da comunidade. O coletor é um componente do OpenTelemetry que coleta, processa e exporta dados de telemetria para o New Relic (ou qualquer backend de observabilidade).
Dica
Se você estiver procurando ajuda com outros casos de uso do coletor, consulte o repositório newrelic-OpenTelemetry-examples .
Conclua as etapas abaixo para coletar a métrica do Prometheus.
Verifique esses pré-requisitos
Se você ainda não o fez:
Em seu aplicativo de destino, certifique-se de expor o endpoint métrico do Prometheus para que fique acessível ao componente receptor do Prometheus no coletor OpenTelemetry.
- O endpoint métrico do Prometheus pode ser habilitado por padrão ou pode ser necessário fazer configurações adicionais para habilitá-lo.
- Alguns softwares podem exigir que um exportador Prometheus terceirizado exponha a métrica.
Instale o coletor OpenTelemetry seguindo as etapas na documentação do OpenTelemetry.
Você pode usar qualquer distribuição, desde que tenha estes dois componentes: exportador OTLP/HTTP e receptor Prometheus
Configurar o coletor OpenTelemetry
Atualize ou crie um novo arquivo chamado config.yaml
e substitua as seguintes chaves no arquivo pelos seus próprios valores:
Configuração de raspagem do Prometheus:
PROMETHEUS_JOBNAME
PROMETHEUS_HOSTNAME
PROMETHEUS_ENDPOINT_PORT
PROMETHEUS_ENDPOINT_PATH
(opcional, o padrão é /métrica)
NEW_RELIC_LICENSE_KEY
receivers:prometheus:config:scrape_configs:- job_name: "PROMETHEUS_JOBNAME"static_configs:- targets: [ "PROMETHEUS_HOSTNAME:PROMETHEUS_ENDPOINT_PORT" ]labels:label_example: VALUE_EXAMPLEmetrics_path: PROMETHEUS_ENDPOINT_PATHexporters:otlphttp:endpoint: https://otlp.nr-data.netheaders:api-key: NEW_RELIC_LICENSE_KEYprocessors:service:telemetry:logs:pipelines:metrics:receivers: [prometheus]processors: [batch, memory_limiter]exporters: [otlphttp]Para mais opções de configuração, revise:
Documentos de configuração do Prometheus para obter detalhes adicionais de configuração.
Execute o coletor
Execute o coletor OpenTelemetry . A forma de executá-lo pode variar dependendo do método de instalação escolhido. Por exemplo:
/usr/bin/otelcol --config ./config.yaml
Encontre e use seus dados
Você pode usar o explorador métrico para verificar a métrica que está sendo ingerida. Todas as métricas reportadas pelo receptor OTEL Prometheus são detectadas executando a seguinte consulta.
SELECT count(*)FROM MetricWHERE instrumentation.provider='opentelemetry' and otel.library.name='otelcol/prometheusreceiver'FACET metricName
Resolução de problemas: nomes de métricas não coincidem
O painel baseado em métricas do Prometheus e a entidade usam convenções de nomenclatura de métricas do Prometheus para corresponder à métrica relatada pelo endpoint do Prometheus. No entanto, o receptor OpenTelemetry Prometheus usa convenções de nomenclatura OpenTelemetry por padrão após v076.3.
Para usar as convenções de nomenclatura métrica do Prometheus, desative o recurso-gate pkg.translator.prometheus.NormalizeName
ao executar o coletor OpenTelemetry:
$otelcol-contrib --config ./config.yaml --feature-gates=-pkg.translator.prometheus.NormalizeName