prometheus python client

為什么80%的碼農都做不了架構師?>>> ??hot3.png

當我剛開始準備使用Python寫一個promethues的client的時候,并沒有想到過程這么麻煩。github上的大佬們也沒興趣幫我解決這些細節的問題。以下是我在使用prometheus_client遇到的一些問題,僅供大家參考

首先參考下github上的例子

https://github.com/prometheus/client_python

我們使用Gauge這個數據類型來做示例,畢竟用的很多

from prometheus_client import Gauge
g = Gauge('my_inprogress_requests', 'Description of gauge')
g.set(value)   #value自己定義,但是一定要為 整數或者浮點數

這個例子非常簡單,如果我們需要定義一些label,該如何做呢

from prometheus_client import Gauge
g = Gauge('my_inprogress_requests', 'Description of gauge',['mylabelname'])
g.labels(mylabelname='str').set(value)   #value自己定義,但是一定要為 整數或者浮點數
#此時一定要注意,定義Gague標簽的時候是一個列表,列表可以存多個lablename,類型是字符串
#在給lable定義value的時候也要注意,mylablename 這里是一個方法,或者說是一個變量了,一定要注意.

好了,現在我們來啟動一個http?

from prometheus_client import Gauge,start_http_serverfrom prometheus_client import Gauge
a = Gauge('a', 'Description of gauge')
a.set(345)   #value自己定義,但是一定要為 整數或者浮點數g = Gauge('g', 'Description of gauge',['mylabelname'])
g.labels(mylabelname='jastme').set(123)   #value自己定義,但是一定要為 整數或者浮點數
#此時一定要注意,定義Gague標簽的時候是一個列表,列表可以存多個lablename,類型是字符串
#在給lable定義value的時候也要注意,mylablename 這里是一個方法,或者說是一個變量了,一定要注意.start_http_server(8000)

這樣你就可以通過http訪問到數據

但是請注意,這是個靜態頁面。

如果需要做一個動態頁面,請

?

from prometheus_client import Gauge,start_http_server
import randomfrom prometheus_client import Gauge
a = Gauge('a', 'Description of gauge')
a.set(random.random())   #value自己定義,但是一定要為 整數或者浮點數g = Gauge('g', 'Description of gauge',['mylabelname'])#此時一定要注意,定義Gague標簽的時候是一個列表,列表可以存多個lablename,類型是字符串
#在給lable定義value的時候也要注意,mylablename 這里是一個方法,或者說是一個變量了,一定要注意.start_http_server(8000)
while True:g.labels(mylabelname='jastme').set(random.random())

這樣g的值就是?隨機的,?而a的值一直是固定的。

轉載于:https://my.oschina.net/jastme/blog/1546174

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287653.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287653.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287653.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php之無限極分類

http://blog.csdn.net/kankan231/article/details/8462349/轉載于:https://www.cnblogs.com/jeremyjs/p/4798169.html

【遙感數字圖像處理】實驗:遙感影像分類(監督、非監督分類)完整流程(Erdas版)

一.實驗目的: 理解計算機圖像分類的基本原理,掌握數字圖像非監督分類以及監督分類的具體方法和過程,以及兩種分類方法的區別。 二.實驗平臺:ERDAS IMAGINE 9.1 三.實驗要求:掌握非監督分類;非監督分類結果評價;監督分類;監督分類結果評價;分類后處理。 四.實驗…

mysql5.7.16安裝版_mysql數據庫5.7.16安裝版怎么安裝圖解

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云數據庫專家保駕護航,為用戶…

重大跨越!Windows 11 23H2 25115 推送:2023 年更新測試開啟,水印回歸

面向 Dev 頻道的 Windows 預覽體驗成員,微軟現已發布 Windows 11 預覽版 Build 25115。主要變化1.微軟宣布從 Dev 頻道切換到 Beta 頻道的選項正式關閉,Beta 頻道將繼續測試 Windows 11 版本 22H2,而 Dev 頻道將開啟 2023 年更新 Windows 11 …

團隊第二次沖刺第三天

已經明白自己犯錯誤的地方,經過今天的改正,成功調用數據庫儲存用戶名和密碼。 明天對于數據庫更加完善。轉載于:https://www.cnblogs.com/dotacai/p/5521506.html

Android Studio編譯提示如下attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layou

1 問題 Android Studio編譯提示錯誤如下 AAPT: error: attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layout_constraintBottom_toBottomOf) not found.2 解決辦法 在app的build.gradle文件里面添加依賴如下 implementation androidx.const…

《零基礎看得懂的C++入門教程 》——(4)條件判斷原來如此

一、學習目標 了解什么是條件判斷了解多個條件判斷了解輸入了解什么是邏輯與、邏輯或 目錄 預備第一篇,使用軟件介紹在這一篇,C與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》 想了解編譯原理和學習方法點這篇,學…

