Prometheus可视化展示
控制台
接上文。
当服务启动后,访问http://<服务器IP地址>:9090来验证服务是否已启动成功。
此时的界面应该是这样的:
点击Status>Targets,可以看到若干个配置好的job node,也就是之前在prometheus.yml配置文件中,配置好的需要监控的节点。当State为"UP"时,表示已连接并获取其监控指标,为"DOWN"时则需要根据Error来排查错误原因。
targets.png
如果想验证Prometheus自己输出了什么性能数据,可以打开 http://127.0.0.1:9090/metrics 查看。
回到http://<服务器IP地址>:9090/graph或点击Graph按钮。在这里,我们可以查看prometheus抓取了哪些指标,根据不同的时间维度可以拉出chart。(虽然UI可能不太好看)
既可以通过expression input框自定义表达式,也可以通过下拉框过滤指标。例如想查询99%的抓取耗时,可以输入:
prometheus_target_interval_length_seconds{quantile="0.99"}
点击execute后,会返回多条时间序列,console内列出的是最后一次抓取到的数值。不同的标签表示不同的时间间隔和耗时。
console.png chart.png
如果想查询目标抓取间隔时间长度,可以这样:
prometheus_target_interval_length_seconds
如果想查询返回的时间序列有多少条,可以这样:
count(prometheus_target_interval_length_seconds)
更多组合查询语句可以参考promsql。
讲道理其实还是有一点学习成本的,而且自带的图表是非常基础的,只能用来临时查看一下数据。如果要构建强大的dashboard,还是需要更加专业的工具才行。那么有没有比较通用的模板,以及有没有更好的展示方式呢?
答案是肯定的。
那就是Grafana官网。
Grafana安装
在官网下载对应的安装包解压后,使用默认配置运行即可。
默认端口为3000。账号/密码 admin/admin。
配置
在进入Grafana页面后,最好是先修改密码。然后设置数据源即Data Sources。
dataSources.png config.png
在ping通服务之后,grafana的服务就算完成了。但这还不够,因为我们还需要构建dashboard,比如图表、状态值、表格等等。这里我选择的是开箱即用的grafana-dashboards,在dashboards文件夹中,下载对应的json文件。
把下载好的json复制粘贴到文本框或是upload上传,load之后,就可以看到对应的模板了。
home.png