视图变量¶
概述¶
观测云支持向视图中添加全局变量,当你想要在仪表板中,动态地完成图表的筛选,可以选择使用视图变量来实现。(注意:在切换视图变量时,下拉中仅支持显示前50个,可通过搜索查看其余变量)
添加视图变量¶
在仪表板中,若未添加过视图变量,顶部导航栏显示「添加视图变量」按钮,点击即可进入添加视图变量。
若已添加过视图变量,顶部导航栏下面会显示视图变量名称,点击右侧「编辑」按钮,即可进入视图变量编辑页面。
视图变量支持的数据来源包括「指标」、「DQL」、「系统对象」、「自定义对象」、「日志」、「应用性能」、「用户访问」、「安全巡检」和「自定义」。
DQL 查询¶
使用 DQL 可以实现查询变量和关联变量。(了解更多DQL函数说明)
Show 函数查询¶
【指标数据】建议使用该查询方式
语法 | 说明 |
---|---|
show_measurement() | 返回时序数据的指标集合 |
show_tag_key(from=["指标集名"]) | 返回指标集 tag 列表, 可以指定具体的指标 |
show_tag_value(from=['指标集名'], keyin=['标签名']) | 返回数据库中指定 tag key 的 tag value 列表 |
show_object_source() _ object 可替换为 logging/event/tracing/rum _ |
返回 object /log/keyevent/tracing /rum数据的指标集合,该函数不需要参数 |
SHOW_TAG_VALUE
函数示例:
DQL 语句查询¶
基础设施、日志等【非指标数据】建议使用该方式
语法 | 说明 |
---|---|
_数据源类型::数据来源:(distinct(属性字段名 )){筛选条件} _ |
M/metric - 时序指标数据 ;O/object - 对象数据;L/logging - 日志数据 ;E/event - 事件数据 ;T/tracing - 追踪数据 ;R/rum - RUM 数据 |
R::view:(distinct(app_id )) |
返回web应用用户访问监测的app_id列表 |
R::view:(distinct(env )) {app_id = '#{appid}'} |
变量联动,假使上一条查询的变量名设为appid ,则返回上条变量中所选app_id对应的evn 列表 |
R::view:(distinct(env )) {app_id = '8f05003ebccad062'} |
返回app_id=8f05003ebccad062 对应的evn 列表 |
变量联动查询¶
使用场景:两个变量 host(主机)、container_name(容器),选择host,自动显示该 Host 对应所有 Container 列表
变量1(主机名):查询最近10分钟的容器主机列表O::docker_containers:(distinct(
host)) [10m]
变量2(容器名):查询变量1中所选主机下的容器列表O::docker_containers:(distinct(
container_name)) {
host=
#{host}}[10m]
指标查询¶
选择【指标集】以及对应的【标签】
基础设施查询¶
选择【对象分类】以及对应的【属性字段】
自定义查询¶
自定义变量选项中的内容,每个选项之间用英文 “,” 隔开。
变量设置¶
字段描述¶
字段 | 描述 |
---|---|
默认值 | 当前视图变量在仪表板中的初始变量。支持预览当前视图变量的全部变量,并选择在仪表板默认查看的初始变量。默认值列表最多显示50个变量,支持搜索查找更多 |
变量名 | 当前视图变量集合所属的变量名称 |
显示名 | 当前视图变量集合在仪表板中现实的名称 |
高级设置¶
针对视图变量可以进行如下的高级配置:
功能 | 说明 |
---|---|
拖动排序 | 通过鼠标悬浮(hover)至图标,可点击拖动视图变量,调节先后顺序 |
排序 | 针对查询返回的视图变量进行默认、升降、排序排列。 |
是否隐藏 | 开启该功能后,在非编辑模式下,该变量不可见 |
如何使用视图变量¶
视图变量创建完成后,要在图表中关联此变量,实现图表与视图变量的联动筛选。
1)在图表查询中,筛选字段时,value值选中该变量即可。(此处下拉中显示的是变量名)
2)在场景视图中切换变量值,图表将根据变量标签进行筛选展示
修改/删除视图变量¶
点击「编辑」,点击视图变量编辑图标,进入变量管理页面,即可「修改」,点击删除图标即可「删除」。
对象映射¶
针对系统对象数据可以设置字段映射,字段映射只是用作显示,不会影响原字段数据。
添加映射¶
选择【数据来源】【对象分类】以及需要映射的两个【属性字段】。如下图所示:将container_id
映射显示为container_name
。
如何使用对象映射¶
字段映射的结果可以应用在两个地方:1)视图变量的下拉显示中;2)图表的显示中
在视图变量中应用¶
在视图变量中添加对象的【属性字段】,若该字段同样设置了字段映射,那么在视图变量中显示为:映射的字段(查询的字段)。
举例说明:
1)在【对象映射】中设置container_id
映射为container_name
。
2)在【视图变量】中添加了host变量(如下图所示)。
3)此时在视图中变量显示为:container_name(container_id)
。
在图表中应用¶
在图表中查询了对象的【属性字段】,并在设置中开启【字段映射】,若该字段同样设置了字段映射,那么在图表变量中显示为:映射的字段(查询的字段)。
举例说明:
1)在【对象映射】中设置host
映射为name
(如下图所示)。
2)在图表查询中使用该字段,并且在【设置】中开启【字段映射】,那么在图表中显示格式为name(host)
。
注意:
- 对象映射只支持设置对象类数据
- 使用对象映射时,必须先定义一个基于对象类字段的视图变量
- 同一对象分类的查询字段,不支持设置两个映射,即查询字段下拉中不存在该对象分类已添加的字段
- 开启字段映射时,图表中显示查询的「分组字段」和对应的「映射字段」,未指定映射的分组字段不显示
- 关闭字段映射时,图表中不显示映射的字段,正常显示。