Prometheus杂七杂八的东西

一些函数

  • scalar to vector
vector(s scalcar)

这个函数可以把标量转化成矢量(vector),但是不带标签。比如说想看今天是星期几,day_of_week这个函数的参数就是一个vector,直接传标量要报错:

day_of_week(time() + 3600 * 8)  //error
day_of_week(vector(time() + 3600 * 8))
  • on, ignore, group_left, group_right
    这几个函数直接解释要好一点:
    基础的模式是这样:
# 下面的都以这个作为例子
第一个vector的标签:{name, instance, service, method, host},第二个vector的标签{name, instance, service, method}

vector_1 <op> vector_2

这种就会去找两个vector标签和标签值都完全匹配的条目来做op这个操作。

  1. on

vector_1 <op> on({label_list}) vector_2

这个函数会只在前面和后面都出现的标签上面做完全匹配.

vector_1 + on(instance) vector_2

就只会找都有instance标签并且instance的值相同的条目进行计算

  1. ignoring
    这个函数跟on相反,忽略对一些标签的匹配
vector_1 + ignoring(instance) vector_2

忽略instance标签,其他的按照默认的情况匹配

  1. group_left
    针对第一个vector筛选出来的条目更多,但是两个vector的label可能不匹配,所以需要on或者ignore来限定标签。
    右边的条目可能会对应于多个左边的条目
vector_1 + ignore(instance,host) group_left vector_2

这个就代表在忽略instance和host的情况下,左边的vector可能会多出一些条目跟右边的一条条目匹配并作运算。

  1. group_right
    针对第二个vector筛选出来的条目更多,但是两个vector的label可能不匹配,所以需要on或者ignore来限定标签。
    跟上面的left相反。

操作符

  1. 计算操作符
    这些就是加减乘除之类的操作符,需要注意的是标签的全匹配

  2. and or unless

    1. vector_1 and vector_2
      and的意思是交集,在两个向量里面都出现过的,并且标签全匹配的条目才会出现。
    2. or
      or就是并集,两个向量里面都出现过的。
    3. unless
      unless是差集,就是会选出在第一个向量里面出现过的,但是在第二个向量里面没出现过的条目。

超时配置

<scrape_config>
# Per-scrape timeout when scraping this job.
[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]

这个配置相当于,请求metrics的时候,如果超过了这个配置的时间,那么就放弃这次metrics的请求

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值