使用 InfluxDB 进行基础设施监控 | 现场演示
Prometheus度量
Prometheus 存储四种监控所需的度量类型:计数器、仪表、直方图和摘要。
一旦您使用目标列表配置了 Prometheus,它就可以开始检索度量。Prometheus 可用四种度量类型来存储:计数器、仪表、直方图和摘要。这些度量类型满足大多数用例的需求,并存在于 Prometheus 客户端库中,包括 Go、Java、Ruby 和 Python。
计数器
Prometheus 计数器度量用于跟踪请求数量、错误计数或完成的任务数。因此,计数器永远不会减少,并且不断增加值(即单调递增的值),这些值以时间序列的形式公开。这是设计决定的,并且需要客户端重启以重置计数器。计数器也有助于理解值上升的速度。
仪表
仪表度量是点时间度量,可以增加和减少。由于这些度量可以上升或下降,您不使用仪表度量来生成速率(请使用计数器度量)。仪表度量适用于测量当前内存使用量、队列中的项目数量(队列大小)、正在进行的请求数量或并发请求数量。
直方图
直方图度量适用于聚合度量,这些度量计算平均值或百分位数,包括请求持续时间、响应大小和测量应用程序性能的 Apdex 分数。直方图是您预先通过使用直方图桶中的默认定义或自定义值确定的样本观察值。
摘要
摘要度量适用于精确的四分位数。摘要对观察值进行采样,提供观察值的总数和观察值的总和,并计算四分位数。摘要应用于对单个值的多次测量,允许计算平均值或百分位数。摘要的典型用例包括请求持续时间和响应大小。
Prometheus 度量和 InfluxDB 度量之间的区别
一般来说,Prometheus Metrics 和 InfluxDB Metrics 之间的一个关键区别在于收集机制。Prometheus Metrics 通过抓取端点进行收集,而 InfluxDB Metrics 通过将指标推送到 InfluxDB 端点进行收集。然而,InfluxDB 有一套抓取器,允许您从可 HTTP 访问的端点拉取 Prometheus 格式的指标并将其存储在 InfluxDB 中。
Prometheus 指标和 InfluxDB 指标之间的另一个区别是,Prometheus 收集并存储时间序列数据的汇总,而 InfluxDB 收集每个数据点。两者各有优点,选择哪一种应取决于您的用例。如果您需要高分辨率数据,InfluxDB 可以高效地收集、存储和处理这些数据。但如果汇总数据足以满足您的需求,Prometheus 可能是您最佳的选择。