虽然 Prometheus 也提供了 Web UI 查看不同指标的视图,但是这个功能非常简单,只适合用来调试。要实现一个强大的监控系统,还需要一个能定制展示不同指标的面板,能支持不同类型的展现方式(曲线图、饼状图、热点图、TopN 等),这就是仪表盘(Dashboard)功能。因此 Prometheus 开发了一套仪表盘系统 PromDash,不过很快这套系统就被废弃了,官方开始推荐使用 Grafana 来对 Prometheus 的指标数据进行可视化,这不仅是因为 Grafana 的功能非常强大,而且它和 Prometheus 可以完美的无缝融合。
Grafana 是一个用于可视化大型测量数据的开源系统,它的功能非常强大,界面也非常漂亮且高度定制化,使用它可以创建自定义的控制面板,你可以在面板中配置要显示的数据和显示方式,它支持很多不同的数据源,比如:Graphite、InfluxDB、OpenTSDB、Elasticsearch、Prometheus 等,而且它也支持众多的插件。
安装
docker run \
-d \
-p 3000:3000 \
--name=grafana \
grafana/grafana
我们使用比较简单的 Docker 安装,更多的安装方式请查看官方文档,启动后我们访问 http://localhost:3000(用户密码都是admin)
配置数据源,告诉 Grafana 从哪里取数据,点击 Add data source 进入数据源的配置页面
PS : 这里的 Access 是 Grafana 访问数据源的方式,有 Browser 和 Proxy 两种方式。Browser 表示直接通过 URL 访问数据源的;而 Proxy 表示先访问 Grafana 的某个代理接口(接口地址是 /api/datasources/proxy/),由 Grafana 的服务端来访问数据源的 URL,如果数据源是部署在内网,用户通过浏览器无法直接访问时,这种方式非常有用。