拿到一个新需求,通过 Prometheus & Grafana 监控接口。
有点晚了,长话短说,早点回家。
整合 Prometheus 到 go 项目中
可以参考官方示例。
重点只有这一句,表示记录一个值。对于我们来说就是接口运行时间。
rpcDurationsHistogram.Observe(v)
安装启动 Prometheus
请看官方教程。
配置 Prometheus
启动后访问 9090 就可以看到数据了,不过这些数据是 Prometheus 自己的。我们还需要将我们的服务加入到监控中。
- job_name: 'game'
metrics_path: '/prometheus/metrics'
static_configs:
- targets: ['localhost:8021']
名称、路径、端口号。
重启 Prometheus 就可以看到我们自己的数据了。
Grafana 使用和配置
下载、安装、运行,具体过程不表。注意工作目录的路径。
通过默认的 3000 端口进入 Grafana 面板,新建数据源。端口填 Prometheus 的端口,导入自带的三个插件。
配置面板,把需要展示的数据展示出来。
如图是两个请求的耗时比较。数据量比较小,不太好看。