レガシーコレクターを使用した監視データの収集

7.16で非推奨。

Elasticsearch Monitoringプラグインを使用して監視データを収集および送信することは非推奨です。Elastic AgentおよびMetricbeatが、監視クラスターに監視データを収集および送信するための推奨方法です。以前にレガシー収集方法を構成していた場合は、Elastic AgentまたはMetricbeatの収集方法に移行する必要があります。

Elasticsearchに関するメトリクスを収集するこの方法は、エクスポーターを使用してメトリクスを監視クラスターに送信することを含みます。

高度な監視設定により、データが収集される頻度を制御し、タイムアウトを設定し、ローカルに保存された監視インデックスの保持期間を設定できます。また、監視データの表示方法を調整することもできます。

監視全般について学ぶには、クラスターの監視を参照してください。

  • 1. 監視データを収集するようにクラスターを構成します:
    • 1.1. 各ノードでxpack.monitoring.elasticsearch.collection.enabled設定がtrue(デフォルト値)であることを確認します。
      この設定は、各ノードのelasticsearch.ymlまたはクラスター全体の動的クラスター設定として指定できます。Elasticsearchのセキュリティ機能が有効になっている場合、クラスター設定を表示するにはmonitorクラスター権限が必要で、変更するにはmanageクラスター権限が必要です。
      詳細については、監視設定およびクラスター更新設定を参照してください。
    • 1.2. 各ノードでxpack.monitoring.collection.enabled設定をtrueに設定します。デフォルトでは無効(false)です。
      この設定は、各ノードのelasticsearch.ymlまたはクラスター全体の動的クラスター設定として指定できます。Elasticsearchのセキュリティ機能が有効になっている場合、クラスター設定を表示するにはmonitorクラスター権限が必要で、変更するにはmanageクラスター権限が必要です。
      例えば、次のAPIを使用してこの設定を確認および変更します:

Python

  1. resp = client.cluster.get_settings()
  2. print(resp)

Ruby

  1. response = client.cluster.get_settings
  2. puts response

Js

  1. const response = await client.cluster.getSettings();
  2. console.log(response);

Console

  1. GET _cluster/settings

Python

  1. resp = client.cluster.put_settings(
  2. persistent={
  3. "xpack.monitoring.collection.enabled": True
  4. },
  5. )
  6. print(resp)

Ruby

  1. response = client.cluster.put_settings(
  2. body: {
  3. persistent: {
  4. 'xpack.monitoring.collection.enabled' => true
  5. }
  6. }
  7. )
  8. puts response

Js

  1. const response = await client.cluster.putSettings({
  2. persistent: {
  3. "xpack.monitoring.collection.enabled": true,
  4. },
  5. });
  6. console.log(response);

Console

  1. PUT _cluster/settings
  2. {
  3. "persistent": {
  4. "xpack.monitoring.collection.enabled": true
  5. }
  6. }

また、Kibanaでこの設定を有効にすることもできます。サイドナビゲーションで監視をクリックします。データ収集が無効になっている場合は、オンにするように促されます。
詳細については、監視設定およびクラスター更新設定を参照してください。

  • 1.3. オプション: 監視したいインデックスを指定します。
    デフォルトでは、監視エージェントはすべてのElasticsearchインデックスからデータを収集します。特定のインデックスからデータを収集するには、xpack.monitoring.collection.indices設定を構成します。複数のインデックスをカンマ区切りのリストとして指定するか、インデックスパターンを使用して複数のインデックスに一致させることができます。例えば:

Yaml

  1. xpack.monitoring.collection.indices: logstash-*, index1, test2
  1. - 1*.*4*.* オプション: 監視データを収集する頻度を指定します。`````xpack.monitoring.collection.interval`````設定のデフォルト値は10秒です。[監視設定](/read/elasticsearch-8-15/19336850b0efa3e9.md)を参照してください。
  2. - 2*.* 監視データを保存する場所を特定します。
  3. デフォルトでは、データは同じクラスターに[`````local`````エクスポーター](/read/elasticsearch-8-15/981d6ee6e5de5cf3.md)を使用して保存されます。代わりに、[`````http`````エクスポーター](/read/elasticsearch-8-15/cfda233d6c6467ee.md)を使用して、別の監視クラスターにデータを送信することもできます。
  4. Elasticsearchの監視機能はインジェストパイプラインを使用するため、監視データを保存するクラスターには少なくとも1つの[インジェストノード](/read/elasticsearch-8-15/32bff6811baf1efc.md)が必要です。
  5. 典型的な監視アーキテクチャについての詳細は、[動作の仕組み](/read/elasticsearch-8-15/d9ae474340c4a1f6.md)を参照してください。
  6. - 3*.* `````http`````エクスポーターを使用することを選択した場合:
  7. - 3*.*1*.* 監視したいクラスター(通常はプロダクションクラスターと呼ばれる)で、各ノードを構成してメトリクスを監視クラスターに送信します。`````xpack.monitoring.exporters`````設定の`````elasticsearch.yml`````ファイルにHTTPエクスポーターを構成します。例えば:
  8. #### Yaml
  9. ``````yaml
  10. xpack.monitoring.exporters:
  11. id1:
  12. type: http
  13. host: ["http://es-mon-1:9200", "http://es-mon-2:9200"]
  14. `
  • 3.2. 監視クラスターでElasticセキュリティ機能が有効になっている場合、データが監視クラスターに送信されるときに適切な資格情報を提供する必要があります:

Yaml

  1. xpack.monitoring.exporters:
  2. id1:
  3. type: http
  4. host: ["http://es-mon-1:9200", "http://es-mon-2:9200"]
  5. auth.username: remote_monitoring_user
  6. # "xpack.monitoring.exporters.id1.auth.secure_password" must be set in the keystore
  • 3.3. 監視クラスターで暗号化通信を使用するように構成した場合、host設定でHTTPSプロトコルを使用する必要があります。また、監視クラスター内のノードのアイデンティティを確認するために使用される信頼できるCA証明書を指定する必要があります。
    • Elasticsearchノードの信頼できる証明書にCA証明書を追加するには、certificate_authorities設定でPEMエンコードされた証明書の場所を指定できます。例えば:

Yaml

  1. xpack.monitoring.exporters:
  2. id1:
  3. type: http
  4. host: ["https://es-mon1:9200", "https://es-mon-2:9200"]
  5. auth:
  6. username: remote_monitoring_user
  7. # "xpack.monitoring.exporters.id1.auth.secure_password" must be set in the keystore
  8. ssl:
  9. certificate_authorities: [ "/path/to/ca.crt" ]
  • 代わりに、信頼できる証明書をトラストストア(証明書を含むJavaキーストアファイル)を使用して構成することもできます。例えば:

Yaml

  1. xpack.monitoring.exporters:
  2. id1:
  3. type: http
  4. host: ["https://es-mon1:9200", "https://es-mon-2:9200"]
  5. auth:
  6. username: remote_monitoring_user
  7. # "xpack.monitoring.exporters.id1.auth.secure_password" must be set in the keystore
  8. ssl:
  9. truststore.path: /path/to/file
  10. truststore.password: password