国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PromQL查詢剖析

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2023-03-31 11:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文讓我們一起來(lái)看看PromQL查詢解析。雖然PromQL有操作符、函數(shù)、選擇器等,但我們無(wú)需被本篇文章中的這些細(xì)節(jié)所困擾。讓我們來(lái)看看查詢的總體性質(zhì):PromQL查詢是如何結(jié)構(gòu)化和類型化的?隨著時(shí)間的推移它們是如何評(píng)估的?

讓我們來(lái)看一下PromQL的查詢結(jié)構(gòu)。PromQL有操作符、函數(shù)、選擇器等等,但是我們不要被本篇文章中的細(xì)節(jié)所困擾。相反,讓我們看看查詢的整體:PromQL查詢是如何構(gòu)造和輸入的,以及隨著時(shí)間的推移它們是如何被評(píng)估的?

這篇文章將假設(shè)您對(duì)PromQL查詢和Prometheus數(shù)據(jù)模型有大概粗略的了解。

讓我們開(kāi)始吧!

1.PromQL是一種嵌套的函數(shù)式語(yǔ)言

不像SQL或其他一些更傾向于命令式的查詢語(yǔ)言(SELECT * FROM...),PromQL是一種嵌套的函數(shù)式語(yǔ)言。這意味著您將所尋找的數(shù)據(jù)描述為一組嵌套表達(dá)式,每個(gè)表達(dá)式都計(jì)算出一個(gè)中間值(沒(méi)有副作用)。每個(gè)中間值都用作它周圍表達(dá)式的參數(shù)或操作數(shù),而查詢的最外層表達(dá)式表示您在表、圖或類似用例中看到的最終返回值。

查詢示例如下所示:

#Rootofthequery,finalresult,approximatesaquantile.
histogram_quantile(
#1stargumenttohistogram_quantile(),thetargetquantile.
0.9,
#2ndargumenttohistogram_quantile(),anaggregatedhistogram.
sumby(le,method,path)(
#Argumenttosum(),theper-secondincreaseofahistogramover5m.
rate(
#Argumenttorate(),therawhistogramseriesoverthelast5m.
demo_api_request_duration_seconds_bucket{job="demo"}[5m]
)
)
)

PromQL表達(dá)式不僅是整個(gè)查詢,而且是查詢的任何嵌套部分(如上面的rate(…)部分),可以單獨(dú)作為查詢運(yùn)行。在上面的例子中,每個(gè)注釋行代表一個(gè)表達(dá)式。

當(dāng)你在PromLabs的PromLens查詢可視化工具中分析相同的查詢時(shí),包含子表達(dá)式的嵌套表達(dá)式結(jié)構(gòu)會(huì)變得特別清晰:

039e0516-cf11-11ed-bfe3-dac502259ad0.png

在PromLens中,您可以單擊每個(gè)樹(shù)節(jié)點(diǎn)來(lái)分別評(píng)估其子表達(dá)式,以了解您在嵌套表達(dá)式樹(shù)的每個(gè)部分中處理的數(shù)據(jù)。

2.輸入的表達(dá)式,可能不像你想的那樣

Prometheus中有兩個(gè)“類型”的概念:

  • 由抓取目標(biāo)所報(bào)告的度量類型:計(jì)數(shù)器、儀表、直方圖、摘要或無(wú)類型。
  • PromQL表達(dá)式的類型:字符串、標(biāo)量、瞬時(shí)向量或范圍向量。

PromQL完全忽略度量類型,只關(guān)心表達(dá)式類型:每個(gè)表達(dá)式都有一個(gè)類型,每個(gè)函數(shù)、操作符或其他類型的操作都要求其參數(shù)是某種表達(dá)式類型。例如,rate()函數(shù)要求其參數(shù)是一個(gè)范圍向量,但rate()本身的計(jì)算結(jié)果是一個(gè)瞬時(shí)向量。因此,rate()的結(jié)果只能用于期望瞬時(shí)向量的地方。

PromQL中可能的表達(dá)式類型有:

  • 字符串:類似 "I am a string!". 這些只作為某些函數(shù)(如label_join())的參數(shù)出現(xiàn),在PromQL中并不常用。
  • 標(biāo)量:沒(méi)有標(biāo)注尺寸的單個(gè)數(shù)值,如 1.234。您將看到這些函數(shù)的數(shù)值參數(shù),如histogram_quantile(0.9,…)或topk(3,…),以及算術(shù)運(yùn)算。
  • 瞬時(shí)向量:一組帶標(biāo)簽的時(shí)間序列,每個(gè)序列有一個(gè)樣本,所有樣本都有相同的時(shí)間戳。瞬時(shí)向量可以直接來(lái)自TSDB時(shí)間序列選擇器,如node_cpu_seconds_total,也可以來(lái)自返回它們的任何函數(shù)或其他轉(zhuǎn)換。
