HTTP エクスポーター

Elastic Agent と Metricbeat は、監視データを監視クラスターに収集して送信するための推奨方法です。

以前にレガシー収集方法を設定している場合は、Elastic Agent または Metricbeat 収集に移行する必要があります。レガシー収集を他の収集方法と併用しないでください。

http エクスポーターは、別の監視クラスターを使用できるため、Elasticsearch の監視機能で推奨されるエクスポーターです。副次的な利点として、すべてのリクエストが監視クラスターへの HTTP リクエストであるため、監視データのインデックス作成のために生産クラスターのノードを調整ノードとして使用することを避けます。

http エクスポーターは、低レベルの Elasticsearch REST クライアントを使用しており、ネットワークを介してアクセスできる任意の Elasticsearch クラスターにデータを送信できます。そのリクエストは、可能な限り帯域幅を削減するために filter_path パラメーターを使用し、生産クラスターと監視クラスター間の通信ができるだけ軽量になるようにします。

http エクスポーターは、リモートクラスターに対して HTTP 経由で通信する方法を制御する設定をいくつかサポートしています。ほとんどの場合、これらの設定を明示的に構成する必要はありません。詳細な説明については、監視設定を参照してください。

Yaml

  1. xpack.monitoring.exporters:
  2. my_local:
  3. type: local
  4. my_remote:
  5. type: http
  6. host: [ "10.1.2.3:9200", ... ]
  7. auth:
  8. username: my_username
  9. # "xpack.monitoring.exporters.my_remote.auth.secure_password" must be set in the keystore
  10. connection:
  11. timeout: 6s
  12. read_timeout: 60s
  13. ssl: ...
  14. proxy:
  15. base_path: /some/base/path
  16. headers:
  17. My-Proxy-Header: abc123
  18. My-Other-Thing: [ def456, ... ]
  19. index.name.time_format: YYYY-MM
local エクスポーターは明示的に定義されており、その任意の名前は my_local です。
http エクスポーターは定義されており、その任意の名前は my_remote です。この名前は、エクスポーターを一意に定義しますが、他には使用されません。
hosthttp エクスポーターに必要な設定です。HTTP ポートを指定する必要があり、トランスポートポートではありません。デフォルトのポート値は 9200 です。
Elastic Stack セキュリティ機能を使用しているユーザーや、クラスターを保護する他のユーザー認証形式のためのユーザー認証。
すべての TLS/SSL 設定については、HTTP エクスポーター設定を参照してください。指定されていない場合、デフォルトのノードレベルの TLS/SSL 設定が使用されます。
プロキシと連携するために、すべての送信リクエストにプレフィックスを付けるためのオプションのベースパス。
すべてのリクエストと共に送信するヘッダーとして定義するための任意のキー/値ペア。配列ベースのキー/値形式は、値ごとに1つのヘッダーを送信します。
デフォルトで使用される日付サフィックスを変更するためのメカニズム。

http エクスポーターは hosts の配列を受け入れ、リストをラウンドロビンで処理します。監視クラスターにノードが複数ある場合は、その機能を活用することをお勧めします。

local エクスポーターとは異なり、http エクスポーターを使用するすべてのノードは、必要なリソースを確認して作成しようとします。http エクスポーターは、何かが再度チェックを実行するトリガーが発生しない限り、リソースの再チェックを避けます。これらのトリガーには次のものが含まれます:

  • 生産クラスターのノードの再起動。
  • 監視クラスターへの接続失敗。
  • 生産クラスターのライセンスが変更される。
  • http エクスポーターが動的に更新される(したがって、置き換えられます)。

チェックをトリガーする最も簡単な方法は、エクスポーターを無効にしてから再度有効にすることです。

このリソース管理の動作は、監視リソースを削除するユーザーにとって穴を作る可能性があります。http エクスポーターは、トリガーのいずれかが発生しない限り、リソースを再チェックしないため、誤ったインデックスマッピングが発生する可能性があります。

local エクスポーターとは異なり、http エクスポーターは本質的にクラスターの外部にリクエストをルーティングしています。この状況では、監視クラスターがユーザー名とパスワードを要求する場合、エクスポーターはそれを提供する必要があります(または、TLS/SSL 設定などの他の適切なセキュリティ構成)。

http エクスポーターに関連するセキュリティについて議論する際は、すべてのユーザーが監視クラスターで管理されていることを忘れないことが重要です。これは、開発環境から本番環境に移行する際に特に重要であり、専用の監視クラスターがあることがよくあります。

http エクスポーターの構成オプションに関する詳細については、HTTP エクスポーター設定を参照してください。