レガシーコレクターを使用した監視データの収集
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を使用してこの設定を確認および変更します:
- 1.1. 各ノードで
Python
resp = client.cluster.get_settings()
print(resp)
Ruby
response = client.cluster.get_settings
puts response
Js
const response = await client.cluster.getSettings();
console.log(response);
Console
GET _cluster/settings
Python
resp = client.cluster.put_settings(
persistent={
"xpack.monitoring.collection.enabled": True
},
)
print(resp)
Ruby
response = client.cluster.put_settings(
body: {
persistent: {
'xpack.monitoring.collection.enabled' => true
}
}
)
puts response
Js
const response = await client.cluster.putSettings({
persistent: {
"xpack.monitoring.collection.enabled": true,
},
});
console.log(response);
Console
PUT _cluster/settings
{
"persistent": {
"xpack.monitoring.collection.enabled": true
}
}
また、Kibanaでこの設定を有効にすることもできます。サイドナビゲーションで監視をクリックします。データ収集が無効になっている場合は、オンにするように促されます。
詳細については、監視設定およびクラスター更新設定を参照してください。
- 1.3. オプション: 監視したいインデックスを指定します。
デフォルトでは、監視エージェントはすべてのElasticsearchインデックスからデータを収集します。特定のインデックスからデータを収集するには、xpack.monitoring.collection.indices
設定を構成します。複数のインデックスをカンマ区切りのリストとして指定するか、インデックスパターンを使用して複数のインデックスに一致させることができます。例えば:
Yaml
xpack.monitoring.collection.indices: logstash-*, index1, test2
- 1*.*4*.* オプション: 監視データを収集する頻度を指定します。`````xpack.monitoring.collection.interval`````設定のデフォルト値は10秒です。[監視設定](/read/elasticsearch-8-15/19336850b0efa3e9.md)を参照してください。
- 2*.* 監視データを保存する場所を特定します。
デフォルトでは、データは同じクラスターに[`````local`````エクスポーター](/read/elasticsearch-8-15/981d6ee6e5de5cf3.md)を使用して保存されます。代わりに、[`````http`````エクスポーター](/read/elasticsearch-8-15/cfda233d6c6467ee.md)を使用して、別の監視クラスターにデータを送信することもできます。
Elasticsearchの監視機能はインジェストパイプラインを使用するため、監視データを保存するクラスターには少なくとも1つの[インジェストノード](/read/elasticsearch-8-15/32bff6811baf1efc.md)が必要です。
典型的な監視アーキテクチャについての詳細は、[動作の仕組み](/read/elasticsearch-8-15/d9ae474340c4a1f6.md)を参照してください。
- 3*.* `````http`````エクスポーターを使用することを選択した場合:
- 3*.*1*.* 監視したいクラスター(通常はプロダクションクラスターと呼ばれる)で、各ノードを構成してメトリクスを監視クラスターに送信します。`````xpack.monitoring.exporters`````設定の`````elasticsearch.yml`````ファイルにHTTPエクスポーターを構成します。例えば:
#### Yaml
``````yaml
xpack.monitoring.exporters:
id1:
type: http
host: ["http://es-mon-1:9200", "http://es-mon-2:9200"]
`
- 3.2. 監視クラスターでElasticセキュリティ機能が有効になっている場合、データが監視クラスターに送信されるときに適切な資格情報を提供する必要があります:
- 3.2.1. 監視クラスターに
remote_monitoring_agent
組み込みロールを持つユーザーを作成します。代わりに、remote_monitoring_user
組み込みユーザーを使用します。 - 3.2.2. 各ノードの
elasticsearch.yml
ファイルとキーストアにHTTPエクスポーター設定にユーザーIDとパスワード設定を追加します。
例えば:
- 3.2.1. 監視クラスターに
Yaml
xpack.monitoring.exporters:
id1:
type: http
host: ["http://es-mon-1:9200", "http://es-mon-2:9200"]
auth.username: remote_monitoring_user
# "xpack.monitoring.exporters.id1.auth.secure_password" must be set in the keystore
- 3.3. 監視クラスターで暗号化通信を使用するように構成した場合、
host
設定でHTTPSプロトコルを使用する必要があります。また、監視クラスター内のノードのアイデンティティを確認するために使用される信頼できるCA証明書を指定する必要があります。- Elasticsearchノードの信頼できる証明書にCA証明書を追加するには、
certificate_authorities
設定でPEMエンコードされた証明書の場所を指定できます。例えば:
- Elasticsearchノードの信頼できる証明書にCA証明書を追加するには、
Yaml
xpack.monitoring.exporters:
id1:
type: http
host: ["https://es-mon1:9200", "https://es-mon-2:9200"]
auth:
username: remote_monitoring_user
# "xpack.monitoring.exporters.id1.auth.secure_password" must be set in the keystore
ssl:
certificate_authorities: [ "/path/to/ca.crt" ]
- 代わりに、信頼できる証明書をトラストストア(証明書を含むJavaキーストアファイル)を使用して構成することもできます。例えば:
Yaml
xpack.monitoring.exporters:
id1:
type: http
host: ["https://es-mon1:9200", "https://es-mon-2:9200"]
auth:
username: remote_monitoring_user
# "xpack.monitoring.exporters.id1.auth.secure_password" must be set in the keystore
ssl:
truststore.path: /path/to/file
truststore.password: password
- 4. Kibana、Beats、Logstashなどのソースから監視データを監視クラスターにルーティングするようにクラスターを構成します。各製品を構成して監視データを収集および送信する方法については、クラスターの監視を参照してください。
- 5. プロダクションクラスターの
elasticsearch.yml
ファイルで設定を更新した場合、Elasticsearchを再起動します。Elasticsearchの停止およびElasticsearchの起動を参照してください。
ノードを再起動する前に、インストールプロセス中の不要なシャード再配置を避けるために、一時的にシャード割り当てを無効にすることを検討してください。 - 6. オプション: 監視データを保存するインデックスを構成する。
- 7. Kibanaで監視データを表示する。