使用旧版收集器收集监控数据
编辑使用旧版收集器收集监控数据
编辑在 7.16 版本中已弃用。
使用 Elasticsearch Monitoring 插件收集和发送监控数据已被弃用。建议使用 Elastic Agent 和 Metricbeat 来收集和发送监控数据到监控集群。如果您之前配置了旧版收集方法,则应迁移到使用Elastic Agent或Metricbeat收集方法。
这种收集 Elasticsearch 指标的方法涉及使用导出器将指标发送到监控集群。
高级监控设置使您可以控制数据收集的频率、配置超时以及设置本地存储的监控索引的保留期。您还可以调整监控数据的显示方式。
要了解有关监控的常规信息,请参阅监控集群。
-
配置您的集群以收集监控数据
-
验证集群中每个节点的
xpack.monitoring.elasticsearch.collection.enabled
设置是否为true
,这是其默认值。您可以在每个节点的
elasticsearch.yml
中指定此设置,也可以将其作为动态集群设置跨集群指定。如果启用了 Elasticsearch 安全功能,您必须具有monitor
集群权限才能查看集群设置,并且必须具有manage
集群权限才能更改它们。 -
将集群中每个节点的
xpack.monitoring.collection.enabled
设置为true
。默认情况下,它是禁用的 (false
)。您可以在每个节点的
elasticsearch.yml
中指定此设置,也可以将其作为动态集群设置跨集群指定。如果启用了 Elasticsearch 安全功能,您必须具有monitor
集群权限才能查看集群设置,并且必须具有manage
集群权限才能更改它们。例如,使用以下 API 查看和更改此设置
resp = client.cluster.get_settings() print(resp)
response = client.cluster.get_settings puts response
const response = await client.cluster.getSettings(); console.log(response);
GET _cluster/settings
resp = client.cluster.put_settings( persistent={ "xpack.monitoring.collection.enabled": True }, ) print(resp)
response = client.cluster.put_settings( body: { persistent: { 'xpack.monitoring.collection.enabled' => true } } ) puts response
const response = await client.cluster.putSettings({ persistent: { "xpack.monitoring.collection.enabled": true, }, }); console.log(response);
PUT _cluster/settings { "persistent": { "xpack.monitoring.collection.enabled": true } }
或者,您可以在 Kibana 中启用此设置。在侧边导航栏中,单击监控。如果数据收集被禁用,系统会提示您将其打开。
-
可选:指定您要监控的索引。
默认情况下,监控代理会从所有 Elasticsearch 索引中收集数据。要从特定索引中收集数据,请配置
xpack.monitoring.collection.indices
设置。您可以将多个索引指定为逗号分隔的列表,或使用索引模式来匹配多个索引。例如xpack.monitoring.collection.indices: logstash-*, index1, test2
您可以将
-
添加到索引名称或模式前面,以显式排除它们。例如,要包括所有以test
开头的索引,但排除test3
,您可以指定test*,-test3
。要包括诸如 .security 和 .kibana 之类的系统索引,请将.*
添加到包含的名称列表中。例如.*,test*,-test3
- 可选:指定收集监控数据的频率。
xpack.monitoring.collection.interval
设置的默认值为 10 秒。请参阅监控设置。
-
-
确定在哪里存储监控数据。
默认情况下,数据通过使用
local
导出器存储在同一集群上。或者,您可以使用http
导出器将数据发送到单独的监控集群。Elasticsearch 监控功能使用提取管道,因此存储监控数据的集群必须至少有一个提取节点。
有关典型监控架构的更多信息,请参阅工作原理。
-
如果您选择使用
http
导出器-
在要监控的集群(通常称为生产集群)上,配置每个节点以将指标发送到您的监控集群。在
elasticsearch.yml
文件中的xpack.monitoring.exporters
设置中配置 HTTP 导出器。例如xpack.monitoring.exporters: id1: type: http host: ["http://es-mon-1:9200", "http://es-mon-2:9200"]
-
如果监控集群上启用了 Elastic 安全功能,则在将数据发送到监控集群时,您必须提供适当的凭据
- 在监控集群上创建一个具有
remote_monitoring_agent
内置角色的用户。或者,使用remote_monitoring_user
内置用户。 -
将用户 ID 和密码设置添加到每个节点的
elasticsearch.yml
文件和密钥库中的 HTTP 导出器设置中。例如
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
- 在监控集群上创建一个具有
-
如果您将监控集群配置为使用加密通信,则必须在
host
设置中使用 HTTPS 协议。您还必须指定用于验证监控集群中节点身份的可信 CA 证书。-
要将 CA 证书添加到 Elasticsearch 节点的可信证书,您可以使用
certificate_authorities
设置指定 PEM 编码证书的位置。例如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 密钥库文件)配置可信证书。例如
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
-
-
- 配置您的集群以将来自 Kibana、Beats 和 Logstash 等来源的监控数据路由到监控集群。有关配置每个产品以收集和发送监控数据的信息,请参阅监控集群。
-
如果您更新了生产集群上的
elasticsearch.yml
文件中的设置,请重新启动 Elasticsearch。请参阅停止 Elasticsearch和启动 Elasticsearch。您可能希望在重新启动节点之前暂时禁用分片分配,以避免在安装过程中不必要的分片重新分配。
- 可选:配置存储监控数据的索引。
- 在 Kibana 中查看监控数据.