Django學習筆記(4)

為什么80%的碼農都做不了架構師?>>> 首先提一個問題:在Django中如何處理CRSF(Cross-site request forgery)? 先看一下CSRF原理。 其實就是惡意網站利用正常網站的cookie去非法請求。 ##Java處理方式## 一般做法需要后臺和前端配合采取策略去…

MySQL復制--slave設置讀取binlog的位置

change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info ->mi->rli->rli_init_info()->初始化./relay-bin.000001,4如果relay-log.info不存在的話,否則讀取//初始化mas…

【遙感數字圖像處理】實驗:遙感專題地圖制作經典流程(Erdas版)

實驗目的:掌握計算機輔助下遙感專題地圖的制作。實驗平臺:ERDAS 9.1實驗要求:掌握專題地圖的編輯;制圖文件路徑的編輯;系列地圖編輯工具的使用。實驗步驟:1 專題地圖的編輯 1.1 準備專題制圖數據 (1) 在視窗菜單條中點擊 File,選擇Open (2) 點擊 Raster Layer,打開S…

.NET版OCR緊隨PP-OCRv3重磅發布

.net版OCR地址PaddleOCRSharp:https://gitee.com/raoyutian/paddle-ocrsharpPaddleOCRSharp是一個基于PaddleOCR的C代碼修改并封裝的.NET的工具類庫。包含文本識別、文本檢測、基于文本檢測結果的統計分析的表格識別功能,同時針對小圖識別不準的情況下&a…

mysql導出二進制日志_使用mysqlbinlog提取二進制日志

MySQL binlog日志記錄了MySQL數據庫從啟用日志以來所有對當前數據庫的變更。binlog日志屬于二進制文件,我們可以從binlog提取出來生成可閱讀的SQL語句來重建當前數據庫以及根據需要實現時點恢復或不完全恢復。本文主要描述了如果提取binlog日志,并給出相…

《零基礎看得懂的C++入門教程 》——(5) 容我套個娃 循環

一、學習目標 了解循環的使用方法 目錄 預備第一篇,使用軟件介紹在這一篇,C與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》 想了解編譯原理和學習方法點這篇,學習方法和一些原理C與C都是相同的《脫離學習誤區》 …

Android之把app作為獨立的module導入其他項目遇到的坑

1 問題 把app作為獨立的module導入其他項目 2 步驟 1)在app的里面的build.gradle里面把 apply plugin: com.android.application 替換成如下 apply plugin: com.android.library 2)注視掉build.gradle文件里面的applicationId 3)app的AndroidManifest文件中MainActiv…

【ArcGIS風暴】ArcGIS解決數字化之前創建圖層時未定義坐標系而導致數據跑偏的問題

數字化時,第一步需要創建點線面圖層,創建圖層需要指定一個地理坐標系,但如果忽略了這一步,我們數字化的適量數據時沒有坐標系的,后果很嚴重,如果數字化工作只做了一點點,可以卷土重來;如果是大量工作的話,可以采取以下補救措施,建議收藏。 注: (1)如果底圖為無任…

Android兩個注意事項.深入了解Intent和IntentFilter(兩)

深入理解Intent和IntentFiler(二)轉載請表明出處:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 在上一篇文章中,我們比較具體學習了"Intent"的相關知識,如今將學習怎樣設置Intent對象的這些屬性以及怎樣使用他們來啟動組件。…

Oracle常用sql語句(一)

Sql的分類DDL操作數據庫表列等表基本的操作主鍵索引視圖 常用數據類型字符串類型數字類型日期類型LOB類型LONG類型 數據轉換character datenumbercharacter通用函數條件表達式Sql的分類 DDL (Data Definition Language):數據定義語言&#xf…

ASP.NET Web API 實現客戶端Basic(基本)認證 之簡單實現

優點是邏輯簡單明了、設置簡單。 缺點顯而易見,即使是BASE64后也是可見的明文,很容易被破解、非法利用,使用HTTPS是一個解決方案。 還有就是HTTP是無狀態的,同一客戶端每次都需要驗證。 實現: 客戶端在用戶輸入用戶名及…

WPF|分享一個登錄界面設計

分享一個登錄界面,先看效果圖:準備文中使用到了一些圖標:我們可以從 iconfont[1]免費下載:代碼簡單說明請隨手創建一個WPF項目(.NET Framework、.NET 5\6\7皆可),使用tree /f命令看看最終的文件…

《零基礎看得懂的C++入門教程 》——(6)自己動手寫個函數

一、學習目標 了解C語言的自定義函數的使用方法了解C語言自定義函數的傳參了解C語言自定義函數的返回值 目錄 預備第一篇,使用軟件介紹在這一篇,C與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》 想了解編譯原理和學習方法點…