在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Prometheus API使用介紹

馬哥Linux運維 ? 來源: DevOps進階之路 ? 作者:西岸Alex ? 2022-10-31 09:23 ? 次閱讀

做為一位優秀的技術人員,往往能通過對數據的最大化利用來產生更多價值。而Prometheus的監控數據則是可以為我們所用的重要數據,它并不只能用于日常的監控和告警使用,也可以用于數據分析、成本管理等企業需求。

在這種場景下,需要我們從Prometheus去獲取相關的數據,并對其進行處理加工。關于數據的獲取方法,通常會使用Prometheus提供的API來操作,本文將會對此進行講解介紹。

01—API格式


目前,Prometheus API 的穩定版本為V1,針對該API的訪問路徑為 /api/v1。API支持的請求模式有GET和POST兩種,當正常響應時,會返回2xx的狀態碼。 反之,當API調用失敗時,則可能返回以下幾種常見的錯誤提示碼:

400 Bad Request 參數丟失或不正確時出現。
422 Unprocessable Entity 當表達無法被執行時。
503 Service Unavailiable 查詢超時或中止時。
在功能上,Prometheus API 提供了豐富的接口類型,包括表達式查詢、元數據查詢、配置查詢、規則查詢等多個功能,甚至還有清理數據的接口。 當API正常響應后,將返回如下的Json數據格式。
{
"status":"success"|"error",
"data":,

//Onlysetifstatusis"error".Thedatafieldmaystillhold
//additionaldata.
"errorType":"",
"error":"",

//Onlyiftherewerewarningswhileexecutingtherequest.
//Therewillstillbedatainthedatafield.
"warnings":[""]
}

02—

API調用

下面,我們將以兩個樣例來演示關于API的調用,方便大家理解掌握。

即時查詢

說明:該接口屬于表達式查詢,將根據表達式返回單個時間點的數據。

GET/api/v1/query
POST/api/v1/query

該接口可使用如下參數進行查詢,其中time為需要獲取值的時間戳,如果不填則默認返回最新的值 。

query=:Prometheus 表達式查詢字符串。

time= :評估時間戳,可選參數。

timeout=: 查詢超時設置,可選參數,默認將使用-query.timeout的全局參數。

示例:

獲取實例"192.168.214.108"的node_load5值。

請求的參數如下:

curlhttp://localhost:9090/api/v1/query?query=node_load5{instance="192.168.214.108:9100"}
返回數據:

status 字段為success,表明請求成功;data字段包括了數據的相關參數,其中value為對應的時間戳和數據值 ,也即是node_load5的值。

{
"status":"success",
"data":{
"resultType":"vector",
"result":[
{
"metric":{
"__name__":"node_load5",
"instance":"192.168.214.108:9100",
"job":"node"
},
"value":[
1666865246.993,#時間戳
"0.04"#數據值
]
}
]
}
}

2. 范圍查詢

說明:接口將根據表達式,返回指定時間范圍內的數據。

GET/api/v1/query_range
POST/api/v1/query_range

該接口支持如下參數查詢:

query=:Prometheus 表達式查詢字符串。

start=:開始時間戳。

end= :結束時間戳。

step=:查詢分辨率步長。

timeout=:查詢超時設置,可選參數,默認將使用-query.timeout的全局參數。

示例:

獲取實例"192.168.214.108"在某段時間內node_load5的所有值。

請求的參數如下 :

curlhttp://localhost:9090/api/v1/query_range?query=node_load5{instance="192.168.214.108:9100"}&start=2022-10-28T0210.000Z&end=2022-10-28T0200.000Z&step=60s
返回數據 :

以下示例為3分鐘范圍內的表達式返回值,查詢分辨率為60秒,故返回三次值。

{
"status":"success",
"data":{
"resultType":"matrix",
"result":[
{
"metric":{
"__name__":"node_load5",
"instance":"192.168.214.108:9100",
"job":"node"
},
"values":[
[
1666923010,
"0.04"
],
[
1666923070,
"0.04"
],
[
1666923130,
"0.03"
]
]
}
]
}
}

03—獲取數據

上面的curl訪問方式更多是用于測試,在實際應用中,我們通常會用代碼的方式來獲取數據并進行處理。

此處以Python為例,演示關于代碼調用接口的應用方法。(PS:這里需要具備一點Python編程基礎)

安裝requests庫,用于url訪問。

$pipinstallrequests

2. 編寫python腳本test_api.py。

#-*-coding:utf-8-*-

importrequests

#定義參數
url='http://192.168.214.108:9090'
query_api='/api/v1/query'
params='query=node_load5{instance="192.168.214.108:9100"}'
#訪問prometheusAPI獲取數據
res=requests.get(url+query_api,params)
metrics=res.json().get("data").get("result")
#判斷結果是否為空
ifmetrics:
value=metrics[0].get('value')[1]
print('服務器192.168.214.108的node_load5值為%s'%value)
else:
print('無法獲取有效數據')

腳本運行結果:

$pythontest_api.py
服務器192.168.214.108的node_load5值為0.01

結語:

本文僅展示了Prometheus API的簡單應用,更多的接口使用可參考官方文獻。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1553

    瀏覽量

    63259
  • Prometheus
    +關注

    關注

    0

    文章

    28

    瀏覽量

    1823

