> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 查询工作台

> 在 Flashduty Monitors 中对 Prometheus、Loki、VictoriaLogs、SLS、CLS 及 SQL 数据源执行即时查询，支持图表、原始数据、日志时间分布等多种结果形态。

查询工作台（Explore）是 Flashduty Monitors 中的即席查询界面，用于在不创建告警规则的前提下对数据源执行临时查询。支持 Prometheus、Loki、VictoriaLogs、阿里云 SLS、腾讯云 CLS 以及 MySQL、PostgreSQL、Oracle、ClickHouse、Elasticsearch 等数据源。

## 访问入口

* **从数据源列表**：进入 **监控 → 数据源**，点击目标数据源行的“查询工作台”入口。
* **直接打开**：进入查询工作台后，在页面内选择数据源。
* **从故障/告警标签**：在故障详情或告警详情的标签区域，查询类标签行右侧的“去查询”图标会带着告警触发时的查询和时间窗口直接打开工作台。

## 查询类型

不同数据源支持不同的查询类型，在编辑器上方切换：

| 数据源 | 查询类型 | 说明 |
| - | - | - |
| Prometheus | 图表 + 原始 | 同时展示折线图和原始样本 |
| Prometheus | 仅图表 | 只展示折线图（range 查询） |
| Prometheus | 仅原始 | 只展示原始样本（instant 查询） |
| Loki | Range | 区间查询，返回时间范围内的日志行 |
| Loki | Instant | 即时查询，返回当前时刻匹配的日志行 |
| VictoriaLogs | 原始日志 | 返回原始日志行 |
| VictoriaLogs | 即时统计 | 返回即时聚合统计 |
| VictoriaLogs | 趋势统计 | 返回区间趋势统计 |
| SLS / CLS | — | 无查询类型选择器，由供应商分类日志/表格 |
| MySQL / PostgreSQL / Oracle / ClickHouse / ES | — | SQL/查询表达式直接执行 |

> Prometheus 查询会先做 PromQL / MetricsQL 语法检查，表达式有误时直接返回错误详情，不会执行。

## 结果展示

结果区域根据数据源和查询类型自动布局：

* **Prometheus**：上下分屏，上方折线图（Graph）、下方原始样本（Raw），支持拖拽分隔。
* **其他数据源**：单结果区，根据查询类型展示日志视图、表格视图或样本视图。

样本视图每页 20 条；表格视图默认每页 100 条，可切换为 200 或 500 条。

### 图表功能

* **拖拽缩放**：在折线图上拖选时间段可缩放至该范围。
* **曲线图例筛选**：可以按标签值筛选、按 metric 名称分组；曲线超过 10 条时可以按关键词搜索。
* **提示框**：显示离光标最近的曲线在该时刻的值与标签。需要同时对比多条曲线时，使用图例筛选或查看原始数据。

### 日志时间分布

当查询类型包含日志时，结果区上方会展示日志时间分布图：

* 时间范围 ≤ 24 小时：自动加载。
* 24 小时 – 30 天：需手动点击加载。
* 超过 30 天：不支持加载。

### 日志视图

日志按行展示，每行包含时间、正文和字段摘要。

* 点击工具条上的 **公共字段**，可以查看本批结果中每行都相同的字段（如 Loki 的 stream labels）；勾选 **行内隐藏** 后，这些字段不再在每行重复显示。刷新页面后恢复显示。
* 点击某一行可以展开查看它的全部字段。

### 查询失败提示

查询失败时，结果区会说明原因，如查询超时、结果行数超过上限或告警引擎版本过低。无权查询该数据源时，见[数据源权限](#数据源权限)。

## 查询参数

除查询表达式外，部分数据源支持私有参数：

| 参数 | 适用数据源 | 说明 |
| - | - | - |
| 返回条数（limit） | Loki / VictoriaLogs | 限制返回行数 |
| 最小 step（秒） | Prometheus | 自动 step 的下限 |
| 检索方向 | Loki / VictoriaLogs | 最新优先或最早优先 |
| 项目 / 日志库 | SLS | 必填，拼入请求地址 |
| 地域 / 日志主题 / 语法 | 腾讯云 CLS | 必填 |
| PowerSQL | SLS | 开启 PowerSQL 模式 |
| 时间宏 | SQL 数据源 | `$__timeFilter(列名)`、`$__timeFrom()`、`$__timeTo()`；只有 SQL 里写了时间宏，页面选择的时间范围才会作用到这条查询，没有宏时 SQL 原样执行 |
| 内置时间变量 | Prometheus / Loki | `$__interval`、`$__rate_interval`、`$__range`、`$__auto` 让查询跟随页面选择的时间范围与 step，见下节 |

### 内置时间变量

Prometheus 和 Loki 的区间查询可以使用内置时间变量，让查询跟随页面选择的时间范围，不必把时间写死。写法为 `$__interval` 或 `${__interval}`。

| 变量 | 含义 |
| - | - |
| `$__interval` | 查询步长，如 `30s`，不小于 **最小 step** |
| `$__rate_interval` | 步长加 15 秒，且不低于 60 秒，适合用于 `rate()` |
| `$__range` | 时间窗口的长度，如 `3600s` |
| `$__auto` | Loki 区间查询中等于步长 |

| 查询 | 可用变量 |
| - | - |
| Prometheus 区间（**仅图表**） | `$__interval`、`$__rate_interval`、`$__range` |
| Loki 区间 | `$__auto`、`$__interval`、`$__range` |
| Prometheus / Loki 即时查询 | 无 |

* 即时查询中使用这些变量会报错。
* Prometheus 默认的 **图表 + 原始** 会同时执行区间查询和即时查询，因此其中的即时部分无法使用 `$__rate_interval`。需要使用时，请切换到 **仅图表**。
* 这些变量与[仪表盘](/zh/monitors/dashboards/dashboards#内置时间变量)中的同名变量含义相同。工作台没有仪表盘变量，其他 `$` 文本会原样发给数据源。

## AI 查询助手

选择数据源后，点击查询输入框右上角的 **AI 帮我写**，查询助手会结合当前数据源、查询类型、参数和时间范围，帮您生成或改写查询。

* 助手会把查询语句、参数和查询类型一起填入，并自动运行一次。如果助手选用了另一个数据源，工作台会切换到该数据源。
* 点击结果卡片上的 **回填** 可以把这一版查询重新填入编辑器（不会自动运行）。

## 查询历史

成功执行的查询会自动存入查询历史（只保存查询表达式）。历史按数据源分开保存在当前浏览器中，每个数据源最多 200 条，可以删除单条或清空。

## 分享与 URL 状态

当前数据源、查询表达式、时间范围和查询类型都保存在页面地址中，复制地址即可分享。链接中的数据源不存在、已停用或无权访问时，查询不会自动执行。

## 数据源权限

数据源列表中只出现您有查询权限的数据源。如果查询时提示“无权访问该数据源”（例如权限在您打开页面后被修改），请联系数据源的负责团队或管理员调整该数据源的“负责团队”与“可查询团队”，见[数据源权限（团队授权）](/zh/monitors/data-sources/data-sources#数据源权限团队授权)。

## Edge 版本要求

查询由数据源关联的告警引擎（Edge）执行。如果集群中的 Edge 版本过低或版本不一致，页面会提示升级，升级集群内所有 Edge 后即可查询。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.