OBI 内部メトリクスレポーターを設定する

オプションの内部メトリクスレポーターコンポーネントが、自動計装ツールの内部動作に関するメトリクスを Prometheus 形式でレポートする方法を設定する

YAML セクション: internal_metrics

このコンポーネントは、自動計装ツールの動作に関する内部メトリクスをレポートします。 これらのメトリクスは Prometheus または OpenTelemetry を使用してエクスポートできます。

Prometheus でメトリクスをエクスポートするには、internal_metrics セクションで exporterprometheus に設定します。 次に、prometheus サブセクションで port を設定します。

OpenTelemetry でメトリクスをエクスポートするには、internal_metrics セクションで exporterotel に設定します。 次に、otel_metrics_export でエンドポイントを設定します。

例:

internal_metrics:
  exporter: prometheus
  prometheus:
    port: 6060
    path: /internal/metrics

設定の概要

YAML環境変数デフォルト概要
exporterOTEL_EBPF_INTERNAL_METRICS_EXPORTERstringdisabled内部メトリクスのエクスポーターを選択します。
prometheus.portOTEL_EBPF_INTERNAL_METRICS_PROMETHEUS_PORTint(未設定)Prometheus スクレイプエンドポイントの HTTP ポート。
prometheus.pathOTEL_EBPF_INTERNAL_METRICS_PROMETHEUS_PATHstring/internal/metricsPrometheus メトリクスの HTTP クエリパス。
avoided_services.disabledOTEL_EBPF_INTERNAL_METRICS_AVOIDED_SERVICES_DISABLEDbooleanfalseavoided-services メトリクスを無効にします。
avoided_services.limitOTEL_EBPF_INTERNAL_METRICS_AVOIDED_SERVICES_LIMITint2000overflow 系列を含む avoided-services の系列数を制限します。

内部メトリクスのエクスポーター

内部メトリクスのエクスポーターを設定します。 disabledprometheusotel のいずれかを使用できます。


Prometheus ポート

Prometheus スクレイプエンドポイントの HTTP ポートを設定します。 未設定または 0 に設定した場合、OBI は Prometheus エンドポイントを開かず、メトリクスをレポートしません。

prometheus_export.port と同じ値を使用すること(両方のメトリクスファミリーは同じ HTTP サーバーを共有しますが、異なるパスを使用します)も、別の値を使用すること(OBI は異なるメトリクスファミリーのために 2 つの HTTP サーバーを開きます)もできます。


Prometheus パス

Prometheus メトリクスを取得するための HTTP クエリパスを設定します。

prometheus_export.portinternal_metrics.prometheus.port が同じ値を使用する場合、internal_metrics.prometheus.pathprometheus_export.path とは異なる値に設定してメトリクスファミリーを分離するか、同じ値を使用して両方のメトリクスファミリーを同じスクレイプエンドポイントにまとめることができます。

avoided-services のカーディナリティ

obi.avoided.services OTLP メトリクス(Prometheus では obi_avoided_services)は、サービスが直接 OpenTelemetry データをエクスポートしていることを検出した後、OBI がテレメトリーの重複を回避したサービスをレポートします。 系列にはサービス名、サービス名前空間、回避したシグナル(metrics または traces)が含まれますが、高カーディナリティのサービスインスタンス ID は含まれません。

avoided_services.limit は系列数の上限を設定します。 上限を超えたサービスは otel.metric.overflow=true(Prometheus: otel_metric_overflow="true") の系列にまとめられます。 OpenTelemetry SDK のデフォルトのメトリクスカーディナリティ制限を使用するには 0 に設定し、このメトリクスを省略するには disabled: true に設定します。