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