最近一位客户提出了一个问题,我很惊讶我们没有一个简单的答案:
如何将一些深奥的ID或序列号(如fe03-s3-x883)转换为用户友好的名称(如“harry”或“alice”)?
在常规的模板语言中,通过映射文件或类似文件很容易做到这一点,但用Grafana要稍微复杂一些。如果您正在使用SQL (Grafana现在支持SQL),有一个简单的技巧可以完成这个任务。
客户在重复一行的上下文中询问,但是下面的答案适用于任何变量。
让我们假设一些人为的,但简单的数据来解释这个概念。
service_id | display_name |
---|---|
x0032s24 | 爱丽丝 |
x123s997 | 鲍勃 |
y83l93 | 查理 |
我们需要将这些数据存储在一个Grafana可以访问的数据源中。我使用了MariaDB/MySQL数据库,但Postgres也可以工作。
在我的实验室环境中,我只是在我的Grafana服务器上快速安装了MariaDB包,并使用了没有身份验证的测试数据库。在生产环境中,您当然会考虑到更多的安全性。请特别注意底部的警告信息。
接下来,我们将把数据放入数据库。如果您有很多条目,请研究将数据放入MySQL表的多种方法。
现在我们有了想要的数据。
在仪表盘中,进入仪表板设置菜单和变量部分,单击新对于一个新变量,并像下面那样填充它。
关键位在查询中。指定为的数据库列__text
在显示变量和赋值给什么时使用__value
作为Grafana进行查询时的实际值。的文档的mysql数据源有更多的信息,关于你可以做什么。
让我们在一个简单的仪表板上尝试一下。
这里你可以看到,尽管下拉菜单显示的是我们想要的显示名称,查询变量,service_id美元
,实际上是使用存储在数据库中的值来执行查询。
它也适用于图表标题。
你甚至可以循环它。
关于监控最佳实践有什么问题吗?电邮至help@www.tubolov.com.