Elasticsearchレシーバー
Elasticsearchレシーバーは、Elasticsearchノード統計、クラスター健全性、インデックス統計のエンドポイントに問い合わせ、稼働中のElasticsearchクラスターからメトリクスをスクレイピングします。
Elasticsearch レシーバは、Elasticsearch ノード統計、クラスター健全性、インデックス統計のエンドポイントに問い合わせ、稼働中の Elasticsearch クラスターからメトリクスをスクレイピングします。サポートされているパイプラインのタイプは metrics です。詳細については「パイプラインでデータを処理する」を参照してください。
クエリされたエンドポイントの詳細については、Elastic ドキュメントの次のトピックを参照してください。
-
ノード統計 API については、https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html を参照してください。
-
クラスター正常性 API については、https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html を参照してください。
-
インデックス統計 API については、https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html を参照してください。
前提条件
このレシーバーはElasticsearchバージョン7.9以降をサポートしています。
Elasticsearch セキュリティ機能が有効になっている場合は、モニタまたはクラスターの管理権限が必要です。ロールベースアクセス制御については Elastic ドキュメントの https://www.elastic.co/guide/en/elasticsearch/reference/current/authorization.html を、セキュリティ権限については https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html を参照してください。
はじめに
以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:
-
Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
-
次のセクションで説明するように、Elasticsearchレシーバーを設定します。
-
Collector を再起動します。
サンプル構成
-
レシーバーをアクティブにするには、設定ファイルの
elasticsearchセクションにreceiversを追加します:receivers: elasticsearch: -
次に、設定ファイルの
serviceセクションのmetricsパイプラインに、レシーバーを含めます:service: pipelines: metrics: receivers: - elasticsearch
高度な設定
以下の設定はオプションです:
-
nodes。デフォルトでは["_all"]です。ノードレベルおよびクラスターレベルのメトリクスをスクレイピングするノードを定義するノードフィルタを指定します。-
許可されたフィルタについては、Elastic ドキュメントの https://www.elastic.co/guide/en/elasticsearch/reference/7.9/cluster.html#cluster-nodes にあるクラスター API ノードの仕様を参照してください。
-
空の場合、レシーバはノードレベルのメトリクスをスクレイピングせず、クラスターの健全性に関連するメトリクスのみがクラスターレベルでスクレイピングされます。
-
-
skip_cluster_metrics。デフォルトではfalseです。trueの場合、クラスターレベルのメトリクスはスクレイピングされません。 -
indices。デフォルトでは["_all"]です。インデックスレベルのメトリクスをスクレイピングする対象となるインデックスを定義するフィルタを指定できます。-
対応フィルタについては、Elastic ドキュメントの https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html#index-stats-api-path-params から「Cluster API Path parameters」を参照してください。
-
空の場合、レシーバはインデックスレベルのメトリクスをスクレイピングしません。
-
-
endpoint。デフォルトではhttp://localhost:9200です。監視するクラスターの Elasticsearch API のベース URL です。 -
usernameします。デフォルトなし基本認証を使用して Elasticsearch で認証する際に使用するユーザー名を指定します。 -
passwordします。デフォルトなし基本認証を使用して Elasticsearch で認証する際に使用するパスワードを指定します。 -
collection_interval。デフォルトでは10sです。このレシーバは、この設定によって決定される間隔でメトリクスを収集します。この値は、Golang の time.ParseDuration で読み取り可能な文字列である必要があります。https://pkg.go.dev/time#ParseDuration を参照してください。-
大きいクラスターでは、ノードの多いクラスターでElasticsearchにメトリクスをクエリするのに時間がかかるため、間隔を伸ばす必要がある場合があります。
-
-
initial_delay。デフォルトでは1sです。このレシーバーが開始するまでの待ち時間を定義します。
設定例
以下の設定例を参照してください:
receivers:
elasticsearch:
metrics:
elasticsearch.node.fs.disk.available:
enabled: false
nodes: ["_local"]
skip_cluster_metrics: true
indices: [".geoip_databases"]
endpoint: http://localhost:9200
username: otel
password: password
collection_interval: 10s
設定
次の表は、Elasticsearchレシーバーの設定オプションを示しています:
同梱
https://raw.githubusercontent.com/splunk/collector-config-tools/main/cfg-metadata/receiver/elasticsearch.yaml
メトリクス
以下のメトリクス、リソース属性、および属性が利用可能です。
同梱
https://raw.githubusercontent.com/splunk/collector-config-tools/main/metric-metadata/elasticsearchreceiver.yaml
特定のメトリクスをアクティブまたは非アクティブにする
各メトリクスの metrics セクションの enabled フィールドを設定することで、特定のメトリクスをアクティブまたは非アクティブにできます。例:
receivers:
samplereceiver:
metrics:
metric-one:
enabled: true
metric-two:
enabled: false
以下は、アクティブ化されたメトリクスを持つホスト・メトリクス・レシーバーの構成例です:
receivers:
hostmetrics:
scrapers:
process:
metrics:
process.cpu.utilization:
enabled: true
-
MTS ベースのサブスクリプションの場合、すべてのメトリックがメトリックの使用にカウントされます。
-
ホストベースのプランを使用している場合、このドキュメントでアクティブ(アクティブ:はい)としてリストされているメトリックはデフォルトと見なされ、無料で含まれています。
詳細については、「Infrastructure Monitoringのサブスクリプション使用状況(ホストとメトリクスのプラン)」を参照してください。
バージョンのあるメトリクス
以下のメトリクスを、以下のバージョンで利用できます。
-
elasticsearch.indexing_pressure.memory.limitします。バージョン 7.10 以上で利用可能です。 -
elasticsearch.node.shards.data_set.sizeします。バージョン 7.13 以上で利用可能です。 -
elasticsearch.cluster.state_update.countします。バージョン 7.16.0 以上で利用可能です。 -
elasticsearch.cluster.state_update.timeします。バージョン 7.16.0 以上で利用可能です。
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______