可以使用Grafana的变量和模板功能在仪表板中定义规则并进行筛选。以下是一个示例仪表板,该仪表板可以按照CPU使用率过滤主机。
在仪表板设置中,选择“变量”选项卡,创建一个新的变量。在“变量类型”下拉菜单中选择“查询”,并在“数据源”下拉菜单中选择与要查询的字段关联的数据源。在“查询”字段中,输入以下代码:
label_values(node_cpu_seconds_total{mode!="idle",mode!="iowait"}, instance)
该代码将返回所有不处于空闲或iowait状态的实例列表。
在仪表板设计中,选择要过滤的仪表板窗格,并转到“查询”选项卡。在查询中添加以下代码:
node_cpu_seconds_total{mode!="idle",mode!="iowait",instance=~"$hostname"}
其中,$hostname 表示变量的名称。这将获取与所选主机相关的所有数据。
在仪表板中添加一个新的模板变量,名称设置为“hostname”,并将数据源设置为与要查询的字段关联的数据源。在“变量定义”字段中,输入以下代码:
label_values(node_cpu_seconds_total{mode!="idle",mode!="iowait"}, instance)
在仪表板中,可以使用其它仪表板和单独的可变元素来执行CPU使用率的过滤功能。通过在模板变量中定义规则并在查询中使用变量,我们可以轻松实现按照单个字段的规则过滤Grafana仪表板。