Docs » Splunk Observability Cloud でサポートされているインテグレーション » ホストとサーバーのアプリケーション・レシーバーの設定 » Elasticsearchクエリ

Elasticsearchクエリ 🔗

このインテグレーションはベータ版です。

The Splunk Distribution of OpenTelemetry Collector uses the Smart Agent receiver with the elasticsearch-query monitor type to metricize aggregated responses from Elasticsearch. The integration constructs Splunk Observability Cloud data points based on Elasticsearch aggregation types and aggregation names.

メリット 🔗

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

データモデルの変換 🔗

このインテグレーションは、Elasticsearch のレスポンスを Splunk Observability Cloud のデータポイントに変換します。

高いレベルでは、以下のようなタイプの反応を評価します:

  1. メトリクス集約は、termsfilters などの 1つ以上のバケット集約の内部にあります。データポイントのディメンションは、集約名 (ディメンション名) および各バケットの key (ディメンション値) によって決定されます。メトリクス名は、メトリクス集約名のタイプと、複数値の集約の場合はその値から導出されます。対応するデータポイントには、metric_aggregation_type というディメンションも設定されます。

  2. バケット集約なしで適用されるメトリクス集約は、同じように変換されます。

  3. サブ集約としてメトリクス集約を持たないバケット集約は、<name_of_aggregation>.doc_count と呼ばれるメトリクスに変換され、各バケットの key とは別に bucket_aggregation_name ディメンションを持ちます。

注意 バケット集約は Splunk Observability Cloud のディメンションを決定するため、ほとんどの場合、バケット集約は Elasticsearch からのデータのスライスを表す string フィールドに対して実行する必要があります。

例:avgメトリクス集計 🔗

terms バケット集約のサブ集約としての avg メトリクス集約:

```json
{
"aggs":{
    "host" : {
    "terms":{"field" : "host"},
    "aggs": {
        "average_cpu_usage": {
        "avg": {
            "field": "cpu_utilization"
        }
        }
    }
    }
}
}
```

このクエリの結果は、elasticsearch_query.average_cpu_usage と呼ばれるメトリクスになり、データポイントは host ディメンションを持ち、その値はレスポンス内のバケツの key となります。メトリクス集約のタイプ ( avg ) は、metric_aggregation_type ディメンションとしてデータイントに設定されます。

例えば、以下の json は4つのデータポイントを提供し、それぞれ host の値が異なります:

```json
"aggregations" : {
"host" : {
    "doc_count_error_upper_bound" : 0,
    "sum_other_doc_count" : 0,
    "buckets" : [
    {
        "key" : "helsinki",
        "doc_count" : 13802,
        "average_cpu_usage" : {
        "value" : 49.77438052456166
        }
    },
    {
        "key" : "lisbon",
        "doc_count" : 13802,
        "average_cpu_usage" : {
        "value" : 49.919866685987536
        }
    },
    {
        "key" : "madrid",
        "doc_count" : 13802,
        "average_cpu_usage" : {
        "value" : 49.878350963628456
        }
    },
    {
        "key" : "nairobi",
        "doc_count" : 13802,
        "average_cpu_usage" : {
        "value" : 49.99789885523837
        }
    }
    ]
}
}
```

例:extended_stats メトリクス集約 🔗

terms バケット集約のサブ集約としての extended_stats メトリクス集約:

```json
{
"aggs":{
"host" : {
    "terms":{"field" : "host"},
    "aggs": {
    "cpu_usage_stats": {
        "extended_stats": {
        "field": "cpu_utilization"
        }
    }
    }
}
}
}
```

```json
"aggregations" : {
"host" : {
    "doc_count_error_upper_bound" : 0,
    "sum_other_doc_count" : 0,
    "buckets" : [
    {
        "key" : "helsinki",
        "doc_count" : 13996,
        "cpu_usage_stats" : {
        "count" : 13996,
        "min" : 0.0,
        "max" : 100.0,
        "avg" : 49.86660474421263,
        "sum" : 697933.0
        }
    },
    {
        "key" : "lisbon",
        "doc_count" : 13996,
        "cpu_usage_stats" : {
        "count" : 13996,
        "min" : 0.0,
        "max" : 100.0,
        "avg" : 49.88225207202058,
        "sum" : 698152.0
        }
    },
    {
        "key" : "madrid",
        "doc_count" : 13996,
        "cpu_usage_stats" : {
        "count" : 13996,
        "min" : 0.0,
        "max" : 100.0,
        "avg" : 49.92469276936267,
        "sum" : 698746.0
        }
    },
    {
        "key" : "nairobi",
        "doc_count" : 13996,
        "cpu_usage_stats" : {
        "count" : 13996,
        "min" : 0.0,
        "max" : 100.0,
        "avg" : 49.98320948842527,
        "sum" : 699565.0
        }
    }
    ]
}
}
```

この場合、各バケットは5つのメトリクスを出力します:

1. `cpu_usage_stats.count`
2. `cpu_usage_stats.min`
3. `cpu_usage_stats.max`
4. `cpu_usage_stats.avg`
5. `cpu_usage_stats.sum`

ディメンションは前の例と同じ方法で導き出されます。

インストール 🔗

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

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

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

service:
  pipelines:
    metrics:
      receivers: [smartagent/elasticsearch-query]

設定オプション 🔗

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

Kubernetesについては、GitHubのkubernetes.yamlでエージェントとゲートウェイのYAMLファイルを参照してください。

Prometheus については、GitHub の Prometheus Federation Endpoint Example で、OTel Collector が Splunk Enterprise と既存の Prometheus デプロイメントでどのように動作するかの例を参照してください。

コンフィギュレーション設定 🔗

次の表に、このインテグレーションの設定オプションを示します:

オプション

必須

タイプ

説明

httpTimeout

いいえ

int64

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

https://golang.org/pkg/time/#ParseDuration が受け付ける継続時間文字列になるはずです。 (デフォルト: 10s )

username

いいえ

string

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

password

いいえ

string

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

useHTTPS

いいえ

bool

trueの場合、エージェントはHTTPSを使用してサーバに接続します

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

httpHeaders

いいえ

map of strings

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

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

skipVerify

いいえ

bool

useHTTPSがtrueで、このオプションもtrueの場合、エクスポータ

TLS 証明書は検証されません。(デフォルト: false )

caCertPath

いいえ

string

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

skipVerify がfalseに設定されています。

clientCertPath

いいえ

string

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

clientKeyPath

いいえ

string

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

host

はい

string

port

はい

string

index

いいえ

string

クエリ対象のインデックス。何も指定されていない場合は、指定されたクエリ

はすべてのインデックスに適用されます。検索クエリを複数のインデックスに適用するには、インデックスをカンマ区切りで指定します (デフォルト: _all )。

elasticsearchRequest

はい

string

Elasticsearch リクエストボディの検索リクエストを受け取ります。詳細は

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html の Elasticsearch ドキュメントを参照してください。

メトリクス 🔗

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年09月18日.