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 的主要功能。