HTTP

HTTP モニターには、この Splunk Observability Cloud インテグレーションを使用してください。メリット、インストール、設定、メトリクスを参照してください

Splunk Distribution of OpenTelemetry Collector は、http モニタータイプの Smart Agent レシーバーを使用して、設定された URL からの HTTP レスポンスが期待値と一致するかどうかに基づいてメトリクスを生成します。たとえば、適切なボディ、ステータスコードなどです。

注: ネイティブの OpenTelemetry コンポーネントを使用して OpenTelemetry Collector で HTTP エンドポイントを監視するには、「HTTP チェックレシーバー」を参照してください。

該当する場合、useHTTPS パラメータが設定されているかどうかに応じて、ベースURLまたはリダイレクトからTLS情報が自動的に取得されます。

メリット

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

セットアップ

URL からウェブチェックを作成するには、URL をさまざまな設定オプションに分割します。これらのオプションはすべて、{scheme}://{host}:{port}{path} の形式である「正規化された」URL から URL ディメンション値を決定します。

  • scheme は、useHTTPS:true の場合は httpsuseHTTPS:falseの場合は http となります。

  • host はチェックするサイトのホスト名です。このオプションは必須です。

  • port は、接続するポートです。定義されていない場合、useHTTPS:true の場合 port443useHTTPS:false の場合は 80 です。http のデフォルト値は 80 です。デフォルト値を使用する場合、port は暗黙的であり、curl と同様の動作になるため、設定から削除されます。

  • path には、リソースパスを含む完全なクエリが含まれ、最後に GET メソッド・パラメータが ? セパレータ付きで含まれます。

このURLで行われるリクエストの動作を変更するために、以下のオプションを設定します:

  • GETPOST などのリクエストタイプを定義するには、method オプションを設定します。利用可能なメソッドの全リストは https://golang.org/src/net/http/method.go を参照してください。

  • 基本認証の username および password オプションを設定します。

  • httpHeaders オプションを設定してリクエストヘッダーを定義します。このオプションを使用して、host ヘッダーを上書きします。

  • requestBody オプションを設定して、リクエストにボディを提供します。このボディの形式は、Content-Type ヘッダーによって異なります。たとえば、{"foo":"bar"}Content-Type: application/json です。

  • URL がリダイレクトをフォローしないようにするには、noRedirects:false オプションを設定します。デフォルト値は true です。

異なるリクエストの動作については設定例を参照してください。

以下の設定オプションは、結果の値を変更します:

  • desiredCode オプションは http.code_matched 値を決定します。異なる「標準」値が予想される場合は、このオプションを設定します。デフォルト値は 200 です。たとえば、desiredCode:301noRedirects:false を設定して、リダイレクト(最終リダイレクト先 URL ではない)が値を 1(成功)に維持するかをチェックします。

  • regex オプションは、http.regex_matched メトリクスと同じことをします。ここで値は、指定された正規表現がレスポンスボディにマッチする場合のみ、1 となります。

  • addRedirectURL オプションはメトリクスに影響を与えませんが、「動的な」値を持つ新しい redirect_url ディメンションを追加します。モニター設定によって url ディメンションが変更される場合、redirect_url 値はサーバー変更の影響を受け、常に最後にリダイレクトされる URL になります。たとえば、ハートビートディテクタの問題を引き起こす可能性があるため、このオプションはデフォルトで非アクティブになっています。

以下のHTTPヘッダーは、クライアントとサーバーがHTTPリクエストまたはレスポンスで追加情報を受け渡しできるようにします:

  • Cache-Control: no-cache で、キャッシュされたコピーをリリースする前に、検証のためにリクエストをオリジンサーバーに送ることができます。

  • Host で、そのリクエストを変更、つまりCDNやロードバランサーをバイパスして、バックエンドに直接リクエストします。

  • Content-Type で、リソースのメディアタイプを示します。たとえば、jsonxml、または octet-stream です。

インストール

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

  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/http:
    type: http
    ... # Additional config

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

service:
  pipelines:
    metrics:
      receivers: [smartagent/http]

