ヒストグラムデータをSplunk Observability Cloudに取り込む
Prometheus レシーバーを含むさまざまなレシーバーを使用してヒストグラムデータを収集し、OpenTelemetry Collector を使用して Splunk Observability Cloud に送信することができます。
Prometheus レシーバーを含むさまざまなレシーバーを使用してヒストグラムデータを収集し、OpenTelemetry Collector を使用して Splunk Observability Cloud に送信することができます。「Prometheus レシーバ」を参照してください。
send_otlp_histogram をサポートしていないため、ヒストグラムデータの送信に使用できません。SignalFx エクスポータを使用してヒストグラムデータをエクスポートする
Splunk Distribution of the OpenTelemetry Collector の SignalFx エクスポータのバージョンは、パラメータ send_otlp_histograms をサポートしており、ヒストグラムデータを送信するために推奨される方法です。
SignalFx エクスポータは、ヒストグラムバケットデータを保持できます。これを使用して、チャート作成時にメトリクスからさまざまな統計情報(90 パーセンタイルや平均など)を抽出できます。
SignalFx Exporter を使用してヒストグラムデータを Splunk Observability Cloud に送信するには、send_otlp_histograms オプションを true に設定します。例:
exporters:
signalfx:
access_token: "${SPLUNK_ACCESS_TOKEN}"
api_url: "${SPLUNK_API_URL}"
ingest_url: "${SPLUNK_INGEST_URL}"
sync_host_metadata: true
correlation:
send_otlp_histograms: true
OTLP/ HTTP エクスポータを使用してヒストグラムデータをエクスポートする
metrics_endpoint] および [traces_endpoint] フィールドのエンドポイントを設定します。exporters:
otlphttp:
metrics_endpoint: https://ingest.<realm>.signalfx.com/v2/datapoint/otlp
traces_endpoint: https://ingest.<realm>.signalfx.com/v2/trace/otlp
headers:
"X-SF-Token": "mytoken"
tls:
insecure: true
timeout: 10s
バケットヒストグラムデータを送信する際のベストプラクティス
Splunk Observability Cloud にバケットヒストグラムデータを送信する場合は、以下のベストプラクティスに従ってください:
-
累積データを送信する場合を除き、最小値と最大値を送信します。最小値は最大値よりも小さくする必要があります。そうでない場合、データポイントは削除されます。
-
カスタムヒストグラムを送信する場合は、31 未満のバケットを使用します。31 を超えるバケットを持つヒストグラムは削除されます。
-
バケット境界が重複したり、繰り返されたりしていないことを確認します。送信時にバケット境界を順序付けます。
-
値を 10 進数または固定小数点表記の符号付き整数、浮動小数点数、または数値文字列として送信します。Splunk Observability Cloud はそれらを 64 ビットの整数として保存します。
-
すべてのヒストグラムのバケットの合計が [
count] フィールドに等しいこと、およびバケットの境界のサイズがバケットカウントから 1 を引いたものに等しいことを確認します。これらの基準に準拠していないヒストグラムはドロップされます。 -
Prometheus などから累積データを送信する場合は、デルタ集計の一時制を使用します。システムでデルタ一時性を設定する方法については、「デルタ集計の一時性に関する考慮事項」を参照してください。
デルタ集計の一時性に関する考慮事項
累積ヒストグラムを処理する場合は、デルタ集計一時性フラグを設定する必要があります。そうしないと、累積ヒストグラムの最小値と最大値が不足します。これにより、パーセンタイル計算で誤った値が返される可能性があります。
インストルメンテーションでデルタ集計一時性を有効にするには、OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE 環境変数を [delta] に設定します。使用言語の SDK サポートを確認するには、OpenTelemetry Specification リポジトリのコンプライアンス マトリックスを参照してください。
APIを使用してヒストグラムデータを送信する
OpenTelemetry Collector をバイパスする必要がある場合は、インジェスト API の /v2/datapoint/otlp エンドポイントを使用して、ヒストグラムデータを Splunk Observability Cloud に直接送信します。エンドポイントは、 HTTP 経由で Protobufとしてシリアル化された OTLP のデータを受け入れます。gRPC スキームはサポートされていません。
API を使用してヒストグラムメトリックデータを送信する方法については、Splunk Developer Portal の「/datapoint/otlp」を参照してください。
ダッシュボード、関数、チャート、ディテクターの移行
既存のダッシュボード、関数、チャート、ディテクターをヒストグラムに移行するには、以下の手順に従います:
-
Splunk Distribution of OpenTelemetry Collector バージョン 0.98 以上を使用してヒストグラムデータを送信していることを確認してください。それ以下のバージョンでは、SignalFx エクスポータを使用して OTLP フォーマットのヒストグラムデータを送信できません。
- 新しい
histogram()関数を使用するには、チャートを編集します。SignalFlow リファレンスドキュメントの「histogram()」を参照してください。
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______