入门教程
我们刚了解了该如何使用仪表盘变量,它们很强大,但是也有致命缺陷:仪表盘变量只能在定义它们的仪表盘内部使用。
假设有两个仪表盘:主机状态和网络状态,它们都是和主机监控相关,因此应该共享同一个变量:host:当我们在一个仪表盘中将host
设置为A
,然后切换到另一个仪表盘,我们希望host
变量也是A
。
换句话说:所有仪表盘共享同一个变量和同一个选中值。
Grafana 也有全局变量,但是只是它们自己的内置变量,用户无法自定义
全局变量和仪表盘变量使用相同的语法,唯一的区别是全局变量是在仪表盘之外定义的。
我们来创建一个名为 host
的全局变量:
配置
图标,然后选择 变量
标签页新建变量
打开变量编辑器啊哈,看起来是不是跟仪表盘变量一样? 所以大家应该很熟悉才对。
是的,host
跟我们在前面文档中创建的 instance
变量是一样的,都是从 Prometheus 中读取主机列表,唯一的区别是 host
是一个全局变量,它可以在任何仪表盘中使用。
点击 提交
按钮,你应该看到它出现在全局变量列表中。
首先,回到 Hosts info
仪表盘,看看全局变量的选择器长啥样。
是的,跟仪表盘变量一样,全局变量也有一个选择器,它们的区别是:全局变量的选择器在仪表盘的右侧,而仪表盘变量的选择器在左侧。
现在,选择一个 host
变量值,然后去首页的 Home
仪表盘,看看 host
变量在另一个仪表盘中长啥样
全局变量最重要的作用就是: 如果你在一个仪表盘中将 host
设置为 A
,那么所有其他仪表盘中的 host
也会被设置为 A
。
我们来尝试下,首先, 在 Hosts info
仪表盘中将 host
设置为 localhost:9100
,然后切换到 Home
和 User stats
仪表盘,你会发现:
非常棒,如我预期那样,在一个仪表盘中修改后,其它所有的都发生了变化,这样一来,我们可以玩出很多花样了。