模板变量

# 1. 模板变量

模板变量是通过在当前视图定义一组变量,并由子视图的搜索条件引用变量,来快速的改变子视图的搜索条件,就可达到在一个视图仅需要改变变量的值,就可以查看其对应的视图,而无需仅因搜索条件的不同而构建多个相同的可视化面板。

# 1.1 管理模板变量

可通过模板变量列表对模板变量进行统一的管理。

如下图所示,在模板变量列表中,支持① 新增② 删除③ 修改操作,支持在⑤ 搜索栏中输入任意字符串,也支持④ 设置列宽的展示方式,如均分列宽,按内容分配列宽。

00-模版变量列表

00-模版变量列表

# 1.2 新建模板变量

需要对当前视图构建一些快速搜索条件时,则可新建模板变量来实现。例如:构建应用可观测性视图时,需要快速查看不同应用的视图,则可将应用这个搜索条件为构建一个模板变量

第一步:点击视图详情页面的① 设置按钮,选择② 管理模板变量

01-第一步

01-第一步

第二步:点击模板变量列表弹出框的③ 新建模板变量按钮

02-第二步

02-第二步

第三步:根据所需,创建模板变量。DeepFlow 平台一共提供三种类型的模板变量,分别为下拉选择文本输入分组,详细描述见后续对应章节。

03-第三步

03-第三步

# 1.2.1 下拉选择

下拉选择类型的模板变量,是通过下拉框切换的形式来改变搜索条件。目前支持对 DeepFlow 平台的数据库 resourcexx_enum 类型的 Tag 构建此类型的模板变量。

  • :DeepFlow 平台数据库描述,见后续说明。

04-下拉选择

04-下拉选择

  • ① 查询类型: 不同的数据传值方式不同
    • 按ID查询:支持传输 id 查询
    • 按名称查询:支持传输 string 查询
  • ② 取值范围::支持静态取值动态取值两种方式设置模板变量的取值
    • 静态取值:引用后,取值范围固定
    • 动态取值:与静态取值相比,动态取值的取值范围可受静态取值取值Tag影响,使用详情,请参阅【创建与引用】章节
    • ③ 数据来源: 确定模板变量取值所在的数据表
    • ④ 取值Tag: 确定模板变量取值对应的 Tag
    • ⑤ 取值范围: 选择模板变量对应的取值
  • ⑥ 选择模式: 通过下拉框切换的形式来改变搜索条件,默认为单选
    • 多选:勾选多选,则可切换为多选模式
    • 全选:勾选全选,则候选项中出现全选,即选中当前模板变量全部的取值
  • 如何引用:图表的搜索栏中添加查询条件时,输入Tag,已建立的相同Tag模版变量,将以候选项的形式出现在下拉框中,使用详情,请参阅【创建与引用】章节

# 1.2.1.1 创建与引用

接下来,将演示如何创建与引用静态模版变量动态模板变量,以及将动态与静态模版变量进行联动

  • 首先,创建名为K8s 命名空间pod_ns的静态模版变量,取值范围为deepflow-ebpf-istio-demo、deepflow-otel-grpc-demo、deepflow-telegraf-demo

05-创建静态模板变量

05-创建静态模板变量

  • 其次,创建名为K8s 工作负载pod_group的动态模版变量,取值范围选择pod_ns = K8s 命名空间,即pod_group的下拉候选项将受到pod_ns的选择变化而变化

06-创建动态模板变量

06-创建动态模板变量

  • 随后,选择查询条件pod_group = K8s 工作负载,在图表的搜索条件中引用模板变量

07-模板变量引用

07-模板变量引用

  • 最后,可在视图顶部快速切换引用的模板变量,K8s 命名空间选择不同,K8s 工作负载的候选项不同

08-使用模版变量

08-使用模版变量

09-切换模版变量

09-切换模版变量

# 1.2.2 文本输入

文本输入类型的模板变量,是通过输入字符串的形式来改变搜索条件。

10-文本输入

10-文本输入

文本输入类型的模板变量,支持被任何可直接输入的 Tag 或者操作符引用。在搜索条件中出现的形式与下拉选择类型的模板变量类似。

  • ① Tag 引用:支持 int、int_enum、string、ip、mac 类型,以上数据类型 Tag 均支持所有操作符

11-Tag 引用

11-Tag 引用

  • ② 操作符引用:支持 :, !:, =~, !~ 类型,以上类型均支持所有类型 Tag

12-操作符引用

12-操作符引用

# 1.2.3 分组

分组类型的模板变量,是通过下拉框切换的形式改变分组。例如需要从类似K8s 集群 -> K8s 命名空间 -> K8s 容器服务 -> K8s 工作负载 -> K8s 容器 POD这种,层层深入挖掘数据时,可构建此模板变量。

13-分组

13-分组

  • 取值范围:目前 DeepFlow 平台数据库的所有 Tag 都可以作为此类型模板变量的取值
    • ① :确定模板变量取值所在的数据表
    • ② :选择模板变量对应的取值
  • 选择模式:详情描述,见下拉选择类型的模板变量描述
    • :主分组不可以引用多选全选模式的模板变量

分组类型的模板变量,仅可被搜索条件中的分组引用。在分组下拉框中,以候选项的形式出现。

14-分组引用

14-分组引用