我正在使用 prometheus golang 客户端。代码片段如下。同样的构建工作正常。
问题是只显示 go 指标。 xyz_* 指标缺失。我将 initMetrics() 作为 main() 函数中的第一件事。
// Declaring prometheus metric counters
var (
metric_prefix = "xyz_"
xyzAPICallsCounter = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: metric_prefix + "api_calls_total" ,
Help: "Number of calls to xyz endpoint",
},
[]string{
// Type of api call. Present values
"type",
// Method can be "add", "delete", "getall", "get", "create", "ensure"
"method",
// Status is success or failed
"status",
},
)
)
func initMetrics(){
prometheus.MustRegister(xyzAPICallsCounter)
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":8080", nil)
}
编辑:我将 initMetrics() 函数更改为以下内容,现在根本没有指标和以下错误消息。
func initMetrics(){
var registry = prometheus.NewRegistry()
registry.MustRegister(
xyzAPICallsCounter,
)
http.Handle("/metrics", promhttp.HandlerFor(registry, promhttp.HandlerOpts{}))
log.Fatal(http.ListenAndServe(":8080", nil))
}
最佳答案
关于go - Prometheus 指标未使用 Prometheus Go 客户端显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47634807/