变量查询¶
视图变量的查询用于定义变量的取值范围与数据来源,支持配置取值范围是否跟随仪表板时间控件联动,满足不同数据筛选需求。
取值范围控制¶
查询获取的可选值,可以选择是否受仪表板时间范围影响:
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 跟随仪表板联动 | 根据仪表板时间控件筛选数据 | 只看近期活跃的主机,避免历史垃圾数据 |
| 不跟随仪表板联动 | 列出所有历史数据 | 需要全量枚举,如所有服务名称(服务通常不会频繁增减) |
主要查询方式¶
视图变量目前支持五类查询方式,您可按需选择:
| 查询方式 | 应用场景 | 关键特性 |
|---|---|---|
| DQL 查询 | 查询日志、对象、链路等非指标数据 | 唯一支持全量数据类型,支持级联查询 |
| PromQL 查询 | 只查指标数据,且熟悉 Prometheus | 语法兼容 PromQL 生态 |
| 数据类型查询 | 不写查询语句,快速点选配置 | 可视化选择,零代码 |
| 外部数据源 | 对接外部 MySQL 等数据库 | 直接使用 SQL 查询 |
| 自定义 | 只有固定的几个选项 | 直接填写,不查数据库 |
DQL 查询¶
支持指标、日志、基础设施、对象、链路、RUM 等所有数据类型,功能最全面。
点击 了解更多 DQL 定义和语法。
基础语法结构¶
示例:
时间范围指定¶
DQL 支持在语句中直接指定时间范围,优先级高于仪表板时间控件:
| 写法 | 含义 |
|---|---|
[10m] |
最近 10 分钟 |
[1h] |
最近 1 小时 |
[1d] |
最近 1 天 |
| 不写 | 使用仪表板时间控件 |
示例:
Show 函数查询¶
适用于查询指标相关的元数据信息,不支持时间范围。
语法结构¶
| 语法 | 说明 |
|---|---|
show_measurement() |
返回当前工作空间所有的指标集 |
show_tag_key(from=["cpu"]) |
返回当前工作空间指标集 cpu 下面的标签 |
show_tag_key(from=["cpu"],keyin=["host"]) |
查询当前工作空间指标集 cpu 的 host 标签值列表 |
点击 了解更多 DQL 函数说明。
示例:
PromQL 查询¶
PromQL 查询支持手写查询语句,默认使用仪表板时间控件所选时间进行查询并返回数据。
关于 PromQL 查询相关信息,可参考 PromQL 快速上手。
数据类型查询¶
如果您需要快速配置,不想编写查询语句,可直接选择数据类型,并在页面上直接选择筛选条件。
支持的数据类型:
- 指标
- 基础对象(主机、容器、进程等)
- 资源目录
- 日志
- 应用性能
- 用户访问
在此模式下,无法添加时间范围或配置级联查询。
外部数据源¶
如果您的目标查询可选值存储在外部数据库(如 MySQL、PostgreSQL),可选择此类查询方式,直接对接已有数据系统。
- 选择数据源;
- 输入查询语句;
- 选择排序方式。
更多详情,可参考 外部数据源。
自定义查询¶
如果您的目标可选值固定且数量有限,无需查询数据库,此时可直接定义一组数值用于视图变量,无需通过查询语句获取值,每个选项之间用英文逗号 , 分隔,如:prod,test,dev,staging。
此查询方式不支持添加时间范围和配置级联查询。
级联查询¶
当多个变量存在层级关系时使用。例如:
- 选择“服务”后,“环境”下拉框只显示该服务的环境(而非全部环境)。
- 选择“环境”后,“版本”下拉框只显示该环境的版本
配置条件¶
- 仅 DQL 查询支持级联配置;
- 子变量的查询语句中,通过
#{父变量名}引用父变量的当前值。
配置示例¶
以下以用户访问监测中 Web 应用概览的视图变量级联筛选为例,基于服务、环境和版本进行联动查询的配置说明:
需在仪表板配置三条变量查询语句,第二和第三条查询语句使用第一条查询配置的 #{变量名}:
- 变量 1(服务):查询所有应用列表:
- 变量 2(环境):查询所有应用列表,且变量 1 中所选的环境列表:
- 变量 3(版本):查询所有应用列表,且变量 2 中所选的版本列表:
查询场景示例¶
关联图表¶
-
在图表查询中,筛选字段时,
value值选中该变量; -
在场景视图中切换变量值,图表将根据变量标签进行筛选展示。
图表反向添加¶
前提
对应的 DQL 筛选中存在 by 分组条件。
- 点击图表特定时间线或数据点后;
- 选择应用到视图变量;
- 系统自动填充查询。




