【博客669】prometheus rate()选择range范围的最佳实践

这篇具有很好参考价值的文章主要介绍了【博客669】prometheus rate()选择range范围的最佳实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

prometheus rate()选择range范围的最佳实践

1、场景

我们使用rate来计算counter的速率,那么rate的range范围应该选择哪一个?有没有固定的答案呢?30s,1m?

答案:没有,要根据你的scrap_interval来决定的

2、rate()选择range范围的最佳实践:

选择范围的一般规则是至少应为刮擦间隔的 4 倍。这是为了允许各种竞争条件,并对失败的刮擦具有弹性。

剖析:

假设您有一个 10 秒的抓取间隔,并且抓取从 t=0 开始。速率函数至少需要两个样本才能工作,因此对于 t=10 的查询,您需要 1 倍的抓取间隔。在 t=20 时,当时的刮擦可能尚未完全摄取,因此 2x 将为您提供两个样本回到 t=0。在 t=29 时,刮擦可能仍未被摄取,因此您需要 ~3x 才能安全。最后,您想对失败的擦除具有弹性。如果 t=20 抓取失败并且你在 t=39 但 t=30 抓取仍在进行中,那么你需要 ~4x 才能看到 t=0 和 t=10 样本。因此 40s 速率(即rate(my_counter_total[40s])将是最小安全范围。通常,对于 1m 的速率,您会将其四舍五入到 60s。

参考资料: what-range-should-i-use-with-rate

Let’s say you had a 10s scrape interval, and scrapes started at t=0. The rate function needs at least two samples to work, so for a query at t=10 you’d need 1x the scrape interval. At t=20, the scrape at that time may not have been fully ingested yet so 2x will cover you for two samples back to t=0. At t=29 that scrape might still not have been ingested, so you’d need ~3x to be safe. Finally you want to be resilient to a failed scrape. If the t=20 scrape fails and you’re at t=39 but the t=30 scrape is still ongoing, then you’d need ~4x to see both the t=0 and t=10 samples. So a 40s rate (i.e. rate(my_counter_total[40s]) would be the minimum safe range. Usually you would round this up to 60s for a 1m rate.

图解:
【博客669】prometheus rate()选择range范围的最佳实践

3、rate选择range最佳实践总结

  • 选择太大的范围要好好考虑。如果您采用超过一个小时的速率并对此发出警报,那么在基本条件停止之前一切都很好,然后您必须等待一个小时直到警报消失。因此,一方面,较长的范围可以更容易地发现趋势,但平均效应也会增加反应时间。

  • 如果您确实希望获得不同范围内的平均值(并且比率基本上是平均值),请不要为每个可能的范围创建记录规则。这很浪费,会造成混乱,而且很难维护。这是因为您无法比较不同范围内的速率(例如,5m 速率和 10m 速率不能直接比较),并且您必须跟踪哪个用于何处。

  • 使用一个范围至少是你的抓取间隔的 4 倍,在你的组织中选择一个一致的范围来记录规则,avg_over_time如果你需要一个较长时期内的平均值用于图表和警报,则使用。文章来源地址https://www.toymoban.com/news/detail-496311.html

到了这里,关于【博客669】prometheus rate()选择range范围的最佳实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 项目管理软件选择指南:最佳实践与避坑指南

    当今企业中,协作工具是必不可少的,每个企业都会寻找最适合自己的协作工具来提高工作效率。在这些协作工具中,Zoho Projects项目协作工具是最常用的一种,因为它能够为团队提供一个集任务、项目、文档、IM、目标、日历、甘特图、工时、审批等多个功能于一体的协作环

    2024年02月16日
    浏览(45)
  • 选择结构还是类?C#中的最佳实践与性能优化指南

      概述: 在C#中,选择使用结构(struct)而非类(class)取决于数据大小、不可变性和性能需求。结构适用于小型、不可变的数据对象,具有轻量级和高性能的优势。然而,对于复杂对象和需要继承的情况,应选择类。以下是一个简单的结构示例,演示了结构在栈上分配内存

    2024年04月09日
    浏览(78)
  • Go语言范围Range

    Go 语言中 range 用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数 组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。 for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。 涉及指针时需要注意,v 是个

    2024年02月11日
    浏览(37)
  • Elastic Stack最佳实践系列:Beats->ES,一个更轻型的架构选择

    说起开源的日志分析系统,ELK几乎无人不晓,这个生态并非是Elastic特意而为,毕竟Elasticsearch的初心是分布式的搜索引擎,被广泛用作日志系统纯粹一个“美丽的意外”,这是社区使用者推动而成。而现在各大云厂商推广自己的日志服务时,也往往将各种指标对标于ELK,可见

    2023年04月12日
    浏览(40)
  • ES系列:range范围查询使用举例

    目录 数据范围 时间范围 完整日期方式 字母日期方式 range过滤允许我们按照指定范围查找一批数据

    2024年02月11日
    浏览(58)
  • C++系列十:日常学习-范围库Ranges

    目录 前言 介绍 举例: 不错麽 内容参考 https://zh.cppreference.com/w/cpp/ranges Chatjpt 总结注意点: 确保你的C++编译器支持C++20标准 包含 ranges 头文件 views的操作是惰性的,它们不会立即执行,而是在需要时计算。这意味着你可以构建复杂的管道,而不必担心性能问题。提供性能优势

    2024年02月08日
    浏览(50)
  • ElasticSearch序列 - SpringBoot整合ES:范围查询 range

    01. ElasticSearch range查询是什么? Elasticsearch 中的 range 查询可以用于查询某个字段在一定范围内的文档。 range 查询可同时提供包含和不包含这两种范围表达式,可供组合的选项如下: gt : 大于(greater than) lt : 小于(less than) gte : = 大于或等于(greater than or equal to) lte : = 小于

    2024年02月09日
    浏览(44)
  • 【Go】Go 语言教程--Go 语言范围(Range)(十五)

    往期回顾: Go 语言教程–介绍(一) Go 语言教程–语言结构(二) Go 语言教程–语言结构(三) Go 语言教程–数据类型(四) Go 语言教程–语言变量(五) Go 语言教程–GO语言常量(六) Go 语言教程–GO语言运算符(七) Go 语言教程–GO条件和循环语句(八) Go 语言教程

    2024年02月16日
    浏览(47)
  • 开窗函数的使用详解(窗口范围ROWS与RANGE图文详解)

    函数名(参数) OVER (PARTITION BY子句 ORDER BY子句 ROWS/RANGE子句) 由三部分组成: 函数名:如sum、max、min、count、avg等聚合函数以及lead、lag行比较函数等; over: ,表示前面的函数是分析函数,不是普通的集合函数; 分组子句:over后面挂号内的内容; 分析子句又由下

    2024年02月04日
    浏览(75)
  • R语言【paleobioDB】——pbdb_temp_range():绘制指定类群的时空范围

    Package  paleobioDB  version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 参数【data】 :输入的数据,数据帧格式。可以通过 pbdb_occurrences() 函数 传参 show = c(\\\"phylo\\\", \\\"ident\\\")   获得数

    2024年01月19日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包