node_cpu_seconds_total{cpu="0",mode="idle"}→19165078.75@timestamp_1
node_cpu_seconds_total{cpu="0",mode="system"}→381598.72@timestamp_1
node_cpu_seconds_total{cpu="0",mode="user"}→23211630.97@timestamp_1
  • 范圍向量:一組帶標(biāo)簽的時(shí)間序列,每個(gè)序列都有一段時(shí)間的樣本范圍。在PromQL中只有兩種方法產(chǎn)生范圍向量:在查詢中使用文字范圍向量選擇器(如node_cpu_seconds_total[5m]),或者使用子查詢(如[5m:10s])。當(dāng)您想要聚合指定時(shí)間窗口內(nèi)的一系列行為時(shí),范圍向量非常有用,就像您使用rate(node_cpu_seconds_total[5m])計(jì)算node_cpu_seconds_total在過(guò)去5分鐘內(nèi)的平均每秒增長(zhǎng)率一樣。
node_cpu_seconds_total{cpu="0",mode="idle"}→19165078.75@timestamp_1,19165136.3@timestamp_2,19165167.72@timestamp_3
node_cpu_seconds_total{cpu="0",mode="system"}→381598.72@timestamp_1,381599.98@timestamp_2,381600.58@timestamp_3
node_cpu_seconds_total{cpu="0",mode="user"}→23211630.97@timestamp_1,23211711.34@timestamp_2,23211748.64@timestamp_3

但是指標(biāo)類型呢?如果您已經(jīng)使用過(guò)PromQL,您可能知道某些函數(shù)只適用于特定類型的指標(biāo)!例如,histogram_quantile()函數(shù)只適用于直方圖指標(biāo),rate()只適用于計(jì)數(shù)器指標(biāo),而deriv()只適用于儀表。但是PromQL實(shí)際上并不檢查您是否傳入了正確類型的指標(biāo)——這些函數(shù)通常會(huì)順利地運(yùn)行,并為錯(cuò)誤類型的輸入指標(biāo)返回一些無(wú)意義的東西,并且由用戶決定是否傳入符合某些假設(shè)的時(shí)間序列(比如在直方圖的情況下有一個(gè)敏感的le標(biāo)簽,或者在計(jì)數(shù)器的情況下單調(diào)增加)。然而,將來(lái)我們很可能會(huì)看到像PromLens這樣的用戶界面試圖警告你,如果你把一個(gè)不兼容的指標(biāo)類型傳遞給一個(gè)函數(shù)。

3.時(shí)間是怎么進(jìn)來(lái)的?范圍和即時(shí)查詢!

您可能已經(jīng)注意到,PromQL查詢中對(duì)時(shí)間的唯一引用是相對(duì)引用(例如[5m],向后看5分鐘)。那么,如何指定絕對(duì)圖形時(shí)間范圍,或者在表中顯示查詢結(jié)果的時(shí)間戳呢?在PromQL中,這樣的時(shí)間參數(shù)與表達(dá)式分開(kāi)發(fā)送給Prometheus查詢API,確切的時(shí)間參數(shù)取決于您發(fā)送的查詢類型。Prometheus有兩種類型的PromQL查詢:即時(shí)查詢和范圍查詢。

3.1即時(shí)查詢

即時(shí)查詢用于類似表格的視圖,在這些視圖中,您希望顯示PromQL查詢?cè)趩蝹€(gè)時(shí)間點(diǎn)的結(jié)果。

即時(shí)查詢的參數(shù)包括:

  • PromQL表達(dá)式。

  • 評(píng)估時(shí)間戳

表達(dá)式在計(jì)算時(shí)間戳?xí)r進(jìn)行計(jì)算,查詢中的任何數(shù)據(jù)選擇器都可以選擇從該時(shí)間戳回溯到過(guò)去的數(shù)據(jù)(foo[1h]選擇foo系列的最后一個(gè)小時(shí)的數(shù)據(jù)),但不能選擇未來(lái)的數(shù)據(jù)(foo[-1h]是無(wú)效的PromQL)。訪問(wèn)過(guò)去數(shù)據(jù)的窗口通常有助于計(jì)算一段時(shí)間內(nèi)的比率或平均值等總量。

即時(shí)查詢可以返回任何有效的PromQL表達(dá)式類型(字符串、標(biāo)量、即時(shí)和范圍瞬時(shí)和范圍向量)。

