使用 Metricbeat 收集 Logstash 监控数据
编辑使用 Metricbeat 收集 Logstash 监控数据
编辑您可以使用 Metricbeat 收集关于 Logstash 的数据并将其发送到监控集群。Metricbeat 收集的优点是,即使 Logstash 实例未运行,监控代理仍然保持活动状态。
此步骤需要配置了 Metricbeat 监控的 Elasticsearch。
要收集和发送监控数据
想要改用 Elastic Agent 吗?请参考 收集用于堆栈监控的监控数据。
禁用默认的 Logstash 监控指标收集
编辑将 logstash.yml
中的 monitoring.enabled
设置为 false
以禁用默认监控
monitoring.enabled: false
确定目标 Elasticsearch 集群
编辑您需要通过指定 cluster_uuid
来确定 Logstash 将在堆栈监控 UI 中绑定指标到哪个 Elasticsearch 集群。当管道包含 Elasticsearch 输出插件时,将自动计算 cluster_uuid
,并且指标应在没有任何其他设置的情况下绑定。
要覆盖自动值,或者如果您的管道不包含任何 Elasticsearch 输出插件,您可以通过在配置文件(logstash.yml)中的 monitoring.cluster_uuid
设置中定义目标集群,将 Logstash 的指标绑定到特定集群。
monitoring.cluster_uuid: PRODUCTION_ES_CLUSTER_UUID
请参考 Elasticsearch 集群统计信息页面,了解如何获取您的集群 cluster_uuid
。
安装和配置 Metricbeat
编辑- 在与 Logstash 相同的服务器上安装 Metricbeat。
-
在 Metricbeat 中启用
logstash-xpack
模块。要启用 Metricbeat
modules.d
目录中的默认配置,请运行deb 或 rpm
metricbeat modules enable logstash-xpack
linux 或 mac
./metricbeat modules enable logstash-xpack
win
PS > .\metricbeat.exe modules enable logstash-xpack
-
配置 Metricbeat 中的
logstash-xpack
模块。modules.d/logstash-xpack.yml
文件包含以下设置- module: logstash metricsets: - node - node_stats period: 10s hosts: ["localhost:9600"] #username: "user" #password: "secret" xpack.enabled: true
设置
hosts
、username
和password
以使用 Logstash 进行身份验证。对于其他模块设置,建议您接受默认值。默认情况下,该模块从
localhost:9600
收集 Logstash 监控数据。要监控多个 Logstash 实例,请指定主机列表,例如
hosts: ["https://127.0.0.1:9601","https://127.0.0.1:9602","https://127.0.0.1:9603"]
Elastic 安全。 默认情况下启用 Elastic 安全功能。您必须提供用户 ID 和密码,以便 Metricbeat 可以成功收集指标
- 在生产集群上创建一个具有
remote_monitoring_collector
内置角色的用户。 - 将
username
和password
设置添加到模块配置文件 (logstash-xpack.yml
)。
- 在生产集群上创建一个具有
-
可选:禁用 Metricbeat 中的系统模块。
默认情况下,启用系统模块。但是,它收集的信息不会显示在 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 节点。
Elastic 安全。 默认情况下启用 Elastic 安全功能。您必须提供用户 ID 和密码,以便 Metricbeat 可以成功发送指标
有关这些配置选项的更多信息,请参阅配置 Elasticsearch 输出。
- 启动 Metricbeat 以开始收集监控数据。
- 在 Kibana 中查看监控数据.
您的监控设置已完成。