Grafana 是一个功能非常强大的图表可视化工具,可以通过仪表盘轻松地将多个数据源的指标/日志数据进行可视化。有关其功能的更多介绍,可以查看官网 https://grafana.com/ 的相关说明。创建一个仪表盘并不是非常困难,但是我们需要手动去点击每个图表的设置项去进行配置,这个过程比较繁琐,我们希望有更加工程化的工具来做这个事情。
标准的 Dashboard
Grafana 的 Dashboard 是通过 JSON 格式的数据提供的,我们大部分都会创建 Dashboard,然后将其粘贴到保存 Dashboard 的文件夹中,如果你也同样使用 prometheus-operator 的话,则需要更新到对应的 ConfigMap 中去。调整 Dashboard 后对应的 JSON 模型
这种复制粘贴 Dashboard 的过程中,我们会经常在手动去更改 JSON 文件中的一些值的时候出错,如何让这个过程更加方便,减少错误,增加一些版本记录呢?在本文中,我们将使用 Prometheus 数据源和 prometheus-operator,你可以通过一些小的调整来适配你的监控栈方案。
使用 Grafanalib
Grafanalib 是一个开源的 Python 库,我们可以使用这个库来对 Dashboard 进行编码,编码后的 Dashboard 会生成对应的 JSON 数据。首先安装这个依赖库:$ pip install grafanalib
然后获取一个 Python 编写的基本 Dashboard:$ curl -o example-core.dash