Metricbeat 关键特性edit

Metricbeat 拥有一些对其实现方式至关重要的关键特性。

Metricbeat 错误事件edit

Metricbeat 发送的不仅仅是指标。当无法检索指标时,它会发送错误事件。错误不仅仅是一个标记,而是在从主机系统获取过程中创建的完整错误字符串。这使您可以监控指标以及指标监控期间发生的任何错误。

由于您可以看到完整的错误消息,因此您可以更快地查明错误。Metricbeat 安装在主机上的本地位置,这意味着您可以将本地发生的错误与其他问题(例如网络问题)区分开来。

每个指标集都基于预定义的时间段进行检索,因此当 Metricbeat 无法在多个时间间隔内检索指标时,您可以推断主机或主机连接可能存在问题。

获取数据时不进行聚合edit

Metricbeat 不进行诸如 gauge、sum、counter 等聚合操作。Metricbeat 将从主机检索到的原始数据发送到输出进行处理。当使用 Elasticsearch 时,这具有以下优势:所有原始数据都可以在 Elasticsearch 主机上用于深入了解详细信息,并且可以随时重新处理数据。它还降低了 Metricbeat 的复杂性。

发送的不仅仅是数字edit

Metricbeat 发送的不仅仅是数字。Metricbeat 发送的指标还可以包含字符串以报告状态信息。当您使用 Elasticsearch 存储指标数据时,这很有用。由于每个指标集都有一个预定义的结构,因此 Elasticsearch 预先知道将在 Elasticsearch 中存储哪些类型,并且可以优化存储。

有关每个指标的基本元信息(例如主机)也会作为每个事件的一部分发送。

一个事件中包含多个指标edit

Metricbeat 创建的每个事件不包含单个指标,而是包含指标列表。这意味着您可以通过单个请求检索主机中的所有指标,从而减少主机上的负载。如果您将指标发送到 Elasticsearch 作为输出,Elasticsearch 可以直接将指标存储和查询为嵌套的 JSON 文档,这使得将指标数据发送到 Elasticsearch 非常高效。

由于完整的原始事件数据可用,因此 Metricbeat 或 Elasticsearch 可以在以后对数据进行任何必要的转换。例如,如果您需要以 Metrics2.0 格式存储数据,您可以通过将完整事件拆分为多个 metrics2.0 事件来从现有事件中生成格式。

有关每个指标类型的信息存储在映射模板中。所有指标事件共有的元信息(例如主机和时间戳)是事件结构本身的一部分,并且仅为指标集中的所有事件存储一次。

将所有相关指标放在单个事件中,也可以在服务的某个指标看起来不正常时更容易查看其他值。