模板指南
您可以使用模板变量创建高度可重用和交互式的仪表盘。模板的基本思想是让 Grafana 从数据源获取不同的指标,并提供一种动态更改它们的方式,而无需修改仪表盘。对于 Zabbix,这意味着您可以获取主机组、主机、应用程序或项目的列表,并将其添加为变量。
创建变量
要创建模板变量,请点击顶部导航栏上的齿轮图标并选择 Templating。
当您点击 New 按钮时,您将看到模板变量编辑器。它包含以下部分
变量
名称
变量的名称。您应在查询中使用此名称。
标签
变量的可见标签。当您想在仪表盘上显示不同的名称时使用。例如,显示 Host Group 而非 host_group。
类型
默认选择 Query 类型。这意味着 Grafana 向数据源请求变量的值。但还有其他一些类型:Interval(仅时间间隔)、Data source(您可以切换数据源,例如,如果您有多个 Zabbix 实例,并且每个都已作为数据源添加到 Grafana 中)、Custom(您可以为变量设置任何预定义的值)和 Constant(常量)。
查询选项
数据源
用于查询变量值的数据源。
刷新
何时更新此变量的值。
查询
查询字符串。
正则表达式
如果需要过滤值或提取值的一部分,请使用正则表达式。
选择选项
多值
如果您想同时选择多个值,请启用此项。
值组/标签(实验性功能)
查询格式
Zabbix 数据源中的模板变量查询是一个字符串,包含用花括号({}
)括起来的四个部分。您仍然可以使用句点(.
),但它已被弃用,并将在将来移除。
{host group}{host}{application}{item name}
例如,
{Zabbix servers}{Zabbix server}{CPU}{*}
{Frontend}{web01.mydomain.com}{*}{*}
每个部分可以是相应指标的名称或 *
,表示 所有指标。
示例
{*}
返回所有可用主机组的列表{*}{*}
返回 Zabbix 中的所有主机{Network}{*}
返回 Network 组中的所有主机{Linux servers}{*}{*}
返回 Linux 服务器组中所有主机的应用程序{Linux servers}{backend01}{CPU}{*}
返回属于 CPU 应用程序的 backend01 的所有项目。
您可以使用另一个变量作为查询的一部分。例如,您有一个变量 group,它返回主机组的列表,并希望用它仅查询所选组中的主机。以下是针对这种情况的查询
{$group}{*}
变量使用
创建变量后,您可以将其用作数据源查询的一部分。Grafana 还支持在面板和行的标题、文本面板内容等不同位置使用变量。
请注意,您应在变量名称前添加
$
符号(对于 host 变量,使用$host
)。
在 Grafana 文档中查看更多关于模板的内容