Metricbeat 工作原理
编辑Metricbeat 工作原理编辑
Metricbeat 由模块和指标集组成。Metricbeat 模块定义了从特定服务(如 Redis、MySQL 等)收集数据的基本逻辑。模块指定了有关服务的详细信息,包括如何连接、收集指标的频率以及要收集的指标。
每个模块都有一个或多个指标集。指标集是模块中负责获取和构建数据的部分。指标集不是将每个指标作为单独的事件收集,而是通过对远程系统的一次请求来检索多个相关指标的列表。例如,Redis 模块提供了一个 info
指标集,它通过运行 INFO
命令并解析返回的结果来收集 Redis 的信息和统计信息。
同样,MySQL 模块提供了一个 status
指标集,它通过运行 SHOW GLOBAL STATUS
SQL 查询来收集 MySQL 的数据。指标集通过将一组相关指标分组在由远程服务器返回的单个请求中,使您更容易操作。大多数模块都有默认的指标集,如果没有任何用户启用的指标集,这些指标集将被启用。
Metricbeat 通过定期查询主机系统来检索指标,查询频率基于您在配置模块时指定的 period
值。由于多个指标集可以向同一服务发送请求,因此 Metricbeat 会尽可能重用连接。如果 Metricbeat 在 timeout
配置设置指定的时间内无法连接到主机系统,则会返回错误。Metricbeat 异步发送事件,这意味着事件检索不会被确认。如果配置的输出不可用,事件可能会丢失。
当 Metricbeat 遇到错误(例如,当它无法连接到主机系统时),它会向指定的输出发送事件错误。这意味着 Metricbeat 始终会发送事件,即使发生故障。这使您可以监控错误并查看调试消息,以帮助您诊断错误原因。
以下主题提供了有关 Metricbeat 事件结构的更多详细信息
有关使用 Metricbeat 的优势的更多信息,请参阅 关键的 Metricbeat 功能。