可以使用 golang 的 prometheus 客户端库来调用 prometheus api 查询指标。
- 首先,需要引入以下两个库:
import (
"github.com/prometheus/client_golang/api"
"github.com/prometheus/client_golang/api/prometheus/v1"
)
- 创建 prometheus api 客户端:
client, err := api.NewClient(api.Config{
Address: "http://localhost:9090",
})
if err != nil {
panic(err)
}
- 创建 prometheus api 查询器:
queryAPI := v1.NewAPI(client)
- 使用查询器来查询指标:
result, err := queryAPI.Query(context.Background(), "up")
if err != nil {
panic(err)
}
fmt.Println(result)
上面的代码查询了 up 指标(表示所有已注册的 Exporter 是否处于活动状态)的值,并打印出结果。
完整代码示例:
package main
import (
"context"
"fmt"
"github.com/prometheus/client_golang/api"
"github.com/prometheus/client_golang/api/prometheus/v1"
)
func main() {
// 创建 prometheus api 客户端
client, err := api.NewClient(api.Config{
Address: "http://localhost:9090",
})
if err != nil {
panic(err)
}
// 创建 prometheus api 查询器
queryAPI := v1.NewAPI(client)
// 查询指标
result, err := queryAPI.Query(context.Background(), "up")
if err != nil {
panic(err)
}
fmt.Println(result)
}




