【发布时间】:2018-09-06 11:34:31
【问题描述】:
我想试试simple 使用Prometheus 的例子。
- 我已经下载了服务器二进制文件
-
我已经开始simple code,但几乎没有修改
var addr = flag.String("listen-address", ":8080", "The address to listen on for HTTP requests.") func main() { flag.Parse() http.Handle("/metrics", promhttp.Handler()) http.Handle("/test/{id}", myHandler(promhttp.Handler())) log.Fatal(http.ListenAndServe(*addr, nil)) } func myHandler(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "hello, you've hit %s\n", r.URL.Path) next.ServeHTTP(w, r) }) }问题:
- 我假设 Prometheus 是监控工具,我想分别监控端点
metrics和/test/{id}。我是否通过创建多个处理程序并使用promhttp.Handler()作为中间件正确理解了这个想法? - 除了请求的数量和延迟之外,还可以在例如带有数据库的简单网络应用程序?
- 我假设 Prometheus 是监控工具,我想分别监控端点
【问题讨论】:
-
Prometheus 仅查询
/metrics,这是您运行promhttp.Handler()的唯一地方。
标签: go monitoring prometheus