使用 Metricbeat 收集 Kibana 监控数据
编辑使用 Metricbeat 收集 Kibana 监控数据
编辑在 6.4 及更高版本中,您可以使用 Metricbeat 收集有关 Kibana 的数据并将其发送到监控集群,而不是像旧版收集方法中所述的那样通过生产集群进行路由。
要了解有关监控的通用信息,请参阅监控集群。
-
禁用 Kibana 监控指标的默认收集。
在 Kibana 配置文件 (
kibana.yml
) 中添加以下设置monitoring.kibana.collection.enabled: false
将
monitoring.enabled
设置保留为其默认值 (true
)。有关更多信息,请参阅Kibana 中的监控设置。 - 启动 Kibana.
-
在生产集群中的每个节点上,将
xpack.monitoring.collection.enabled
设置为true
。默认情况下,它处于禁用状态 (false
)。您可以在每个节点上的
elasticsearch.yml
中或在整个集群中将其指定为动态集群设置。如果启用了 Elasticsearch 安全功能,您必须拥有monitor
集群权限才能查看集群设置,并且必须拥有manage
集群权限才能更改它们。-
在 Kibana 中
-
在 Web 浏览器中打开 Kibana。
如果您在本地运行 Kibana,请转到
https://127.0.0.1:5601/
。如果启用了 Elastic 安全功能,请登录。
- 在侧边导航栏中,单击 堆栈监控。如果数据收集被禁用,系统会提示您将其打开。
-
-
从控制台或命令行,在生产集群上将
xpack.monitoring.collection.enabled
设置为true
。例如,您可以使用以下 API 来查看和更改此设置
GET _cluster/settings PUT _cluster/settings { "persistent": { "xpack.monitoring.collection.enabled": true } }
有关更多信息,请参阅Elasticsearch 中的监控设置和集群更新设置。
-
- 在与 Kibana 相同的服务器上安装 Metricbeat。
-
在 Metricbeat 中启用 Kibana X-Pack 模块。
例如,要在
modules.d
目录中启用默认配置,请运行以下命令metricbeat modules enable kibana-xpack
-
在 Metricbeat 中配置 Kibana X-Pack 模块。
modules.d/kibana-xpack.yml
文件包含以下设置- module: kibana metricsets: - stats period: 10s hosts: ["localhost:5601"] #basepath: "" #username: "user" #password: "secret" xpack.enabled: true
默认情况下,该模块从
localhost:5601
收集 Kibana 监控指标。如果该主机和端口号不正确,则必须更新hosts
设置。如果您将 Kibana 配置为使用加密通信,则必须通过 HTTPS 访问它。例如,使用类似https://127.0.0.1:5601
的hosts
设置。如果启用了 Elastic 安全功能,您还必须提供用户 ID 和密码,以便 Metricbeat 可以成功收集指标
-
可选:禁用 Metricbeat 中的 system 模块。
默认情况下,system 模块已启用。但是,它收集的信息不会显示在 Kibana 的 监控 页面上。除非您想将该信息用于其他目的,否则请运行以下命令
metricbeat modules disable system
-
确定将监控数据发送到哪里。
在生产环境中,我们强烈建议使用单独的集群(称为监控集群)来存储数据。使用单独的监控集群可防止生产集群中断影响您访问监控数据的能力。它还可以防止监控活动影响生产集群的性能。
例如,在 Metricbeat 配置文件 (
metricbeat.yml
) 中指定 Elasticsearch 输出信息output.elasticsearch: # Array of hosts to connect to. hosts: ["http://es-mon-1:9200", "http://es-mon2:9200"] # Optional protocol and basic auth credentials. #protocol: "https" #username: "elastic" #password: "changeme"
如果您将监控集群配置为使用加密通信,则必须通过 HTTPS 访问它。例如,使用类似
https://es-mon-1:9200
的hosts
设置。Elasticsearch 监控功能使用 ingest 管道。存储监控数据的集群必须至少有一个具有
ingest
角色的节点。如果监控集群上启用了 Elasticsearch 安全功能,则必须提供有效的用户 ID 和密码,以便 Metricbeat 可以成功发送指标
有关这些配置选项的更多信息,请参阅配置 Elasticsearch 输出。
- 启动 Metricbeat.
- 在 Kibana 中查看监控数据.