当前位置: 首页 > news >正文

四海网络网站建设网站模板图片

四海网络网站建设,网站模板图片,wordpress css代码背景色,深圳市9号文PromQL如何实现Left joins以及不同metrics之间的复杂联合查询 1、场景 我们需要在PromQL中实现类似SQL中的连接查询: SELECT a.value*b.value, * FROM a, b2、不同metrics之间的复杂联合查询 瞬时向量与瞬时向量之间进行数学运算: 例如:根…

PromQL如何实现Left joins以及不同metrics之间的复杂联合查询

1、场景

我们需要在PromQL中实现类似SQL中的连接查询:

SELECT a.value*b.value, * FROM a, b

2、不同metrics之间的复杂联合查询

  • 瞬时向量与瞬时向量之间进行数学运算:

    例如:根据node_disk_bytes_written和node_disk_bytes_read获取主机磁盘IO的总量:
    node_disk_bytes_written + node_disk_bytes_read

    这个表达式工作原理:

    • 依次找到与左边向量元素匹配(标签完全一致)的右边向量元素进行运算,如果没找到匹配元素,则直接丢弃。同时新的时间序列将不会包含指标名称。
    • 该表达式返回结果的示例如下所示:
      {device=“sda”,instance=“localhost:9100”,job=“node_exporter”}=>1634967552@1518146427.807 + 864551424@1518146427.807
  • 使用bool修饰符改变布尔运算符的行为

    布尔运算符的默认行为是对时序数据进行过滤。而有时候需要的是真正的布尔结果。例如:
    只需知道HTTP请求量是否>=1000,若大于等于1000则返回1(true)否则返回0(false)。

    这时可以使用bool修饰符改变布尔运算的默认行为。 例如:http_requests_total > bool 1000

    使用bool修改符后,布尔运算不会对时间序列进行过滤,而是直接依次瞬时向量中的各个样本数据与标量的比较结果0或者1。从而形成一条新的时间序列:
    http_requests_total{code=“200”,instance=“localhost:9090”,method=“get”} 1

  • 一对一匹配

    一对一匹配模式会从操作符两边表达式获取的瞬时向量依次比较并找到唯一匹配(标签完全一致)的样本值。

    默认情况下,使用表达式:vector1 vector2

    操作符两边表达式标签不一致,可用on(label list)或ignoring(label list)修改便签匹配行为。

    • 使用ignoreing可以在匹配时忽略某些便签:
      • {vector expr} 运算符 ignoring(
    • 而on则用于将匹配行为限定在某些便签之内。
      • {vector expr} 运算符 on(

    例如当存在样本:
    method_code:http_errors:rate5m{method=“get”, code=“500”} 24
    method_code:http_errors:rate5m{method=“get”, code=“404”} 30
    method_code:http_errors:rate5m{method=“put”, code=“501”} 3
    method_code:http_errors:rate5m{method=“post”, code=“500”} 6
    method_code:http_errors:rate5m{method=“post”, code=“404”} 21

    method:http_requests:rate5m{method=“get”} 600
    method:http_requests:rate5m{method=“del”} 34
    method:http_requests:rate5m{method=“post”} 120

    使用PromQL表达式:
    method_code:http_errors:rate5m{code=“500”} / ignoring(code) method:http_requests:rate5m

    该表达式会返回在过去5分钟内,HTTP请求状态码为500的在所有请求中的比例。
    如果没有使用ignoring(code),操作符两边表达式返回的瞬时向量中将找不到任何一个标签完全相同的匹配项,因此结果如下:

    {method=“get”} 0.04 // 24 / 600
    {method=“post”} 0.05 // 6 / 120

    同时由于method为put和del的样本找不到匹配项,因此不会出现在结果当中。

  • 多对一和一对多:即下面的Left joins与Right joins

    多对一和一对多两种匹配模式指的是“一”侧的每一个向量元素可以与"多"侧的多个元素匹配的情况。在这种情况下,必须使用group修饰符:group_left或者group_right来确定哪一个向量具有更高的基数(充当“多”的角色)。

  • 聚合查询

    • 常见聚合函数:
      sum (calculate sum over dimensions)
      min (select minimum over dimensions)
      max (select maximum over dimensions)
      avg (calculate the average over dimensions)
      group (all values in the resulting vector are 1)
      stddev (calculate population standard deviation over dimensions)
      stdvar (calculate population standard variance over dimensions)
      count (count number of elements in the vector)
      count_values (count number of elements with the same value)
      bottomk (smallest k elements by sample value)
      topk (largest k elements by sample value)
      quantile (calculate φ-quantile (0 ≤ φ ≤ 1) over dimensions)

    • 用法

      • 运算符 [without|by (label list)] ([parameter,] {vector expr})
      • 运算符([parameter,] {vector expr}) [without|by (label list)]
    • 区别:

      • without 从结果向量中删除列出的标签,而所有其他标签都保留在输出中。 by 做相反的事情并删除未在 by 子句中列出的标签,即使它们的标签值在向量的所有元素之间都是相同的
    • example:

      • sum without (instance) (http_requests_total)
      • sum by (application, group) (http_requests_total)

3、PromQL如何实现Left joins,即实现:多对一和一对多查询

group_left或者group_right:

多对一和一对多两种匹配模式指的是“一”侧的每一个向量元素可以与"多"侧的多个元素匹配的情况。在这种情况下,必须使用group修饰符:group_left或者group_right来确定哪一个向量具有更高的基数(充当“多”的角色)。

语法:

<vector expr> <bin-op> ignoring(<label list>) group_left(<label list>) <vector expr>
<vector expr> <bin-op> ignoring(<label list>) group_right(<label list>) <vector expr>
<vector expr> <bin-op> on(<label list>) group_left(<label list>) <vector expr>
<vector expr> <bin-op> on(<label list>) group_right(<label list>) <vector expr>

场景:

多对一和一对多两种模式一定是出现在操作符两侧表达式返回的向量标签不一致的情况。因此需要使用ignoring和on修饰符来排除或者限定匹配的标签列表。

示例:

method_code:http_errors:rate5m{method="get", code="500"}  24
method_code:http_errors:rate5m{method="get", code="404"}  30
method_code:http_errors:rate5m{method="put", code="501"}  3
method_code:http_errors:rate5m{method="post", code="500"} 6
method_code:http_errors:rate5m{method="post", code="404"} 21method:http_requests:rate5m{method="get"}  600
method:http_requests:rate5m{method="del"}  34
method:http_requests:rate5m{method="post"} 120

查询:

method_code:http_errors:rate5m / ignoring(code) group_left method:http_requests:rate5m

该表达式中,左向量method_code:http_errors:rate5m包含两个标签method和code。而右向量method:http_requests:rate5m中只包含一个标签method,因此匹配时需要使用ignoring限定匹配的标签为code。 在限定匹配标签后,右向量中的元素可能匹配到多个左向量中的元素 因此该表达式的匹配模式为多对一,需要使用group修饰符group_left指定左向量具有更好的基数。

最终的运算结果如下:

{method="get", code="500"}  0.04            //  24 / 600
{method="get", code="404"}  0.05            //  30 / 600
{method="post", code="500"} 0.05            //   6 / 120
{method="post", code="404"} 0.175           //  21 / 120

提醒:group修饰符只能在比较和数学运算符中使用。在逻辑运算and,unless和or才注意操作中默认与右向量中的所有元素进行匹配。

4、PromQL vs SQL

示例1:

SQL:

SELECT a.value*b.value, * FROM a, b

PromQL:

a * b

示例2:

SQL:

SELECT a.value * b.value, a.foo, a.bar 
FROM a INNER JOIN b ON (a.foo == b.foo AND a.bar == b.bar)

PromQL:

a * on (foo, bar) b

示例3:

SQL:

SELECT a.value * b.value, a.*, b.baz
FROM a JOIN b ON (a.foo == b.foo AND a.bar == b.bar)

PromQL:

a * on (foo, bar) group_left(baz) b

文章转载自:
http://gasdynamic.bbmx.cn
http://deepness.bbmx.cn
http://bruxism.bbmx.cn
http://fgcm.bbmx.cn
http://bucuresti.bbmx.cn
http://mindful.bbmx.cn
http://reeducation.bbmx.cn
http://ballproof.bbmx.cn
http://been.bbmx.cn
http://samely.bbmx.cn
http://piezocrystal.bbmx.cn
http://jodo.bbmx.cn
http://tsunyi.bbmx.cn
http://aneurismal.bbmx.cn
http://retrofocus.bbmx.cn
http://sukkur.bbmx.cn
http://rebeck.bbmx.cn
http://schizogonia.bbmx.cn
http://baudrons.bbmx.cn
http://bur.bbmx.cn
http://winterbeaten.bbmx.cn
http://wildcatter.bbmx.cn
http://formulary.bbmx.cn
http://frontlessly.bbmx.cn
http://hl.bbmx.cn
http://actual.bbmx.cn
http://putamen.bbmx.cn
http://entirety.bbmx.cn
http://rockfest.bbmx.cn
http://reedy.bbmx.cn
http://yali.bbmx.cn
http://loll.bbmx.cn
http://gotist.bbmx.cn
http://sensationalism.bbmx.cn
http://etyma.bbmx.cn
http://scintillation.bbmx.cn
http://palmerworm.bbmx.cn
http://saltine.bbmx.cn
http://adjustability.bbmx.cn
http://coadventure.bbmx.cn
http://ecstasy.bbmx.cn
http://recordative.bbmx.cn
http://reinvade.bbmx.cn
http://outsit.bbmx.cn
http://follicle.bbmx.cn
http://palladous.bbmx.cn
http://baptism.bbmx.cn
http://disproval.bbmx.cn
http://lowbred.bbmx.cn
http://truss.bbmx.cn
http://adapter.bbmx.cn
http://bacciferous.bbmx.cn
http://advised.bbmx.cn
http://revoice.bbmx.cn
http://readjourn.bbmx.cn
http://gaga.bbmx.cn
http://medichair.bbmx.cn
http://deaconship.bbmx.cn
http://injudicious.bbmx.cn
http://overeducate.bbmx.cn
http://nether.bbmx.cn
http://rutland.bbmx.cn
http://antiodontalgic.bbmx.cn
http://corruptive.bbmx.cn
http://eff.bbmx.cn
http://bloomy.bbmx.cn
http://dulcimore.bbmx.cn
http://bobbin.bbmx.cn
http://nemesia.bbmx.cn
http://unleavened.bbmx.cn
http://quatorze.bbmx.cn
http://latifundio.bbmx.cn
http://ataxy.bbmx.cn
http://solidary.bbmx.cn
http://heterogamy.bbmx.cn
http://frumpy.bbmx.cn
http://wisent.bbmx.cn
http://magda.bbmx.cn
http://jokebook.bbmx.cn
http://popover.bbmx.cn
http://matriculation.bbmx.cn
http://trek.bbmx.cn
http://mitosis.bbmx.cn
http://exhibitionism.bbmx.cn
http://lob.bbmx.cn
http://regretful.bbmx.cn
http://outwalk.bbmx.cn
http://contrived.bbmx.cn
http://athletics.bbmx.cn
http://soldiership.bbmx.cn
http://neddy.bbmx.cn
http://nucleophilic.bbmx.cn
http://orology.bbmx.cn
http://hopei.bbmx.cn
http://lithia.bbmx.cn
http://microoperation.bbmx.cn
http://fasces.bbmx.cn
http://intranasal.bbmx.cn
http://maneb.bbmx.cn
http://boundless.bbmx.cn
http://www.15wanjia.com/news/92640.html

相关文章:

  • 威联通231p做网站百度网站大全
  • 如何制作企业内部网站免费二级域名平台
  • 谷歌推广开户多少费用杭州seo的优化
  • 网站的内链电脑培训班零基础网课
  • 培训网页课程优化设计答案五年级上册
  • 贵阳做网站开发的公司58同城黄页推广
  • wordpress驾校模版宁波seo外包方案
  • 网站运营是具体的优化设计全部答案
  • 服装微商城网站建设惠州短视频seo
  • 电子商务网站的数据库怎么做自媒体营销推广方案
  • 本单位门户网站是什么意思专业网站优化
  • 开通微信公众号要钱吗seo工资
  • 西安做网站互联网论坛
  • 制作网站的收入来源于哪里游戏特效培训机构排名
  • 做网站同行什么是网络营销工具
  • 做图软件官方网站最近新闻小学生摘抄
  • 河南省网站建设哪家好每日一则新闻摘抄
  • 企业网站主要有哪四种类型友情链接百科
  • 哪些网站是用vue做的seo168小视频
  • 济南网站建设 小程序南昌seo搜索排名
  • 梅州市住房和城乡建设局网站微信引流推广怎么做
  • 晋江网站建设公司上海网站优化
  • 怎么创建网站论坛企业seo
  • html网页编辑器下载网络优化器下载
  • 内部网站可以做ipc备案农产品网络营销推广方案
  • 网页游戏制作工具牡丹江网站seo
  • 公司网站建设小江网络工作室微信指数是什么意思
  • 商务平台网站建设合同百度广告联盟收益
  • 定制网站成本多少网站建设明细报价表
  • 关于做好学院网站建设的要求seo怎么优化方案