菜单
开源 Grafana Cloud

模板指南

您可以使用模板变量创建高度可重用和交互式的仪表盘。模板的基本思想是让 Grafana 从数据源获取不同的指标,并提供一种动态更改它们的方式,而无需修改仪表盘。对于 Zabbix,这意味着您可以获取主机组、主机、应用程序或项目的列表,并将其添加为变量。

创建变量

要创建模板变量,请点击顶部导航栏上的齿轮图标并选择 Templating

Templating menu

当您点击 New 按钮时,您将看到模板变量编辑器。它包含以下部分

Variable editor

变量

名称
变量的名称。您应在查询中使用此名称。

标签
变量的可见标签。当您想在仪表盘上显示不同的名称时使用。例如,显示 Host Group 而非 host_group

类型
默认选择 Query 类型。这意味着 Grafana 向数据源请求变量的值。但还有其他一些类型:Interval(仅时间间隔)、Data source(您可以切换数据源,例如,如果您有多个 Zabbix 实例,并且每个都已作为数据源添加到 Grafana 中)、Custom(您可以为变量设置任何预定义的值)和 Constant(常量)。

查询选项

数据源
用于查询变量值的数据源。

刷新
何时更新此变量的值。

查询
查询字符串。

正则表达式
如果需要过滤值或提取值的一部分,请使用正则表达式。

选择选项

多值
如果您想同时选择多个值,请启用此项。

值组/标签(实验性功能)

查询格式

Zabbix 数据源中的模板变量查询是一个字符串,包含用花括号({})括起来的四个部分。您仍然可以使用句点(.),但它已被弃用,并将在将来移除。

sh
{host group}{host}{application}{item name}

例如,

sh
{Zabbix servers}{Zabbix server}{CPU}{*}
{Frontend}{web01.mydomain.com}{*}{*}

每个部分可以是相应指标的名称或 *,表示 所有指标

示例

  • {*} 返回所有可用主机组的列表
  • {*}{*} 返回 Zabbix 中的所有主机
  • {Network}{*} 返回 Network 组中的所有主机
  • {Linux servers}{*}{*} 返回 Linux 服务器组中所有主机的应用程序
  • {Linux servers}{backend01}{CPU}{*} 返回属于 CPU 应用程序的 backend01 的所有项目。

您可以使用另一个变量作为查询的一部分。例如,您有一个变量 group,它返回主机组的列表,并希望用它仅查询所选组中的主机。以下是针对这种情况的查询

sh
{$group}{*}

变量使用

创建变量后,您可以将其用作数据源查询的一部分。Grafana 还支持在面板和行的标题、文本面板内容等不同位置使用变量。

Query with variables

请注意,您应在变量名称前添加 $ 符号(对于 host 变量,使用 $host)。

Grafana 文档中查看更多关于模板的内容