日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenTsdb官方文档-----理解指标和时间序列

發(fā)布時間:2025/7/25 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenTsdb官方文档-----理解指标和时间序列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??OpenTSDB是一個時間序列數(shù)據(jù)庫。時間序列是一段時間內(nèi)某個特定指標量的一系列數(shù)值數(shù)據(jù)點。每個時間序列由一個指標量加上一個或多個與此指標量相關(guān)聯(lián)的標簽組成(我們會稍微介紹一下標簽)。指標量是您希望隨時跟蹤的任意特定數(shù)據(jù)(例如點擊Apache主機文件)。

??OpenTSDB也是一個數(shù)據(jù)繪圖系統(tǒng)。OpenTSDB繪制的東西與其他系統(tǒng)有點不同。我們將在下面更詳細地討論繪圖,但現(xiàn)在對于OpenTSDB來說,任何給定繪圖的基礎(chǔ)都是指標量,了解這一點是很重要的。它采用該指標量,找出所選時間范圍的所有時間序列,將這些時間序列聚合在一起(例如將它們累加)并繪制結(jié)果。繪圖機制非常靈活且功能強大,可以做的遠遠不止這些,但現(xiàn)在讓我們來談?wù)剷r間序列的關(guān)鍵——指標(Metric)。

??在OpenTSDB中,指標命名為一個字符串,像“http.hits”。為了能夠存儲該指標量存在的所有位置的不同的值,可以在將數(shù)據(jù)發(fā)送到TSD時使用一個或多個標簽標記數(shù)據(jù)。TSD存儲時間戳,值和標簽。當您想要讀取這些數(shù)據(jù)時,TSD檢索讀取您提供的時間范圍的所有值,可選地使用您提供的標簽過濾器,按照您想要的算法聚合所有的這些值,并繪制該指標值隨時間變化的圖形。

