nad*_*gam 2 time-series prometheus
我正在尝试了解 Prometheus 的基础知识,在阅读了官方文档和一些博客后,我仍然不确定数据模型的核心是什么。现在我只指计数器
这就是我的理解,我确信它不准确:/所以如果有人能够对这些主题有所启发,我会很高兴。
让我们从基础开始。
在普罗米修斯中,时间序列是一系列(timestamp, value)按 排序的对timestamp。只能value包含数值(整数或小数)。
普罗米修斯中的每个时间序列都有一个名称。例如,temperature或requests_total。此外,每个时间序列都可以有一组{key="value"}标签。例如,temperature{city="Paris"}或requests_total{instance="host123",job="foo_app"}。
时间序列由其名称及其标签唯一标识。例如,temperature{city="Paris"}和temperature{city="London"}是两个不同的时间序列,因为它们的标签值不同city。
旁注:时间序列名称在 Prometheus 中可以称为__name__伪标签。所以,temperature{city="Paris"}并{__name__="temperature",city="Paris"}参考同一时间序列。
Prometheus 允许使用例如系列选择器来选择与这些选择器匹配的时间序列。例如,temperature选择器选择所有名称为 的时间序列temperature,而{city=~"London|Paris"}选择所有标签city包含London或Paris值的时间序列。
计数器是一个从零开始并包含随时间非递减的值序列的时间序列。唯一的例外是服务重新启动后计数器重置为零。计数器通常用于对某些事件进行计数,例如已处理的请求。例如,计算路径上服务的请求http_requests_total{method="GET",path="/foo/bar"}数。GET/foo/bar
Prometheus 为计数器指标提供了有用的函数,例如rate()和increase():
increase(m[d])m计算在给定的后视窗口上匹配系列选择器的计数器的增加d。例如,increase(http_requests_total[1h])返回名称为 的时间序列在过去一小时内的请求数http_requests_total。它针对每个时间序列匹配单独返回结果m。
rate(m[d])m计算给定lookbehind window 上与系列选择器匹配的计数器指标的平均每秒增长率d。例如,rate(http_requests_total[1h])计算名称为 的时间序列在过去一小时内的平均每秒请求率http_requests_total。
重要提示:increase()和rate()函数仅期望计数器作为其输入。如果您将非计数器时间序列传递给这些函数,那么它们可能会返回意外(也称为垃圾)结果。
Prometheus 支持其他度量类型。查看支持的指标类型列表
以下文章包含对 Prometheus 新手有用的其他信息:
PS Prometheus 等概念range vector非常instant vector混乱。这就是为什么我不建议使用它们。有关详细信息,请参阅此答案。
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |