コミュニティ Prometheus レシーバーを使用して、OpenTelemetry コレクターでPrometheus メトリクスを公開する任意のソフトウェアからメトリクスを収集できます。コレクターは、テレメトリ データを収集、処理し、New Relic (または任意の可観測性バックエンド) にエクスポートする OpenTelemetry のコンポーネントです。
ヒント
他のコレクターのユースケースに関するヘルプを探している場合は、 newrelic-opentelemetry-examplesリポジトリを参照してください。
Prometheus メトリクスを収集するには、以下の手順を実行します。
これらの前提条件を確認してください
まだ行っていない場合:
ターゲット アプリで、OpenTelemetry コレクターの Prometheus レシーバー コンポーネントにアクセスできるように、Prometheus メトリクス エンドポイントを公開していることを確認してください。
- Prometheus メトリクス エンドポイントはデフォルトで有効にすることも、有効にするために追加の構成を行う必要がある場合もあります。
- 一部のソフトウェアでは、メトリクスを公開するためにサードパーティの Prometheus エクスポータが必要な場合があります。
OpenTelemetry のドキュメントの手順に従って、OpenTelemetryコレクターをインストールします。
OTLP/HTTP エクスポータとPrometheus レシーバの2 つのコンポーネントがあれば、どのディストリビューションでも使用できます。
Opentelemetry コレクターの構成
config.yaml
という名前の新しいファイルを更新または作成し、ファイル内の次のキーを独自の値に置き換えます。
Prometheus のスクレイピング構成:
PROMETHEUS_JOBNAME
PROMETHEUS_HOSTNAME
PROMETHEUS_ENDPOINT_PORT
PROMETHEUS_ENDPOINT_PATH
(オプション、デフォルトは/metrics)
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]その他の構成オプションについては、以下を参照してください。
追加の構成詳細については、Prometheus 構成ドキュメントを参照してください 。
コレクターを実行する
Opentelemetry コレクターを実行します。実行方法は、選択したインストール方法によって異なる場合があります。例えば:
/usr/bin/otelcol --config ./config.yaml
データを探す、使う
メトリクス エクスプローラーを 使用して、取り込まれているメトリクスを確認できます。OTEL Prometheus 受信機によって報告されるすべてのメトリックは、次のクエリを実行することで検出されます。
SELECT count(*)FROM MetricWHERE instrumentation.provider='opentelemetry' and otel.library.name='otelcol/prometheusreceiver'FACET metricName
トラブルシューティング: メトリクス名が一致しません
Prometheus メトリクス ベースのダッシュボードとエンティティは、Prometheus メトリクスの命名規則を使用して、Prometheus エンドポイントによって報告されるメトリクスと一致します。ただし、OpenTelemetry Prometheus レシーバーは、 v076.3以降、デフォルトで OpenTelemetry 命名規則を使用します。
Prometheus メトリクスの命名規則を使用するには、OpenTelemetry コレクターの実行時に feature-gate pkg.translator.prometheus.NormalizeName
を無効にします。
$otelcol-contrib --config ./config.yaml --feature-gates=-pkg.translator.prometheus.NormalizeName