有些软件很长时间不用以后,用法会忘到一点都想不起来,每次都要重新学习。这里做个记录。
Grafana Variable syntax。在 Dashboard Setting 的 Variable 中添加变量。变量的 value 可以指定一个数据源,然后写一个对应的查询语句从数据源中获取。
在面板的查询语句中用 $ 或者 ${} 引用变量,例如针对 prometheus 数据源的查询语句中使用变量:
agent_metric_online{provider=~"${provider:pipe}",province=~"${province:pipe}",city=~"${city:pipe}",isp=~"${isp:pipe}"}
特别是支持多选的变量,在使用的时候可能需要根据数据源进行格式转换。Grafana 提供多种转换函数,具体间 Grafana Variable syntax。
比如 pipe 将数组转换成|分隔的字符串:
servers = ['test1.', 'test2']
String to interpolate: '${servers:pipe}'
Interpolation result: 'test1.|test2'
要实现变量值的映射,比如在面板上选择时显示「上海」,选中后对应的变量值是「SH」。要实现这个效果,需要通过 Custom 类型的变量。在它的可用值中用「key : value,key : value,…」的格式填入映射。比如:
北京市 : BJ,上海市 : SH,天津市 : TJ
变量类型为 Query 时,可以从 Prometheus 数据源中查询 label value 作为变量的可用值。在 query 使用 label_values 函数获取:label_values(cluster)。该函数是 grafana 提供。
在 panel 的编辑页面右侧找 Axes -> Left Y -> Unit,下拉列表中有多种单位可选。数值默认是 short,如果要显示成用「,」分隔的数字,选择 Misc-> Locale format。
边界状态,直接在点击 legend 前面的颜色条,会弹出颜色选项。
在编辑页面中点击 Transform,添加 Rename by regex,可以通过正则匹配修改 legend。
编辑页面中,在侧边栏的 Visualization 中选择 Table,将图表显示为表格。
在 Qeury tab 中,Format 设置为 table,开启 instant(只显示最新值)。
在 Transform 中添加 Organize Fields,然后就可以看到所有字段,可以调整为隐藏/显示。