[英]How to pull metrics in prometheus using client_golang
我正在嘗試使用client_golang在GoLang中編寫一個JSON導出器
我找不到任何有用的示例。 我有一個服務ABC,它通過HTTP生成JSON輸出。 我想使用client-golang將該指標導出到prometheus。
看一下Go客戶端的godoc,它非常詳細,並包含許多示例。 這里的Collector界面最相關:
https://godoc.org/github.com/prometheus/client_golang/prometheus#example-Collector
本質上,您將實現Collector接口,該接口包含兩個方法: describe
和collect
。
describe
只是通過給定通道發送有關收集器的可能指標的描述。 這包括它們的名稱,可能的標簽值和幫助字符串。
collect
創建一個從符合描述的實際指標describe
並用數據填充它們。 因此,在您的情況下,它將從服務中獲取JSON,將其解組,然后將值寫入相關指標。
然后,在main
功能中,您必須注冊您的收集器,然后啟動HTTP服務器,如下所示:
prometheus.MustRegister(NewCustomCollector())
http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(":8080", nil))
您是說要使用golang為自己的服務編寫導出程序? 普羅米修斯出口商頁面上列出的出口商都是很好的例子,其中許多都是用golang編寫的,您可以選擇一個簡單的例子,例如redis出口商,以了解其實現方式。
基本上,您需要做的是:
Exporter
類型 Exporter
到prometheus。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.