我想寫使用client_golang如何使用client_golang
我找不到這方面的任何有用的例子在GoLang一個JSON出口拉動的普羅米修斯指標。我有一個通過HTTP產生JSON輸出的服務ABC。我想使用客戶端-golang將此度量標準導出到prometheus。
我想寫使用client_golang如何使用client_golang
我找不到這方面的任何有用的例子在GoLang一個JSON出口拉動的普羅米修斯指標。我有一個通過HTTP產生JSON輸出的服務ABC。我想使用客戶端-golang將此度量標準導出到prometheus。
看看Go客戶端的godoc,它非常詳細,幷包含大量的例子。在一個用於收集器接口可能是最相關的位置:
https://godoc.org/github.com/prometheus/client_golang/prometheus#example-Collector
從本質上講,你將實現收集器接口,其中包含兩個方法:describe
和collect
。
describe
只是通過給定通道發送收集器可能的度量標準的描述。這包括他們的名字,可能的標籤值和幫助字符串。
collect
創建與describe
中的描述相匹配的實際指標,並使用數據填充它們。因此,就你的情況而言,它會從你的服務中獲取JSON,解組並將值寫入相關指標。
在你main
功能,你就必須註冊您的收藏家,並啓動HTTP服務器,就像這樣:
prometheus.MustRegister(NewCustomCollector())
http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(":8080", nil))
你的意思是你想要寫一個出口商使用golang自己的服務?列在prometheus exporter page上的出口商都是很好的例子,其中許多是用golang編寫的,你可以選擇一個簡單的例子,看看它是如何實現的。
基本上你需要做的是:
Exporter
型Exporter
到prometheus由prometheus.MustRegister
你想要通過prometheus拉動度量嗎?或者你想推普度美國pushgateway?如果你想拉動指標,你應該通過http註冊指標,如下所示:https://github.com/prometheus/client_golang/blob/master/examples/random/main.go – Leonard
我有一個服務可以通過HTTP生成JSON輸出。需要一個從這個HTTP讀取JSON並將它傳遞給prometheus的GoLang示例。 – ambikanair
https://www.robustperception.io/writing-json-exporters-in-python/ 在GoLang中這樣的事情。 – ambikanair