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 的主要特性。