例如即時(shí)查詢:

讓我們看一個(gè)即時(shí)查詢的例子,看看它是如何工作的。想象一下使用表達(dá)式http_requests_total查詢給定的時(shí)間戳數(shù)據(jù)。http_requests_total是一個(gè)瞬時(shí)向量選擇器,它使用指標(biāo)名稱http_requests_total為任何時(shí)間序列選擇最新的樣本。更具體地說(shuō),相對(duì)于評(píng)估時(shí)間戳,“l(fā)atest”意味著“最多5分鐘以前的并且不是陳舊的”。因此,該選擇器將只為在評(píng)估時(shí)間戳之前最多5分鐘有一個(gè)樣本的序列產(chǎn)生一個(gè)結(jié)果,并且評(píng)估時(shí)間戳之前的最后一個(gè)樣本不是一個(gè)陳舊的標(biāo)記(一種將序列標(biāo)記為在Prometheus TSDB中的某個(gè)時(shí)間終止的顯式方法)。

如果我們?cè)谟凶罱鼧颖镜臅r(shí)間戳上運(yùn)行此查詢,結(jié)果將包含兩個(gè)序列,每個(gè)序列只有一個(gè)樣本:

03bd9fd4-cf11-11ed-bfe3-dac502259ad0.png

注意,每個(gè)返回樣本的輸出時(shí)間戳不再是原始樣本時(shí)間戳,而是被設(shè)置為評(píng)估時(shí)間戳。

想象一下,在一個(gè)時(shí)間戳上執(zhí)行同樣的查詢,在該時(shí)間戳之前有>5m的數(shù)據(jù)間隔:

03d9dc80-cf11-11ed-bfe3-dac502259ad0.png

在這種情況下,查詢將返回一個(gè)空結(jié)果,因?yàn)樗衅ヅ涞臉颖径继f而無(wú)法包含。

3.2范圍查詢

范圍查詢主要用于圖形,其中您希望顯示給定時(shí)間范圍內(nèi)的PromQL表達(dá)式。范圍查詢的工作方式完全類似于許多完全獨(dú)立的即時(shí)查詢,這些查詢?cè)诮o定時(shí)間范圍內(nèi)的后續(xù)時(shí)間步驟中進(jìn)行評(píng)估。當(dāng)然,這是經(jīng)過(guò)高度優(yōu)化的,在這種情況下,Prometheus實(shí)際上并沒(méi)有運(yùn)行很多獨(dú)立的即時(shí)查詢。

范圍查詢包含以下參數(shù):

  • PromQL表達(dá)式。
  • 開(kāi)始時(shí)間。
  • 結(jié)束時(shí)間。
  • 解析步驟。

在開(kāi)始時(shí)間和結(jié)束時(shí)間之間的每個(gè)解析步驟對(duì)表達(dá)式求值后,單獨(dú)求值的時(shí)間片被拼接到單個(gè)范圍向量中。范圍查詢?cè)试S傳入瞬時(shí)向量類型或標(biāo)量類型的表達(dá)式,但總是返回一個(gè)范圍向量(標(biāo)量或瞬時(shí)向量在一段時(shí)間內(nèi)計(jì)算的結(jié)果)。

范圍查詢示例:

如果我們將上面的示例表達(dá)式評(píng)估為一個(gè)范圍查詢,它將如下所示:

03e6e916-cf11-11ed-bfe3-dac502259ad0.png

請(qǐng)注意,每個(gè)評(píng)估步驟的行為完全類似于獨(dú)立的即時(shí)查詢,并且每個(gè)獨(dú)立的即時(shí)查詢對(duì)查詢的整體范圍沒(méi)有概念。這種情況下的最終結(jié)果將是一個(gè)范圍向量,它包含一個(gè)時(shí)間范圍內(nèi)兩個(gè)選定序列的樣本,但也包含某些時(shí)間步長(zhǎng)的序列數(shù)據(jù)中的間隙。

最后

希望這篇博客文章讓您對(duì)PromQL查詢的整體結(jié)構(gòu)、正在進(jìn)行的類型檢查(或缺少的類型檢查)以及查詢的解析評(píng)估有了更好的了解。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    783

    瀏覽量

    45161
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64898
  • 數(shù)據(jù)模型
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    10183

