Docs » Splunk Observability Cloud でサポートされているインテグレーション » Prometheusメトリクスでアプリケーション・レシーバーを設定する » Prometheus・エクスポーター

Prometheus・エクスポーター 🔗

The Splunk Distribution of the OpenTelemetry Collector uses the Smart Agent receiver with the prometheus-exporter monitor type to read all metric types from a Prometheus Exporter endpoint.

Prometheus Exporterは、Prometheus以外のシステムから統計情報を取得し、Prometheusメトリクスに変換するソフトウェアです。Prometheus メトリクスス・タイプの説明については、メトリクス・タイプを参照してください。

このモニターはKubernetes、Linux、Windowsで利用できます。

メリット 🔗

インテグレーションを設定すると、これらの機能にアクセスできるようになります:

インストール 🔗

このインテグレーションを導入するには、以下の手順に従ってください:

  1. Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. [設定] セクションの説明に従ってインテグレーションを設定します。

  3. Splunk Distribution of OpenTelemetry Collector を再起動します。

設定 🔗

Smart Agent モニターとCollector のインテグレーションを使用するには、以下の手順に従います:

  1. Smart Agent レシーバーを設定ファイルに含めます。

  2. レシーバーセクションおよびパイプラインセクションの両方で、Collector 構成にモニタータイプを追加します。

🔗

このインテグレーションを有効にするには、Collector構成に以下を追加します:

receivers:
  smartagent/prometheus-exporter:
    type: prometheus-exporter
    discoveryRule: port >= 9100 && port <= 9500 && container_image =~ "exporter"
    extraDimensions:
       metric_source: prometheus
    ...  # Additional config

次に、設定ファイルの service.pipelines.metrics.receivers セクションにモニターを追加します:

service:
  pipelines:
    metrics:
      receivers: [smartagent/prometheus-exporter]

Splunk Distribution of OpenTelemetry Collector が既存の環境をどのように統合し、補完できるかを示す具体的な使用例については、構成例を参照してください。

OTel Collector が Splunk Enterprise と既存の Prometheus デプロイメントでどのように動作するかの例については、GitHub の Prometheus フェデレーションエンドポイントの例を参照してください。

設定オプション 🔗

次の表は、prometheus-exporter モニターの設定オプションを示します:

オプション

必須

タイプ

説明

httpTimeout

いいえ

int64

読み込みと書き込みの両方のHTTPタイムアウト時間。これは

func ParseDurationが受け付ける期間文字列

username

いいえ

string

各リクエストで使用される Basic Auth ユーザー名 (ある場合)。

password

いいえ

string

各リクエストで使用するBasic Authパスワード (ある場合)。

useHTTPS

いいえ

bool

true の場合、エージェントはサーバーへの接続に

プレーン HTTP の代わりに HTTPS を使用します。(デフォルト: false )

httpHeaders

いいえ

map of strings

HTTP ヘッダー名と値のマップ。 同じメッセージ・ヘッダーに対する

カンマ区切りの複数の値もサポートしています。

skipVerify

いいえ

bool

useHTTPSが true で、このオプションも true である場合、

エクスポーターの TLS 証明書は検証されません。(デフォルト: false )

caCertPath

いいえ

string

TLS証明書に署名したCA証明書へのパス。

skipVerifyfalse に設定されている場合は不要です。

clientCertPath

いいえ

string

TLSが必要な接続に使用するクライアントTLS証明書へのパス

clientKeyPath

いいえ

string

TLSが必要な接続に使用するクライアントTLSキーへのパス

host

はい

string

エクスポーターのホスト

port

はい

integer

エクスポーターのポート

useServiceAccount

いいえ

bool

認証にポッドサービスアカウントを使用します。(デフォルト:

false )

metricPath

いいえ

string

エクスポーター・サーバー上のメトリクス・エンドポイントへのパス。通常は

/metrics (the default). (default: /metrics)

sendAllMetrics

いいえ

bool

Prometheusエクスポーターから出力されるすべてのメトリクスを

フィルターリングなしで送信します。このオプションは、prometheus exporterモニターを直接使用する場合には、組み込みのフィルターリングがないため、効果がありません。(デフォルト: false )

認証 🔗

基本的なHTTP認証には、usernamepassword オプションを使用します。

Kubernetes上で、監視対象サービスに認証が必要な場合は、useServiceAccount オプションを使用して、接続時にエージェントのサービスアカウントを使用します。Smart Agent のサービスアカウントに、監視対象サービスに対する十分な権限があることを確認してください。

メトリクス 🔗

このインテグレーションで利用可能なメトリクスはありません。

Prometheusのメトリクス法換算の詳細 🔗

これがPrometheusのメトリクスの変換方法です:

  • ゲージは Splunk Infrastructure Monitoring ゲージに直接変換されます。

  • カウンターは、Infrastructure Monitoring の累積カウンターに直接変換されます。

  • タイプされていないメトリクスは、Infrastructure Monitoring ゲージに直接変換されます。

  • サマリー・メトリクスは、3つの異なるメトリクスに変換されます。<basename> はメトリクスのルート名です:

    • 合計カウントは、<basename>_count と呼ばれる累積カウンターに変換されます。

    • 合計値は、<basename> と呼ばれる累積カウンターに変換されます。

    • 各分位値は、<basename>_quantile と呼ばれるゲージに変換され、分位値を指定する quantile と呼ばれるディメンションを含みます。

  • ヒストグラム・メトリクスは、3つの異なるメトリクスに変換されます。<basename> は、メトリクスのルート名です:

    • 合計カウントは、<basename>_count と呼ばれる累積カウンターに変換されます。

    • 合計値は、<basename> と呼ばれる累積カウンターに変換されます。

    • 各ヒストグラムのバケットは、<basename>_bucket と呼ばれる累積カウンターに変換され、そのバケット内の最大値を指定する upper_bound と呼ばれるディメンションを含みます。このメトリクスは、上限値以下の値を持つイベントの数を指定します。

すべてのPrometheusラベルは、Infrastructure Monitoringのディメンションに直接変換されます。

これはサービスディスカバリーをサポートしているため、port >= 9100 && port <= 9500 && containerImage =~ "exporter" のようなディスカバリールールを設定することができます。これは、標準的なエクスポーター・ポートの範囲内にある「エクスポーター」という単語が含まれるコンテナ・イメージでエクスポーターを実行していることを想定しています。

Kubernetesでは、Pod specで定義されているコンテナポート名でマッチングを試みることもできます。これは、k8s-api オブザーバーのディスカバリールールの name 変数です。

エクスポーターは冗長になりがちなので、ここでフィルターーをかけると非常に便利です。

トラブルシューティング 🔗

ログにはエラー net/http: HTTP/1.x transport connection broken: malformed HTTP response が含まれています 🔗

解決策: useHTTPS で HTTPS を有効にします。

ログにはエラー forbidden: User \"system:anonymous\" cannot get path \"/metrics\" が含まれています 🔗

解決方法: useServiceAccount をアクティブにして、Splunk Distribution of OpenTelemetry Collector が実行されているサービスアカウントに必要なアクセス許可があることを確認します。

サポートを受ける 🔗

Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。

Splunk Observability Cloudをご利用のお客様

見込み客および無料トライアルユーザー様

  • Splunk Answers のコミュニティサポートで質問し、回答を得る

  • Splunk #observability ユーザーグループの Slack チャンネルに参加して、世界中の顧客、パートナー、Splunk 社員とのコミュニケーションを図る。参加するには、Get Started with Splunk Community マニュアルの チャットグループ を参照してください。

This page was last updated on 2024年10月04日.