-
慕尼黑的夜晚无繁华
您可以从prometheus/client_golang中找到示例。为了让你开始,你可以得到包:$ go get github.com/prometheus/client_golang/prometheus$ go get github.com/prometheus/client_golang/prometheus/push您可以通过设置正确的推送网关地址来运行以下示例,在此示例中为http://localhost:9091/ :package mainimport ( "fmt" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/push")func ExamplePusher_Push() { completionTime := prometheus.NewGauge(prometheus.GaugeOpts{ Name: "db_backup_last_completion_timestamp_seconds", Help: "The timestamp of the last successful completion of a DB backup.", }) completionTime.SetToCurrentTime() if err := push.New("http://localhost:9091/", "db_backup"). Collector(completionTime). Grouping("db", "customers"). Push(); err != nil { fmt.Println("Could not push completion time to Pushgateway:", err) }}func main() { ExamplePusher_Push()}运行你的脚本:$ go run pushExample.go运行代码后,您应该会在网关 ( http://localhost:9091/ ) 上看到指标。界面如下所示:
-
守候你守候我
我找到了这个`package mainimport ( "net/http" "github.com/prometheus/client_golang/prometheus")var (cpuTemp = prometheus.NewGauge(prometheus.GaugeOpts{ Name: "cpu_temperature_celsius", Help: "Current temperature of the CPU.", })hdFailures = prometheus.NewCounter(prometheus.CounterOpts{ Name: "hd_errors_total", Help: "Number of hard-disk errors.",}))func init() { prometheus.MustRegister(cpuTemp) prometheus.MustRegister(hdFailures)}func main() { cpuTemp.Set(65.3) hdFailures.Inc() http.Handle("/metrics", prometheus.Handler()) http.ListenAndServe(":8080", nil)}`这可能对某些人有用。
-
撒科打诨
Prometheus 是一个基于拉的系统,如果你想要基于推送的监控,你需要使用某种网关。一个最小的例子(实际上没有做任何有用的事情,比如启动一个 HTTP 监听器,或者实际上对一个指标做任何事情)如下:import ( "github.com/prometheus/client_golang/prometheus" "net/http")var responseMetric = prometheus.NewHistogram( prometheus.HistogramOpts{ Name: "request_duration_milliseconds", Help: "Request latency distribution", Buckets: prometheus.ExponentialBuckets(10.0, 1.13, 40), })func main() { prometheus.MustRegister(responseMetric) http.Handle("/metrics", prometheus.Handler()) // Any other setup, then an http.ListenAndServe here}然后,您需要配置 Prometheus 以抓取/metrics您的二进制文件提供的页面。