go-zero Demo添加prometheus支持
本文将介绍如何在 zero-helloworld中支持 prometheus监控。
分别修改 search-api、user-api和 user-rpc服务的配置文件,在文件中添加 prometheus的 exporter配置,如下:
- search-api
# 监控
Prometheus:
Host: 0.0.0.0
Port: 9091
Path: /metrics
- user-api
# 监控
Prometheus:
Host: 0.0.0.0
Port: 9092
Path: /metrics
- user-rpc
# 监控
Prometheus:
Host: 0.0.0.0
Port: 9093
Path: /metrics
在项目中新建 zero-helloworld/data/prometheus/server/prometheus.yml配置文件,以便启动 prometheus server时使用。内容如下:
scrape_configs:
- job_name: "prometheus"
scrape_interval: 5s #重写了全局抓取间隔时间,由15秒重写成5秒
static_configs:
- targets: ["127.0.0.1:9090"]
- job_name: "search-api"
static_configs:
- targets: ["192.168.0.104:9091"]
- job_name: "user-api"
static_configs:
- targets: ["192.168.0.104:9092"]
- job_name: "user-rpc"
static_configs:
- targets: ["192.168.0.104:9093"]
由于 prometheus server在 docker容器中启动,配置文件中三个服务的 host地址需指定为通过 ifconfig获取的本机 ip, 若填为 127.0.0.1等约定地址,则会访问容器内的ip地址。
使用 docker run --name localprom -d -p 9090:9090 -v zero-helloworld/data/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus命令在docker容器中启动 prometheus服务。具体步骤可参考以下链接:
登录 localhost:9090查看监控到的指标:

本文只对如何在 go-zero中接入 prometheus进行了介绍。业务中如何定义上报指标可自行按需扩展。