近期,在公司做监控数据的挪移工作,用的Prometheus的源,Grafana的仪表盘。
踩的一些坑如下:
1.variables的编写
DashBoard Settings -> Variables 进入变量设置
想要的效果:
通过tenant选择的值去进一步选择后面的obzone。
在query里填写label_values(metric名{变量列表},label名)
eg.
要根据tenant名来得到可以选择的obzone列表
label_values(metric名{tenant=~"{$tenant}",obzone)
这边=后面的~表示后面的是正则表达式,查询obzone的列表,条件是tenant=已经选择好的tenant的值。
可参考的博客:Grafana Query类型模板变量的使用
2. description 换行
在每一个panel的左上角希望有一段鼠标悬停则会出现的提示文字,
在panel的General -> Description(Title旁边) 输入相应文字
其中换行用双空格
3. query
具体的查询语句,格式为
metric名{变量列表}
可以再加一些聚合函数,如sum等
再在聚合函数后加上group by
sum(metric名{变量列表}) by(指标1,指标2)
还有一些常用的函数:rate函数,计算某个指标在一定时间间隔内的变化速率
4. legend
每个query下面可填写legend,如果不需要可以在Visualization -> Legend -> Options将Show取消勾选。
5. 通过JSON Model调整布局
多个panel的布局慢慢调整大小很麻烦,可以在 Settings -> JSON Model中直接修改代码。
找到控制大小的部分:
修改“h”,"w"的值,笔者希望达成一行4个panel的效果,故将w改为6,h也统一为8。
这一步可以用文本编辑器完成。
而x,y的改动比较麻烦,笔者采用的是手动拖的方式。
6.将页面内的panel分组/row
点击右上角add Panel,找到最下面的Convert to row。