??到目前為止,我們已經(jīng)介紹了一些內(nèi)容。為了幫助你理解它的工作方式,將從一個典型的例子開始。假設(shè)您有一堆Web服務(wù)器,并且您想跟蹤兩件事情: Web服務(wù)器點擊量和系統(tǒng)負載的平均值。我們來定義指標名稱來表達它們。對于平均負載,我們稱之為”proc.loadavg.lmin”(因為在Linux上,你可以通過讀取/proc/loadavg輕易獲取這些數(shù)據(jù))。對很多Web服務(wù)器來說,有一種方法可以向Web服務(wù)器請求一個表示從服務(wù)器啟動以來點擊服務(wù)器次數(shù)的計數(shù)器。這是一個便利的計數(shù)器,我們稱之為”http.hits”的指標量。我選擇這兩個例子有如下兩個原因:

  • 我們將看看OpenTSDB如何輕松地處理兩個計數(shù)器(隨著時間的推移,值會單調(diào)遞增,除非通過restart/reboot或overflow溢出重置),以及如何處理正常值的上升和下降,如負載平均值。OpenTSDB的一大優(yōu)點就是無需對計數(shù)器進行Rate比率的計算,它會為你做這些。
  • 我們還可以向您展示如何在同一圖表上繪制兩個不同比例的指標量,這是關(guān)聯(lián)不同指標量非常好的一種方式。
  • 第一個數(shù)據(jù)點

    ??在沒有詳細討論收集器如何將數(shù)據(jù)發(fā)送到TSD的過程中,您可以編寫一個收集器,將每個服務(wù)器的這些數(shù)據(jù)點的當前值定期發(fā)送到TSD。因此,TSD可以聚合來自多個主機的數(shù)據(jù),您可以用“主機”標簽標記每個值。所以,如果有Web服務(wù)器A,B,C等,他們每個人都會定期向TSD發(fā)送這樣的內(nèi)容:

    put http.hits 1234567890 34877 host=A
    put proc.loadavg.1min 1234567890 1.35 host=A

    ??這里的“1234567890”是以秒為單位的當前紀元(epoch )時間(日期+%s)。下一個數(shù)字是此時的指標值。這是來自主機A的數(shù)據(jù),因此標簽標記為host=A。來自主機B的數(shù)據(jù)將被標記host=B等等。隨著時間的推移,會得到一堆存儲在OpenTSDB中的時間序列。

    # 第一個繪制點

    ??現(xiàn)在,讓我們重新回顧一下我們在開始時談到的內(nèi)容。時間序列是一段時間內(nèi)某個特定指標量(及其標簽)的一系列數(shù)據(jù)點。在這個例子中,每個主機都向TSD發(fā)送兩個時間序列。如果你有三個箱子(主機)發(fā)送這兩個時間序列,TSD將收集和存儲6個時間序列。現(xiàn)在有數(shù)據(jù)了,我們開始繪制。
    ??要繪制HTTP點擊量,您只需轉(zhuǎn)到UI界面并輸入http.hits為指標名稱,然后輸入時間范圍。選中“Rate”復(fù)選框,因為這個特定的指標是一個速率計數(shù)器,而且,有隨著時間的HTTP點擊到Web服務(wù)器的比率。

    聚合器

    ??UI界面上聚合函數(shù)的默認值是通過將每個主機的每個時間序列相加(sum)來聚合每個主機的時間序列。這意味著,TSD將采用這個三個時間序列(主機= A,B和C)的指標并將它們的值相加在一起,以提供給定時間內(nèi)所有Web服務(wù)器的總的點擊次數(shù)。請注意,您不需要在同一時間發(fā)送數(shù)據(jù)點,TSD將會找出它。因此,如果您的每個主機在某個時間點每秒提供1000次點擊,則圖表會顯示3000。如果您想要顯示每個Web服務(wù)器提供的點擊次數(shù),該怎么辦?有兩種方式。如果您只關(guān)心每個Web服務(wù)器的服務(wù)平均次數(shù),只需將Aggregator方法從sum更改為avg即可。您也可以嘗試其他(最大值,最小值)來查看最大值或最小值。更多的聚合函數(shù)正在起作用(percentiles,百分數(shù)等)。這是在每個間隔的基礎(chǔ)上完成的,所以如果在某個時間點,您的某個網(wǎng)絡(luò)服務(wù)器的服務(wù)時間為50 QPS,其他服務(wù)器的服務(wù)時間為100個,稍遲一些另外一個網(wǎng)絡(luò)服務(wù)器的服務(wù)時間為50 QPS,而其他服務(wù)器的服務(wù)時間為100個,這兩個點的Min函數(shù)值將是50。換句話說,它不能確定哪個時間系列是總的最小值,只是告訴你主機的情節(jié)。另一種方法來查看每個Web服務(wù)器正在服務(wù)的點擊數(shù)量?這是我們查看標簽字段的地方。

    降采樣

    ??為了減少返回的數(shù)據(jù)點的數(shù)量,可以指定一個降采樣的間隔和方法,例如1h-avg或1d-sum。這也是有用的(例如當使用max和min時)在給定時間段內(nèi)找到最佳和最差情況的數(shù)據(jù)點。降采樣對于使繪圖階段不太密集,以及更具可讀性尤其有用,特別是繪制比屏幕像素點更多的數(shù)據(jù)點時。

    標簽過濾器

    ??在UI中,您會看到TSD填充了一個或多個“標簽”,第一個是host。TSD在這里說,在這個時間范圍內(nèi),它看到數(shù)據(jù)標記有host標簽。您可以過濾圖表,使其只繪制一個host的值。如果在host行中填寫A,則只繪制主機A隨時間變化的值。如果要給出要繪制的主機列表,請?zhí)顚懹晒艿婪柗指舻闹鳈C列表,例如A | B,這將會繪制兩個圖,而不是一個,一個用于A,一個用于B。最后,還可以指定特殊字符*,這意味著為每個主機繪制一條線。

    添加更多指標

    ??在UI中,您會看到TSD填充了一個或多個“標簽”,第一個是host。TSD在這里說,在這個時間范圍內(nèi),它看到數(shù)據(jù)標記有host標簽。您可以過濾圖表,使其只繪制一個host的值。如果在host行中填寫A,則只繪制主機A隨時間變化的值。如果要給出要繪制的主機列表,請?zhí)顚懹晒艿婪柗指舻闹鳈C列表,例如A | B,這將會繪制兩個圖,而不是一個,一個用于A,一個用于B。最后,還可以指定特殊字符*,這意味著為每個主機繪制一條線。

    變得花俏美觀

    ??試想一下,如果服務(wù)器實際上運行了兩個Web服務(wù)器,比如說一個用于靜態(tài)內(nèi)容,另一個用于動態(tài)內(nèi)容。而不是創(chuàng)建另一個指標,只需使用服務(wù)器實例標簽http.hits指標即可。讓收集器發(fā)送如下內(nèi)容:

    put http.hits 1234567890 34877 host=A webserver=static
    put http.hits 1234567890 4357 host=A webserver=dynamic
    put proc.loadavg.1min 1234567890 1.35 host=A

    ??為什么要這樣做而不是創(chuàng)建另一個指標?那么,如果有時候你關(guān)心的是繪制總HTTP點擊量,有時候你會分別關(guān)心靜態(tài)點擊或動態(tài)點擊呢?使用標簽,很容易實現(xiàn)。使用這個新標簽,繪制此指標時,會看到UI中會顯示一個webserver標簽。可以將其保留為空,并將兩個值合并到一個繪圖中(根據(jù)聚合器設(shè)置),可以看到總點擊數(shù),或者可以執(zhí)行webserver = 來分析通過web服務(wù)器的每個靜態(tài)和動態(tài)實例的數(shù)量。甚至可以更深入地指定webserver = 和host = *以查看完整分類。

    創(chuàng)建指標的向?qū)?/h1>

    現(xiàn)在,無法將兩個指標合并成一條折線。這意味著您希望指標量成為最大可能的聚合點。如果您想深入查看指標中的具體內(nèi)容,請使用標簽。

    標簽和指標

    ??指標量應(yīng)該是一個特定的事物,比如“以太網(wǎng)數(shù)據(jù)包”,但不能分解成某個事物的特定實例。一般而言,您不希望收集諸如net.bytes.eth0,net.bytes.eth1等的指標。收集net.bytes并使用iface = eth0標記eth0數(shù)據(jù)點等。不要費心創(chuàng)建單獨的“in”和“out”指標,而是添加標簽direction = in或direction = out。通過這種方式,您可以輕松查看給定”盒子”的整個網(wǎng)絡(luò)活動,而無需繪制大量指標。這仍然使您可以靈活地向下鉆取,只顯示特定接口的活動,或只顯示特定方向的活動數(shù)據(jù)。

    計數(shù)器和Rates

    ??如果有東西是計數(shù)器,或者天生地是Rate的東西,請不要在將其發(fā)送到TSD之前將其轉(zhuǎn)換為Rate。這有兩個主要原因。首先,做自己的Rate計算,重置/溢出處理等是愚蠢的,因為TSD可以自動做。您也不必擔(dān)心基于稍微不準確或不斷改變的采樣間隔來獲取單位每秒計算的正確性。其次,如果發(fā)生了丟失數(shù)據(jù)點或更多數(shù)據(jù)點的情況,如果您發(fā)送當前計數(shù)器值,則不會丟失數(shù)據(jù),只是該數(shù)據(jù)的解析度會稍差一些。TSD的黃金法則是,如果源數(shù)據(jù)是一個計數(shù)器(某些計數(shù)器輸出到/ proc或SNMP),請保持原樣,不要轉(zhuǎn)換它。如果你正在寫你自己的收集器(比如說,用于計算特定錯誤消息出現(xiàn)在日志尾部的頻率),請勿在每個采樣時間間隔重置計數(shù)器。讓TSD為你做好此類工作。

    您的朋友-標簽

    ??在小環(huán)境之上的任何環(huán)境中,您可能會有一些集群或一組機器在做同樣的事情。不過隨著時間的推移這些會發(fā)生改變,沒關(guān)系。只需在將數(shù)據(jù)發(fā)送到TSD以傳遞此集群信息時使用標簽。將cluster = webserver添加到每個Web服務(wù)器發(fā)送的所有數(shù)據(jù)點,cluster = db標簽添加到所有數(shù)據(jù)庫等。
    ??現(xiàn)在,當您為Web服務(wù)器集群繪制CPU活動情況時,會看到所有這些聚合到一個繪圖中。然后,我們假設(shè)您添加一個web服務(wù)器,甚至將其從web服務(wù)器更改為數(shù)據(jù)庫。您所要做的就是確保在其角色更改時發(fā)送正確的標簽,并且現(xiàn)在將該“盒子”的CPU活動計入正確的集群。更重要的是,所有的歷史數(shù)據(jù)都是正確的!這是OpenTSDB的真正能力。您不僅不會像基于RRD的系統(tǒng)一樣隨時間丟失數(shù)據(jù)點的解析度,而且隨著“盒子”轉(zhuǎn)移,歷史數(shù)據(jù)不會丟失。您也不必將大量集群或分組意識(awareness)邏輯放入儀表板。

    指標和標簽的精度

    ??數(shù)據(jù)點上允許的最大標簽數(shù)量由常量(Const.MAX_NUMTAGS)定義,在寫入時為8。指標量名稱,標簽名稱和標簽值必須由字母數(shù)字字符, “ - ” , “”,”.”和 “/”構(gòu)成,正如包私有函數(shù)Tags.validateString所強制的那樣。

    下一篇

    OpenTsdb官方文檔----日期和時間

    轉(zhuǎn)載于:https://blog.51cto.com/1196740/2159728

    總結(jié)

    以上是生活随笔為你收集整理的OpenTsdb官方文档-----理解指标和时间序列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。