複数のホストを監視する

複数のホストをモニターするには、設定の receivers セクションに各ホストの http モニターエントリを追加します。例:

receivers:
  smartagent/host1:
    type: http
    ... # Additional config for host 1
  smartagent/host2:
    type: http
    ... # Additional config for host 2

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

service:
  pipelines:
    metrics:
      receivers: [smartagent/host1, smartagent/host2]

設定オプション

次の表に、このモニターの設定オプションを示します:

オプション

必須

タイプ

説明

host

いいえ

string

監視するホストまたは IP アドレス。注:ホストは

機能に必要ですが、コンフィギュレーションの検証には必要ありません。

port

いいえ

integer

監視する HTTP サーバーのポート。デフォルト値は、

0します。

path

いいえ

string

テスト・リクエストで使用するHTTPパス。

httpTimeout

いいえ

int64

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

ParseDuration タイプによって受け入れられる継続時間文字列です。デフォルト値は 10s です。

username

いいえ

string

各リクエストで使用する基本認証ユーザー名(ある場合)。

password

いいえ

string

各リクエストで使用する基本認証パスワード(ある場合)。

useHTTPS

いいえ

bool

true の場合、Collector は、プレーンHTTP の代わりに HTTPS を

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

httpHeaders

いいえ

map of strings

HTTP ヘッダー名と値のマップ。同じメッセージヘッダーの

同じメッセージ・ヘッダーの値がサポートされています。

skipVerify

いいえ

bool

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

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

sniServerName

いいえ

string

useHTTPStrue で、skipVerifytrue の場合、

sniServerName は、返された証明書のホスト名を検証するために使用されます。また、IP アドレスでない限り、バーチャルホスティングをサポートするために、クライアントのハンドシェイクにも含まれます。

caCertPath

いいえ

string

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

skipVerifyfalse に設定されている場合、このオプションは不要です。

clientCertPath

いいえ

string

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

パス。

clientKeyPath

いいえ

string

TLS必須に使用するクライアントTLSキーへのパス

パス。

requestBody

いいえ

string

オプションのHTTPリクエスト・ボディ、例えば、

{"foo":"bar"}します。

noRedirects

いいえ

bool

リダイレクトをフォローしません。デフォルト値は false です。

method

いいえ

string

使用する HTTP 要求メソッド。デフォルト値は GET です。

urls

いいえ

list of strings

監視する HTTP URL のリストを提供します。このオプションは

非推奨です。代わりに、host/port/useHTTPS/path を使用します。

regex

いいえ

string

URL(複数可)のレスポンスにマッチする正規表現(オプション)。

desiredCode

いいえ

integer

URL レスポンスに一致するコード。デフォルト値

200 です。

addRedirectURL

いいえ

bool

redirect_url ディメンションを追加します。 リダイレクトが実行される場合

url とは異なる場合があります。デフォルト値は false です。

メトリクス

これらは、このインテグレーションで利用可能なメトリクスです:

https://raw.githubusercontent.com/signalfx/splunk-otel-collector/main/internal/signalfx-agent/pkg/monitors/http/metadata.yaml

備考

  • Splunk Observability Cloud で利用可能なメトリクスタイプの詳細は、「メトリクスタイプ」を参照してください。

  • ホストベースのサブスクリプションプランでは、デフォルトのメトリクスは、ホスト、コンテナ、バンドルメトリクスなど、Splunk Observability Cloud のホストベースのサブスクリプションに含まれるメトリクスです。カスタムメトリクスはデフォルトでは提供されていないため、料金が発生する場合があります。詳細については、「メトリクスカテゴリ」を参照してください。

  • MTSベースのサブスクリプションプランでは、すべてのメトリクスがカスタムです。

  • メトリクスを追加するには、「その他のメトリクスの追加」で extraMetrics の設定方法を参照してください。

トラブルシューティング

__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____

_________ __ ______ _____________ _____ _________

_________ __ ___________ _________ ___ ____ _____ _____

  • ___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________

  • ____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______