原文標題:Prometheus API 使用介紹

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Prometheus的架構原理從“監控”談起

    Prometheus是繼Kubernetes(k8s)之后,CNCF畢業的第二個開源項目,其來源于Google的Borgmon。本文從監控這件事說起,深入淺出Prometheus的架構原理、目標發現
    的頭像 發表于 10-10 15:47 ?4609次閱讀
    <b class='flag-5'>Prometheus</b>的架構原理從“監控”談起

    Stream API原理介紹

    原理介紹 Stream API 的核心是 Stream 接口,它表示一組元素的序列,可以按需進行計算。Stream 接口提供了大量的中間操作和終端操作,可以用于過濾、映射、排序、聚合等各種操作。 Stream API 的實現原
    的頭像 發表于 09-30 15:31 ?879次閱讀

    Prometheus的基本原理與開發指南

    ? 導讀??? ? 本文由梯度科技云管研發部高級工程師周宇明撰寫,共分為7章,緊密圍繞Prometheus的基本原理與開發指南展開介紹: 監控系統概述 Prometheus入門 PromQL入門
    的頭像 發表于 11-09 10:45 ?1405次閱讀
    <b class='flag-5'>Prometheus</b>的基本原理與開發指南

    prometheus做監控服務的整個流程介紹

    最近有個新項目需要搞一套完整的監控告警系統,我們使用了開源監控告警系統Prometheus;其功能強大,可以很方便對其進行擴展,并且可以安裝和使用簡單;本文首先介紹Prometheus的整個監控流程
    發表于 12-23 17:34

    vc++ api函數 (Windows API大全)

    Windows API大全,本書主要介紹VC++里API函數及其用法-WindowsAPI Daquan, the book introduces VC Lane API fun
    發表于 10-14 11:45 ?32次下載

    django-prometheus數據監控

    django-prometheus.zip
    發表于 04-26 11:07 ?1次下載
    django-<b class='flag-5'>prometheus</b>數據監控

    Prometheus服務監控系統

    prometheus.zip
    發表于 04-26 10:23 ?3次下載
    <b class='flag-5'>Prometheus</b>服務監控系統

    使用Thanos+Prometheus+Grafana構建監控系統

    對于彈性伸縮和高可用的系統來說,一般有大量的指標數據需要收集和存儲,如何為這樣的系統打造一個監控方案呢?本文介紹了如何使用 Thanos+Prometheus+Grafana 構建監控系統。
    的頭像 發表于 05-05 21:14 ?2901次閱讀

    prometheus-book Prometheus操作指南

    ./oschina_soft/prometheus-book.zip
    發表于 05-16 09:11 ?5次下載
    <b class='flag-5'>prometheus</b>-book <b class='flag-5'>Prometheus</b>操作指南

    監控神器:Prometheus

    Prometheus發展速度很快,12年開發完成,16年加入CNCF,成為繼K8s 之后第二個CNCF托管的項目,目前Github 42k的,而且社區很活躍,維護頻率很高,基本穩定在1個月1個小版本的迭代速度。
    的頭像 發表于 07-31 11:55 ?1323次閱讀

    prometheus下載安裝教程

    Prometheus 是一個開放性的監控解決方案,用戶可以非常方便的安裝和使用 Prometheus 并且能夠非常方便的對其進行擴展。 在Prometheus的架構設計中,Prometheus
    的頭像 發表于 01-13 16:07 ?8573次閱讀
    <b class='flag-5'>prometheus</b>下載安裝教程

    Prometheus存儲引擎簡析

    Prometheus 作為云原生時代的時序數據庫, 是當下最流行的監控平臺之一,盡管其整體架構一直沒怎么變,但其底層的存儲引擎卻演進了幾個版本。
    的頭像 發表于 03-28 17:57 ?911次閱讀

    基于kube-prometheus的大數據平臺監控系統設計

    本文介紹了如何基于 kube-prometheus 設計一個監控系統, 以靈活簡單的方式對 kubernetes 上的應用進行指標采集,并實現監控報警功能。
    的頭像 發表于 05-30 17:02 ?785次閱讀

    基于Prometheus開源的完整監控解決方案

    每一個被 Prometheus 監控的服務都是一個 Job,Prometheus 為這些 Job 提供了官方的 SDK ,利用這個 SDK 可以自定義并導出自己的業務指標,也可以
    發表于 10-18 09:15 ?719次閱讀
    基于<b class='flag-5'>Prometheus</b>開源的完整監控解決方案

    從零入門Prometheus:構建企業級監控與報警系統的最佳實踐指南

    測試環境 prometheus-2.26.0.linux-amd64.tar.gz下載地址:https://github.com/prometheus/prometheus/releases
    的頭像 發表于 02-10 11:28 ?428次閱讀
    從零入門<b class='flag-5'>Prometheus</b>:構建企業級監控與報警系統的最佳實踐指南
    主站蜘蛛池模板: 色婷婷精品视频 | eeuss秋霞成人影院 | 色免费观看 | 医生好大好硬好爽好紧 | 久久网站免费观看 | 伦理一区二区三区 | 亚洲人成77777在线观看网 | 自拍偷拍福利 | 日本高清视频wwww色 | 黑色丝袜美美女被躁视频 | 超级碰碰青草免费视频92 | 免费亚洲成人 | 天堂在线免费视频 | 国产精品一区二区三区四区 | 黄页网站在线 | 69日本xxⅹxxxxx18 | 91中文字幕在线视频 | 六月婷婷在线视频 | bt天堂在线最新版在线 | 久久国产精品久久久久久久久久 | 特级毛片a级毛免费播放 | 天天弄天天干 | 国产片无遮挡在线看床戏 | 六月婷婷激情 | 国模龙园园私拍337p | 国产caoni111在线观看视频 | 国产成人精品曰本亚洲 | 老子影院午夜精品欧美视频 | 正在播放国产女免费 | 亚洲一区日韩一区欧美一区a | 国产精品第九页 | 一级a爰片久久毛片 | 国产精品久久久久久久久福利 | 一级片在线免费播放 | 久久国产精品永久免费网站 | 久久婷婷五综合一区二区 | 国产精品国产三级国快看 | 很狠操 | 福利在线看 | 天天干精品 | 三级国产在线观看 |