原文標(biāo)題:PromQL查詢剖析

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    c語(yǔ)言深度剖析

    c語(yǔ)言深度剖析
    發(fā)表于 04-02 09:12

    C語(yǔ)言深度剖析

    C語(yǔ)言深度剖析
    發(fā)表于 08-25 09:08

    C語(yǔ)言深度剖析

    C語(yǔ)言深度剖析[完整版].pdfC語(yǔ)言深度剖析[完整版].pdf (919.58 KB )
    發(fā)表于 03-19 05:11

    Hive查詢之where語(yǔ)句剖析

    黑猴子的家:Hive 查詢之 where 語(yǔ)句
    發(fā)表于 07-12 13:46

    萬(wàn)億級(jí)日志與行為數(shù)據(jù)存儲(chǔ)查詢技術(shù)的兩大步驟介紹

    [轉(zhuǎn)]萬(wàn)億級(jí)日志與行為數(shù)據(jù)存儲(chǔ)查詢技術(shù)剖析
    發(fā)表于 07-18 10:52

    基于多表的動(dòng)態(tài)查詢模塊設(shè)計(jì)與實(shí)現(xiàn)

    查詢是信息管理系統(tǒng)中使用涉及用戶最多使用最頻繁的功能。為了提高用戶查詢的靈活性與查詢效率,設(shè)計(jì)了基于多表的動(dòng)態(tài)查詢模塊,使得用戶可以自己選擇查詢
    發(fā)表于 04-20 10:13 ?25次下載
    基于多表的動(dòng)態(tài)<b class='flag-5'>查詢</b>模塊設(shè)計(jì)與實(shí)現(xiàn)

    總線進(jìn)入查詢_查詢工具

    總線進(jìn)入查詢,很好的查詢工具,快來(lái)下載學(xué)習(xí)吧
    發(fā)表于 03-29 10:27 ?62次下載

    C語(yǔ)言深度剖析

    C語(yǔ)言深度剖析。
    發(fā)表于 05-05 17:40 ?7次下載

    C語(yǔ)言深度剖析

    C語(yǔ)言深度剖析
    發(fā)表于 12-20 22:50 ?0次下載

    MySQL 教程—子查詢

    查詢:sub query,查詢是在某個(gè)查詢結(jié)果之上進(jìn)行的,一條select語(yǔ)句內(nèi)部包含了另外一條select語(yǔ)句。
    發(fā)表于 09-11 12:44 ?5次下載
    MySQL 教程—子<b class='flag-5'>查詢</b>

    UL證書(shū)查詢

    廣東優(yōu)科檢測(cè)是獲得UL授權(quán)的第三方檢測(cè)實(shí)驗(yàn)室,可提供電子元器件產(chǎn)品目擊和免目擊測(cè)試、UL認(rèn)證和技術(shù)咨詢服務(wù)。 UL提供強(qiáng)大的認(rèn)證證書(shū)查詢功能,廣東優(yōu)科檢測(cè)為大家介紹一下具體的查詢方式:A、按UL
    發(fā)表于 08-29 15:38 ?3166次閱讀

    剖析BMP圖片文件

    剖析BMP圖片文件
    發(fā)表于 01-23 10:05 ?2次下載

    PromQL查詢的整體結(jié)構(gòu)及類型檢查

    本文讓我們一起來(lái)看看PromQL查詢解析。雖然PromQL有操作符、函數(shù)、選擇器等,但我們無(wú)需被本篇文章中的這些細(xì)節(jié)所困擾。讓我們來(lái)看看查詢的總體性質(zhì):
    的頭像 發(fā)表于 05-25 09:59 ?1752次閱讀

    如何利用IP查詢技術(shù)保護(hù)網(wǎng)絡(luò)安全?

    技術(shù)? IP查詢技術(shù),簡(jiǎn)而言之,是通過(guò)分析特定IP地址的活動(dòng)和行為,來(lái)評(píng)估其潛在的網(wǎng)絡(luò)威脅和安全風(fēng)險(xiǎn)。這一技術(shù)不僅關(guān)注IP地址的所在位置、歷史活動(dòng)記錄,還深入剖析其連接模式、使用頻率等關(guān)鍵信息。通過(guò)這些數(shù)據(jù)的綜合評(píng)估,企業(yè)
    的頭像 發(fā)表于 09-09 10:10 ?800次閱讀

    詳解Prometheus的數(shù)據(jù)類型

    對(duì)于 Prometheus 生態(tài)的監(jiān)控系統(tǒng),PromQL 是必備技能,本文著重點(diǎn)講解這個(gè)查詢語(yǔ)言,摻雜一些生產(chǎn)實(shí)踐場(chǎng)景,希望對(duì)你有所幫助。
    的頭像 發(fā)表于 05-13 09:50 ?648次閱讀
    詳解Prometheus的數(shù)據(jù)類型