使用旧版收集器收集监控数据
编辑使用旧版收集器收集监控数据编辑
7.16 版中已弃用。
不建议使用 Elasticsearch 监控插件来收集和传送监控数据。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 来查看和更改此设置
response = client.cluster.get_settings puts response
GET _cluster/settings
response = client.cluster.put_settings( body: { persistent: { 'xpack.monitoring.collection.enabled' => true } } ) puts 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 中查看监控数据.