OWL CLI 工具清单¶
本文档介绍当前 OWL CLI 可直接执行的业务工具能力,包含工具范围、权限类型、CLI 使用约定、工具总览以及按分类整理的工具说明。
工具的可见范围和执行结果取决于当前 OWL_TOKEN 对应 API Key 的权限。如果 API Key 不具备相应资源或操作权限,对应工具可能执行失败或返回空结果。
注意
本文档只描述通过 owl exec 可直接调用的业务工具,不包含 CLI 命令本身,例如 owl init、owl login、owl sync、owl list、owl show、owl data list 等。
v1.8.0 新增字段搜索、分页和笔记 expected_etag。完整参数以当前工具 schema 为准;升级顺序与写入恢复规则见 v1.8.0 更新说明。
工具范围¶
OWL CLI 暴露的工具会随着平台能力持续更新。实际可见工具以本地完成 owl sync 后,通过 owl list 返回的工具目录为准。
当前文档覆盖以下业务分类:
| 分类 | 说明 |
|---|---|
account |
同组织工作空间发现 |
catalog |
统一目录实体的查询、创建、修改与拓扑关系查询 |
dashboard |
仪表板创建、替换与详情获取 |
data |
DQL namespace 探查、日志/指标/RUM/APM/Network/Profile/Billing 数据发现、DQL 文档查询、DQL 校验、完整查询、数据转发异步查询、同组织跨空间 Trace 查询与 Profiling 解析 |
errors |
错误中心问题查询与评论管理 |
event |
事件列表查询与事件详情获取 |
incident |
故障列表与详情、关联事件引用、故障评论、操作记录和值班排班 |
infrastructure |
统一目录资源查询 |
llm |
LLM 可观测应用列表查询 |
workspace |
跨空间数据查询授权范围发现、当前空间成员和团队查询 |
mdsearch |
统一文档检索(搜索、文档读取、目录浏览) |
monitor |
监控器查询、创建、更新与外部事件接收 |
nbook_note |
普通笔记与 Runbook 的查询、读取、创建、修改与删除 |
pipeline |
Pipeline 列表查询与样例验证 |
权限类型¶
| 权限类型 | 含义 | 使用建议 |
|---|---|---|
| 只读 | 查询、列表、详情获取、样例验证等不会修改空间资源的操作 | 适合日常排查和自动化只读执行 |
| 写入 | 创建、更新、追加评论、接收外部事件等会修改空间资源的操作 | 建议在生产环境使用前先确认参数和影响范围 |
| 本地辅助 | 本地 DQL 文档检索、本地语法校验等不修改空间资源的辅助能力 | 适合在正式执行查询前使用 |
CLI 使用约定¶
授权跨空间查询在目标未确定时,先调用 owl.workspace.data_authorized.list,再将 workspace_uuids 和 target_region 传给 owl.data.query 或 owl.data.simple_query_file。一次查询限制在一个目标站点内,省略范围参数时查询当前空间。列表页码与数据游标分别处理,详见跨空间查询说明。
| 类型 | 约定 |
|---|---|
| 工具同步 | 首次使用或平台工具更新后,先执行 owl sync |
| 分类与工具浏览 | 使用 owl category list、owl list、owl list -c <category> 浏览工具目录 |
| 查看工具定义 | 执行前建议先用 owl show <tool name> 查看参数定义 |
| 工具执行 | 统一使用 owl exec <tool name> [parameters] 执行工具 |
| 参数传递 | 支持 --key value、key=value、-p '<json>'、--stdin 四种方式 |
| 时间范围 | 统一使用 13 位毫秒时间戳 |
| 分页参数 | 通常使用 page_size 与 page_index |
| 详情查询 | 通常依赖列表工具返回的 UUID、ID、URN 等标识继续查询 |
| 数据查询 | 建议先调用发现类工具获取 source、field、tag、index,再执行正式查询 |
| 数据结果文件 | 当工具输出类型为 data 时,结果会自动写入本地数据目录,可配合 owl data list、owl data show <file-id> 查看 |
数据结果文件中的采样字段¶
当工具输出类型为 data 时,CLI 在写出数据文件的同时,会在执行结果中可选地带出一个 sample 字段:
sample:数值(浮点数),表示本次查询的采样比例(例如0.0077表示约按 0.77% 采样)。仅当后端返回了采样信息、或数据文件内容里能解析出采样比例时才会出现;没有采样信息时该字段会被省略。- 拿到
sample时,意味着结果是基于采样数据估算的,做计数、求和等聚合解读时需要按采样比例还原后再判断量级。
常用 CLI 命令示例:
owl sync
owl list
owl list -c data
owl show owl.data.query
owl exec owl.metric.list --mode source --start_time 1792548000000 --end_time 1792551600000
owl exec owl.event.list --start_time 1712505600000 --end_time 1712592000000 --limit 20
工具总览¶
| 工具集 | 工具 | 功能 | 权限 |
|---|---|---|---|
account |
owl.account.workspace.same_org.list |
列出与当前 API Key 工作空间同组织的工作空间 | 只读 |
catalog |
owl.catalog.entity_type_query |
查询统一目录支持的实体类型 | 只读 |
catalog |
owl.catalog.entity_query |
按类型、名称、URN 或属性筛选实体 | 只读 |
catalog |
owl.catalog.entity_get |
按 urn 获取单个实体详情 |
只读 |
catalog |
owl.catalog.entity_create |
在已有实体类型下创建实体 | 写入 |
catalog |
owl.catalog.entity_modify |
修改指定实体的展示名、属性或关系 | 写入 |
catalog |
owl.catalog.entity_topology_query |
查询单个实体关联的拓扑关系 | 只读 |
catalog |
owl.catalog.all_topology_query |
查询全局拓扑分组结果 | 只读 |
dashboard |
owl.dashboard.create |
创建仪表板 | 写入 |
dashboard |
owl.dashboard.replace |
替换已有仪表板内容 | 写入 |
dashboard |
owl.dashboard.get |
获取仪表板详情 | 只读 |
data |
owl.data.show_dql_namespace |
查看 DQL namespace 列表及是否支持索引 | 只读 |
data |
owl.data.query |
执行完整 DQL 或 PromQL 查询 | 只读 |
data |
owl.data.simple_query_file |
用 namespace + 时间范围等简化参数执行查询并落数据文件,limit 取值 1-10000 |
只读 |
data |
owl.external_datasource.list |
发现当前空间可访问的外部数据源 | 只读 |
data |
owl.external_datasource.query |
对已配置的外部数据源执行受限只读 SQL | 只读 |
data |
owl.data.same_org.trace.query |
按 trace_id 查询当前或同组织工作空间中的 Trace |
只读 |
data |
owl.data.search_dql_docs |
搜索 Registry 服务端的 DQL 文档片段 | 只读 |
data |
owl.data.read_dql_docs |
按文档引用和版本分页读取正文 | 只读 |
data |
owl.data.check_dql |
校验候选 DQL 语句语法 | 本地辅助 |
data |
owl.metric.list |
发现指标查询可用的 source、字段或标签键 |
只读 |
data |
owl.rum.list |
发现 RUM 查询可用的 source 或字段 |
只读 |
data |
owl.apm.list |
发现 APM 查询可用的 source 或字段 |
只读 |
data |
owl.network.list |
发现 Network 查询可用的 source 或字段 |
只读 |
data |
owl.profile.list |
发现 Profile 查询可用的 source 或字段 |
只读 |
data |
owl.logging.list |
发现日志查询可用的 source 或字段 |
只读 |
data |
owl.logging.cluster_task.create |
创建日志聚类(cluster)异步分析任务 | 只读 |
data |
owl.logging.cluster_task.get |
获取日志聚类异步分析任务结果 | 只读 |
data |
owl.data_forwarding.rule.list |
发现当前账号可查询的数据转发规则 | 只读 |
data |
owl.data_forwarding.query.create |
创建对象存储数据转发异步查询任务 | 只读 |
data |
owl.data_forwarding.query.get |
查询数据转发异步任务状态,脱敏结果写入本地数据文件 | 只读 |
data |
owl.billing.list |
发现 Billing 查询可用的 source 或字段 |
只读 |
data |
owl.slo.list |
查询当前空间 SLO 列表 | 只读 |
data |
owl.log_index.list |
列出日志查询可用索引 | 只读 |
data |
owl.log_index.get |
查询单个日志索引详情 | 只读 |
data |
owl.field_schema.get |
查询当前字段目录 | 只读 |
data |
owl.field_schema.search |
按需搜索字段、指标和 measurement 配置 | 只读 |
data |
owl.profiling.get_summary |
查询 Profiling 记录摘要信息 | 只读 |
data |
owl.profiling.parse |
解析 Profiling 记录详细内容 | 只读 |
errors |
owl.errors.list |
查询错误中心问题列表 | 只读 |
errors |
owl.errors.comment.add |
给错误问题新增评论 | 写入 |
errors |
owl.errors.comment.list |
查询错误问题评论列表 | 只读 |
errors |
owl.errors.comment.update |
更新已有错误评论 | 写入 |
event |
owl.event.list |
查询事件列表 | 只读 |
event |
owl.event.get |
查询单个事件详情 | 只读 |
event |
owl.event.resolve |
按事件文档 ID、事件或故障 ID、链接解析事件详情 | 只读 |
incident |
owl.incident.list |
查询故障列表 | 只读 |
incident |
owl.incident.get |
查询故障详情与分页关联事件引用 | 只读 |
incident |
owl.incident_comment.list |
查询故障评论列表 | 只读 |
incident |
owl.incident_comment.add |
给故障单新增评论 | 写入 |
incident |
owl.incident_operation.list |
查询故障操作记录 | 只读 |
incident |
owl.incident_schedule.list |
查询值班排班列表 | 只读 |
incident |
owl.incident_schedule.get |
查询值班排班详情 | 只读 |
infrastructure |
owl.infrastructure.list |
查询基础设施对象列表 | 只读 |
infrastructure |
owl.infrastructure.get |
查询单个基础设施对象详情 | 只读 |
llm |
owl.llm.list |
查询 LLM 应用列表 | 只读 |
workspace |
owl.workspace.data_authorized.list |
按站点发现当前空间的授权查询空间 | 只读 |
workspace |
owl.workspace.member.list |
查询空间成员列表 | 只读 |
workspace |
owl.workspace.member.group_list |
查询当前空间团队 | 只读 |
mdsearch |
mdsearch_search |
搜索统一文档库并返回候选文档 | 本地辅助 |
mdsearch |
mdsearch_document |
按 id 或路径读取单篇文档全文 |
本地辅助 |
mdsearch |
mdsearch_catalog |
浏览统一文档库目录结构 | 本地辅助 |
monitor |
owl.monitor.list |
查询监控器列表 | 只读 |
monitor |
owl.monitor.get |
查询监控器详情 | 只读 |
monitor |
owl.monitor.upsert |
创建或更新监控器 | 写入 |
monitor |
owl.monitor.receive |
发送外部事件 | 写入 |
nbook_note |
owl.nbook_note.list |
查询当前账号可见的普通笔记与 Runbook 基础信息 | 只读 |
nbook_note |
owl.nbook_note.get |
获取笔记或 Runbook 详情和 Markdown 正文 | 只读 |
nbook_note |
owl.nbook_note.add |
创建普通笔记或 Runbook | 写入 |
nbook_note |
owl.nbook_note.modify |
修改普通笔记或 Runbook | 写入 |
nbook_note |
owl.nbook_note.delete |
删除普通笔记或 Runbook | 写入 |
pipeline |
owl.pipeline.list |
查询 Pipeline 列表 | 只读 |
pipeline |
owl.pipeline.validate |
用样例数据验证 Pipeline 处理结果 | 只读 |
Account¶
v1.6.0 起可通过 owl exec owl.account.workspace.same_org.list 调用,与 owl workspace same-org list 和 MCP 共享列表契约。结果包含 items 和 page_info;page_size 默认 20,范围 1–100。下一页原样传入 next_before_workspace_id 作为正整数 before_workspace_id,不要从数组索引推导。workspace_uuids 可过滤结果,空数组表示不过滤。仅将返回的 workspace_uuid 用于同组织 Trace 查询,该列表不建立普通数据查询授权。
| 工具名 | 功能 | 可提问示例 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.account.workspace.same_org.list |
列出与当前工作空间同组织的工作空间,按 workspace id 降序 | 列出与当前空间同组织的工作空间 | workspace_uuids、page_size、before_workspace_id |
只读 |
Catalog¶
用于统一目录的实体类型发现、实体查询、创建、修改和拓扑关系查询。创建、修改实体时,所用 API Key 需具有目录管理权限。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.catalog.entity_type_query |
查询统一目录支持的实体类型 | 列出当前 Catalog 支持的实体类型 | page_size、page_index |
只读 |
owl.catalog.entity_query |
按类型、名称、URN 或属性筛选实体 | 精确查找名为 checkout-api 的 service 实体 |
entity_type, name, search, urn, filters, page_size, page_index |
只读 |
owl.catalog.entity_get |
按 urn 获取单个实体详情 |
查询这个 urn 对应的实体详情 |
urn |
只读 |
owl.catalog.entity_create |
在已有实体类型下创建实体 | 创建一个名为 checkout-api 的服务实体 |
request_id、entity_type、name、display_name、attributes、relation_modes |
写入 |
owl.catalog.entity_modify |
修改指定实体的展示名、属性或关系 | 修改服务实体的展示名,保留其他配置 | request_id、urn、display_name、attributes、relation_modes |
写入 |
owl.catalog.entity_topology_query |
查询单个实体关联的拓扑关系 | 查看这个主机实体的上下游拓扑 | urn |
只读 |
owl.catalog.all_topology_query |
查询全局拓扑分组结果 | 查询当前统一目录的全局拓扑结构 | groupByFields |
只读 |
entity_query 必须指定 entity_type。name 用于精确匹配,search 用于模糊搜索名称、展示名或 URN,两者不能同时使用;也可以通过完整 urn 或 filters 缩小范围。
创建和修改实体¶
- 调用
owl.catalog.entity_type_query,确认可用类型及该类型的字段要求;需要设置所属团队时,先用owl.workspace.member.group_list查找团队名称。 - 调用
owl.catalog.entity_query查找目标,避免重复创建。修改已有实体时,使用查询返回的完整urn,并通过owl.catalog.entity_get核对当前配置。 - 核对要写入的内容后,调用
owl.catalog.entity_create或owl.catalog.entity_modify,完成后可返回平台的统一目录查看实体。
创建必须提供 request_id、entity_type 和 name,并按类型要求补齐 attributes。修改必须提供 request_id 和 urn,同时至少指定一项要修改的内容。request_id 使用一个 UUID 标识本次操作;display_name 为展示名,修改工具不支持更改实体名称或类型。未提交的属性和关系会保留,所属团队 owner 使用团队名称。
修改依赖、组件等关系时,为提交的关系字段设置 relation_modes:add 表示追加,replace 表示整体替换;replace 配合空数组表示清空。仅提交实体类型支持的字段和关系。
结果提示待确认时,请保留原 request_id 和参数,按返回提示核对,不要更换 UUID 重复创建或修改;结果提示审计状态不确定时,应先联系管理员核查。
owl sync
owl show owl.catalog.entity_create
owl show owl.catalog.entity_modify
owl exec owl.catalog.entity_query -p '{"entity_type":"service","name":"checkout-api"}'
Dashboard¶
用于仪表板的创建、替换和详情获取。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.dashboard.create |
创建仪表板 | 创建一个名为 “APM Overview” 的仪表板 | name、dashboard_json |
写入 |
owl.dashboard.replace |
替换已有仪表板内容 | 用新的 dashboard_json 替换指定仪表板 |
dashboard_uuid、dashboard_json |
写入 |
owl.dashboard.get |
获取仪表板详情 | 查询这个仪表板 UUID 对应的完整配置 | dashboard_uuid |
只读 |
Data¶
v1.6.0 统一校验 13 位整数毫秒时间戳,要求结束时间大于开始时间。需要成对提供的参数不能只传一端;必填要求与最大跨度以各工具 schema 为准。owl.data.query 的时间范围最长为 7 天。
owl.data.query 的 DQL 可以省略内联时间窗口,由 start_time / end_time 提供查询窗口。内联绝对窗口必须与外部窗口一致,相对窗口会被拒绝。PromQL 范围选择器表示回看时长,不作为查询窗口,也不进入 DQL 校验。Registry 需要可用的 dqlcheck;校验不可用时不会执行 DQL 查询。请求窗口不等同于后端实际执行或结果覆盖的时间范围。
v1.5.0 起,owl.metric/rum/apm/network/profile/logging/billing.list 和 owl.infrastructure.list/get 必须传入 13 位毫秒级 start_time / end_time,时间窗口不得超过 7 天。owl.llm.list 的时间范围可选;两者都省略时使用最近 24 小时。
owl.data.show_dql_namespace 返回的 dql_namespace 是查询别名,不是后端原始类型名。调用 owl.data.query 时传给 dql_namespace;调用 simple query 或日志聚类工具时,将同一值原样传给 namespace。
用于完整数据查询与查询辅助,覆盖日志、指标、RUM、APM、Network、Profile、Billing、已配置的外部数据源以及已转发到对象存储的数据。
外部数据源查询应先用 list 按 datasource_id 或名称发现数据源,再把唯一结果的 datasource_uuid 原样传给 query。datasource_id 不能代替 UUID;原始行查询应带确定性的 ORDER BY 和 SQL LIMIT,且 truncated=true 只代表部分结果。语句类型必须以 list 返回的 capabilities.statement_types 为准。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.data.show_dql_namespace |
列出当前支持的 DQL namespace,并标明是否支持 index |
查看当前支持哪些 DQL namespace | 无 | 只读 |
owl.data.query |
执行完整 DQL 或 PromQL 查询 | 查询最近 1 小时 nginx 日志中的 500 错误 | dql_namespace、start_time、end_time、query_mode、query_text、source、select、index、workspace_uuids、target_region |
只读 |
owl.data.simple_query_file |
用 namespace + 时间范围等简化参数执行查询并将结果落数据文件 | 不手写完整 DQL,直接按 namespace 和过滤条件查询日志并落文件 | namespace、start_time、end_time、index、source、select_clause、where_clause、group_by_clause、limit、workspace_uuids、target_region |
只读 |
owl.external_datasource.list |
发现当前空间可访问、可查询的外部数据源 | 查找名称为 orders 的已配置外部数据源 | keyword、source_type、page_index、page_size |
只读 |
owl.external_datasource.query |
对一个已配置外部数据源执行单条受限只读 SQL | 查询 orders 数据源中最近的 20 条订单 | datasource_uuid、sql、timeout_seconds、max_rows |
只读 |
owl.data.same_org.trace.query |
按 trace_id 查询当前或同组织工作空间中的 Trace |
重建一条跨多个同组织工作空间的 Trace | trace_id、workspace_uuids、start_time、end_time、where_clause、source、limit, cursor_time, cursor_token |
只读 |
owl.data.search_dql_docs |
搜索 Registry 服务端的 DQL 文档片段 | 搜索 Registry 服务端的 DQL 文档片段 | query, limit |
只读 |
owl.data.read_dql_docs |
按文档引用和版本分页读取正文 | 按文档引用和版本分页读取正文 | document_id, version, start_line, line_count |
只读 |
owl.data.check_dql |
校验候选 DQL 语句是否符合语法 | 校验一条手写 DQL 是否正确 | query_text, start_time, end_time |
本地辅助 |
owl.metric.list |
发现指标查询可用的 source、字段或标签键 |
列出指标域可用的 measurement 或 tag | mode、source、start_time、end_time |
只读 |
owl.rum.list |
发现 RUM 查询可用的 source 或字段 |
列出 RUM 域可用字段 | mode、source、start_time、end_time |
只读 |
owl.apm.list |
发现 APM 查询可用的 source 或字段 |
查询 APM 域可用的 source | mode、source、start_time、end_time |
只读 |
owl.network.list |
发现 Network 查询可用的 source 或字段 |
列出 Network 域可用字段 | mode、source、start_time、end_time |
只读 |
owl.profile.list |
发现 Profile 查询可用的 source 或字段 |
查看 Profile 域可用的 source | mode、source、start_time、end_time |
只读 |
owl.logging.list |
发现日志查询可用的 source 或字段 |
列出日志域可用的 source | mode、source、start_time、end_time |
只读 |
owl.logging.cluster_task.create |
创建日志聚类(cluster)异步分析任务,按相似日志或字段分组 | 对最近一段时间日志按指定字段做聚类,返回 task_id |
timeRange、analysisField、namespace、conditions、query、indexes |
只读 |
owl.logging.cluster_task.get |
获取日志聚类异步分析任务结果 | 用 cluster_task.create 返回的 task_id 拉取聚类结果(task_status=ok 表示完成) |
task_id |
只读 |
owl.data_forwarding.rule.list |
列出当前账号可读取的数据转发规则,默认只返回可通过 AIAPI 查询的规则 | 在创建查询前发现准确的 rule_name 并确认规则可查询 |
search、data_type、store_type、queryable_only、page_index、page_size |
只读 |
owl.data_forwarding.query.create |
为指定数据转发规则创建一次对象存储异步查询任务 | 查询数据转发规则 forward-rule 在指定时间范围内转发的错误记录,返回 task_id |
rule_name、start_time、end_time、search、page_size、token |
只读 |
owl.data_forwarding.query.get |
获取数据转发异步任务状态,并将工作空间脱敏后的响应写入本地数据文件 | 使用 create 返回的 task_id 获取结果文件,再检查其中的 task_status、items 和 next_token |
task_id |
只读 |
owl.billing.list |
发现 Billing 查询可用的 source 或字段 |
列出 Billing 域可用的字段 | mode、source、start_time、end_time |
只读 |
owl.slo.list |
查询当前空间 SLO 列表,可按名称或监控器 UUID 检索 | 列出当前空间的 SLO | search, page_size, page_index |
只读 |
owl.log_index.list |
列出日志查询可用的索引 | 列出当前日志索引 | 无 | 只读 |
owl.log_index.get |
查询单个日志索引详情 | 查询这个日志索引 UUID 的详情 | index_uuid |
只读 |
owl.field_schema.get |
查询当前字段目录,用于补全查询字段 | 列出当前可用字段目录 | 无 | 只读 |
owl.field_schema.search |
按需搜索字段、指标和 measurement 配置 | 返回类型、单位来源及分页信息 | kind, search, namespace, measurement, page_index, page_size |
只读 |
owl.profiling.get_summary |
查询 Profiling 记录摘要信息 | 查看这个 profile_id 的摘要信息 |
profile_id、timeRange |
只读 |
owl.profiling.parse |
解析 Profiling 记录详细内容 | 解析这个 Profiling 记录的详细栈信息 | profile_id、language、type、profile_start、profile_end |
只读 |
owl.data.simple_query_file 的 limit 为可选整数,取值范围是 1 到 10000;省略时由后端使用默认值。超出范围的值会在请求执行前被拒绝。
数据转发异步查询¶
owl.data_forwarding.rule.list、owl.data_forwarding.query.create 和 owl.data_forwarding.query.get 用于发现可查询规则,并查询已经通过规则写入对象存储的数据。这三个工具都是单次原子调用,CLI 不会自动选择规则、轮询任务或继续查询下一批数据。rule.list 和 query.create 直接返回文本结果;query.get 的 outputType 为 data,每次状态查询都会写入一个新的本地数据文件。
仅支持 OWL CLI
数据转发查询工具只通过 OWL CLI 提供,不会出现在 Web 端 Obsy Copilot 或 MCP 工具目录中。
按以下顺序完成一次查询:
- 用户没有提供准确规则名,或规则是否可查询尚未确认时,先调用
owl.data_forwarding.rule.list。查询场景保持queryable_only=true,从queryable=true的结果中选择rule_name;不要把rule_uuid传给create。 - 调用
owl.data_forwarding.query.create,原样传入选中的rule_name、查询时间范围和过滤条件,取得task_id。 - 使用该
task_id调用owl.data_forwarding.query.get。其执行结果中的文件对象不包含数据文件 ID:运行owl data list -f json,找到对应条目,原样保存files[].id,再执行owl data show <file-id>。不要根据路径推导或猜测 ID。 - 检查文件中的
task_status。值为created或running时,任务尚未完成;即使items为空也不能当作最终结果,应稍后继续使用同一个task_id调用get,然后重复数据文件列表步骤查看最新状态。 task_status为completed或failed时停止轮询。completed时读取脱敏后的items;failed时根据返回的失败信息排查。completed且next_token非空时,再次调用create查询下一批。必须保留原来的rule_name、start_time、end_time、search和page_size,并将next_token作为token传入。新的create会返回新的task_id。
发现可查询规则:
owl exec owl.data_forwarding.rule.list -p '{
"queryable_only": true,
"page_index": 1,
"page_size": 20
}'
创建首批查询任务:
owl exec owl.data_forwarding.query.create -p '{
"rule_name": "forward-rule",
"start_time": 1784800000000,
"end_time": 1784886400000,
"search": {
"conditions": [
{
"key": "status",
"value": "error",
"logic": "match"
}
],
"operator": "and"
},
"page_size": 20
}'
查询任务状态和结果:
owl exec owl.data_forwarding.query.get -p '{"task_id":"task_xxx"}'
owl data list -f json
owl data show <保存的文件-ID>
查询下一批时,复用原查询参数并传入 next_token:
owl exec owl.data_forwarding.query.create -p '{
"rule_name": "forward-rule",
"start_time": 1784800000000,
"end_time": 1784886400000,
"search": {
"conditions": [
{
"key": "status",
"value": "error",
"logic": "match"
}
],
"operator": "and"
},
"page_size": 20,
"token": "next_xxx"
}'
参数与限制:
rule.list默认queryable_only=true,只返回可查询规则。设为false时也会返回不支持查询的规则,应通过queryable和unsupported_reason判断原因,不能继续调用create查询这些规则。rule.list支持通过search模糊搜索规则名称,也可以通过data_type或store_type过滤;分页范围为page_index >= 1、page_size1 到 100。rule_name必须使用rule.list返回的准确值,不能替换为rule_uuid。数据类型和对象存储配置由后端根据规则确定。start_time和end_time是 13 位毫秒时间戳,且end_time必须大于start_time。- 查询时长上限由工作空间配置决定,默认 24 小时;
create响应中的query_time_limit_hours是当前实际生效的上限。 search.conditions[].logic只支持match和notMatch;多个条件通过search.operator的and或or组合。page_size范围为 1 到 1000,默认 20。query.get不直接把完整结果打印到 CLI,其返回的文件信息不包含 ID;应运行owl data list -f json,原样保存对应条目的files[].id,再通过owl data show <file-id>查看任务状态和脱敏结果。DF-API-KEY由 CLI 自动注入,不应作为工具参数传入。免费版工作空间不支持该查询。- 支持 S3、OSS、OBS、GCS,以及 TOS 标准存储;不支持 Kafka、平台内置存储、冷存和归档数据。
同组织跨工作空间 Trace 查询¶
owl.data.same_org.trace.query 是按 trace_id 查询当前或同组织工作空间 Trace 的专用工具。本空间直接调用,不列空间;需要查询其他同组织空间且 UUID 未确定时,运行 owl workspace same-org list 获取候选空间后再查询:
trace_id为必填参数,服务端会强制加入该条件,不要在where_clause中重复添加。workspace_uuids为可选字符串数组,取值使用列表结果中的workspace_uuid;workspace_id只用于列表分页,不能用于查询。workspace_uuids省略或传空数组时,只查询当前 API Key 所属工作空间。- 同组织跨工作空间查询功能关闭时,只允许查询当前工作空间;传入其他工作空间 UUID 会返回参数错误。
where_clause只传附加 DQL 条件片段,不包含外层花括号。start_time、end_time使用 13 位毫秒时间戳;还可通过source和limit缩小查询范围。- 返回内容保留原始 DQL 查询结果结构。跨工作空间 Trace 查询不要回退到
owl.data.query或owl.data.simple_query_file。
owl workspace same-org list
owl exec owl.data.same_org.trace.query -p '{"trace_id":"TRACE-XXXX","workspace_uuids":["wksp_xxx"]}'
Errors¶
用于错误中心的问题列表查询,以及评论的新增、查询和更新。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.errors.list |
查询错误中心问题列表 | 查询最近 24 小时的错误问题列表 | start_time、end_time、page_size、page_index、conditions、assigner、issue_status |
只读 |
owl.errors.comment.add |
给错误问题新增评论 | 给这个错误问题补一条排查评论 | issue_id、comment、attachment_uuids、extend |
写入 |
owl.errors.comment.list |
查询错误问题下的评论列表 | 查看这个错误问题的评论记录 | issue_id、page_size、page_index |
只读 |
owl.errors.comment.update |
更新已有错误评论 | 更新这条错误评论的内容 | comment_uuid、comment、attachment_uuids、extend |
写入 |
Event¶
用于事件中心列表查询和事件详情获取。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.event.list |
查询事件列表 | 查询最近 1 小时的 critical 事件 | start_time、end_time、status、limit, offset |
只读 |
owl.event.get |
查询单个事件详情,可限定事件时间范围 | 查询这个事件 doc_id 在指定时间范围内的详情 |
doc_id、timeRange |
只读 |
owl.event.resolve |
按事件文档 ID、事件或故障 ID、链接解析事件详情 | 按事件文档 ID、事件或故障 ID、链接解析事件详情 | doc_id、timeRange |
只读 |
owl.event.list必须提供start_time和end_time;status可选值为fatal、critical、error、warning和nodata,limit默认值为 20、最大值为 100;返回项可能包含事件维度标签字段df_dimension_tags。owl.event.get的timeRange为可选的二元素数组[start, end],元素均为 13 位毫秒时间戳,且end必须大于start。参数名为timeRange,不要改写为time_range。
事件 ID 与链接解析¶
owl.event.get 的 doc_id 不能为空或全为空白,使用 owl.event.list 返回的 data.items[].doc_id 原值。事件 ID、故障 ID、兼容的不透明 ID 或 HTTP(S) 事件链接可交给 owl.event.resolve。链接仅用于提取标识和时间,不会被访问,不会切换空间或凭据;链接时间与显式 timeRange 必须一致。
文档 ID 和不透明 ID 先尝试直接读取详情;仅识别到空结果时才继续搜索,事件或故障 ID 直接进入精确标识搜索。搜索省略时间时使用最近 7 天,显式搜索范围最多 7 天,最多返回 20 条候选。直接详情读取不受 7 天上限限制;过长范围下详情为空时会停止,不会缩窄搜索范围。检查 resolution_status、candidates 和 may_have_more;multiple_matches 表示仍有歧义,附带的最新候选详情不能作为唯一解析结果。
owl exec owl.event.resolve -p '{"doc_id":"event-example","timeRange":[1792548000000,1792551600000]}'
Incident¶
owl.incident.get 接受故障 UUID(incident_*),返回详情及 related_event_refs。关联引用每页默认及上限 100,按 page_info.has_more 和 next_page_index 读取后续页,再根据事件引用调用 owl.event.get;不要将故障 UUID 当作事件文档 ID。引用总数与故障报告的事件总数可能不同,应保留并说明缺失的证据。
用于故障列表与详情、关联事件引用、故障评论、操作记录和值班排班查询。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.incident.list |
查询故障列表 | 查询当前所有故障单 | search、page_size、page_index |
只读 |
owl.incident.get |
查询故障详情与分页关联事件引用 | 获取故障来源、发生时间和关联事件 | incident_uuid、page_size、page_index |
只读 |
owl.incident_comment.list |
查询故障评论列表 | 查看这个故障单的评论记录 | incident_uuid, page_index, page_size |
只读 |
owl.incident_comment.add |
给故障单新增评论 | 给这个故障单补一条处理进展 | incident_uuid、comment |
写入 |
owl.incident_operation.list |
查询故障操作记录 | 查看这个故障单的操作历史 | incident_uuid、page_size、page_index |
只读 |
owl.incident_schedule.list |
查询值班排班列表 | 查询当前值班排班列表 | search、page_size、page_index |
只读 |
owl.incident_schedule.get |
查询值班排班详情 | 查询这个值班排班的详细配置 | schedule_uuid |
只读 |
Infrastructure¶
用于基础设施对象列表和详情查询,覆盖主机、容器、进程等资源对象。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.infrastructure.list |
查询基础设施对象列表 | 查询当前所有主机对象 | resource_type、limit、filters、start_time、end_time, cursor_time, cursor_token |
只读 |
owl.infrastructure.get |
查询单个基础设施对象详情 | 查询这个容器对象的详细信息 | resource_type、identity_value、start_time、end_time, cursor_time, cursor_token |
只读 |
owl.infrastructure.list 的 limit 默认 20,范围 1–100。每条 filters 必须包含 field、op、value,op 仅支持 =、!=、in。in 的值必须为非空数组;其余操作符使用非 null 的字符串、数字或布尔值。值按 JSON 传递,不要预先拼接或转义成 DQL。
LLM¶
用于 LLM 可观测应用列表查询。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.llm.list |
查询 LLM 应用列表 | 列出当前所有 LLM 应用 | search、type、page_size、page_index、start_time、end_time, app_type |
只读 |
Workspace¶
用于跨空间数据查询授权范围发现,以及当前空间成员和团队查询。成员支持按姓名、邮箱关键字检索,团队支持按名称关键字检索。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.workspace.data_authorized.list |
列出向当前空间授予数据查询权限的空间 | 跨空间查询前确认可查空间 | region_code、search、page_index、page_size |
只读 |
owl.workspace.member.list |
查询空间成员列表 | 搜索邮箱里包含 alice 的成员 |
search, page_size, page_index |
只读 |
owl.workspace.member.group_list |
查询当前空间团队,返回团队名称、UUID 和成员数 | 查找可设为实体所属团队的 Platform 团队 |
search |
只读 |
owl.member.list 保留为显式调用的兼容别名,不作为独立工具列出;CLI 需升级到支持别名的版本后执行 owl sync。
owl.workspace.member.group_list 不传 search 时返回全部可见团队,不分页;免费版工作空间不支持此工具。owl.member.group_list 为兼容别名。
Monitor¶
用于监控器列表查询、详情获取、创建或更新,以及外部事件接收。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.monitor.list |
查询监控器列表 | 查询当前启用的监控器 | search、status_list, page_size, page_index |
只读 |
owl.monitor.get |
查询监控器详情 | 查询这个监控器规则的完整配置 | rule_uuid |
只读 |
owl.monitor.upsert |
创建监控器或更新已有监控器 | 新建一个外部事件监控器 | json_script、rule_uuid、status、secret、alert_policy_uuids、tags |
写入 |
owl.monitor.receive |
向接收端发送外部事件 | 给这个监控器发送一条测试事件 | event、target、monitor、extra_data |
写入 |
笔记与 Runbook¶
用于管理当前 API Key 账号可见的普通笔记与 Runbook。普通笔记适合记录结论和参考信息,Runbook 适合保存可重复使用的操作流程。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.nbook_note.list |
查询可见的笔记与 Runbook 基础信息,不返回 Markdown 正文 | 按类型、标题、正文或标签筛选内容 | page_index、page_size、search、tags、tagkv_query、type |
只读 |
owl.nbook_note.get |
按 note_uuid 获取笔记或 Runbook 详情和 Markdown 正文 |
读取指定内容的完整正文 | note_uuid |
只读 |
owl.nbook_note.add |
创建普通笔记或 Runbook 并返回基础信息 | 创建一篇带标签的 Markdown Runbook | title、content、tags、tag_kv、type |
写入 |
owl.nbook_note.modify |
按 note_uuid 修改笔记并返回更新后的基础信息 |
更新笔记标题、正文或标签 | note_uuid、title、content、tags、tag_kv, expected_etag |
写入 |
owl.nbook_note.delete |
按 note_uuid 删除笔记 |
删除指定笔记 | note_uuid, expected_etag |
写入 |
owl.nbook_note.list的page_index默认值为 1,page_size默认值为 20、最大值为 100。owl.nbook_note.list的type可选值为normal和runbook;省略时返回两种类型。owl.nbook_note.get是唯一返回 Markdown 正文content的工具,但不返回path、etag或version;list、add和modify只返回标题、类型、标签等基础信息,也不返回content、path、ETag 或版本信息;delete返回删除操作的精简结果。owl.nbook_note.add必须提供title和content;type可选值为normal和runbook,省略时创建普通笔记。该工具不接受path;created_source固定由服务端设为ai,创建账号取自当前 API Key。owl.nbook_note.modify除note_uuid外,至少还要提供title、content、tags或tag_kv中的一项;省略content时保留原正文。- 内容类型在创建后不可修改;
get、modify和delete均不接受type。如需更改类型,请按目标类型重新创建。 - 获取、修改和删除都使用列表返回的
note_uuid。不要传path、etag、if_match、version、creator或created_source等由后端管理的字段。 tagkv_query是列表工具使用的 TagKV 表达式字符串;tag_kv是创建和修改工具使用的键值对象,两者不要混用。
Pipeline¶
用于 Pipeline 列表查询和样例验证。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
owl.pipeline.list |
查询 Pipeline 列表并返回解码后的内容 | 列出名称包含 nginx 的 Pipeline | search、scope、categories |
只读 |
owl.pipeline.validate |
用样例数据验证 Pipeline 处理结果 | 用这段日志样例验证这条 Pipeline 是否能正确解析 | content、testData、dataType |
只读 |
mdsearch¶
用于统一文档库的检索、单篇文档读取和目录浏览,支持中文、英文及混合语言查询。
| 工具名 | 功能 | 示例用途 | 关键参数 | 权限 |
|---|---|---|---|---|
mdsearch_search |
搜索统一文档库并返回排序后的候选文档 | 搜索某集成的接入文档 | q、top、path_prefix、tags、mode、sort |
本地辅助 |
mdsearch_document |
按 id 或路径读取单篇文档全文 |
读取候选结果中某篇文档的完整内容 | id、meta |
本地辅助 |
mdsearch_catalog |
浏览统一文档库的顶层目录与代表性文档 | 了解文档库整体结构 | 无 | 本地辅助 |
CLI 使用路径¶
数据查询类问题¶
适用于“查询指标、日志、RUM、APM、Network、Profile、Billing 数据”等问题。
- 先执行
owl.data.show_dql_namespace确认目标 namespace; -
按数据域调用发现类工具:
- 指标:
owl.metric.list - RUM:
owl.rum.list - APM:
owl.apm.list - Network:
owl.network.list - Profile:
owl.profile.list - Logging:
owl.logging.list - Billing:
owl.billing.list - 日志索引:
owl.log_index.list - 字段目录:
owl.field_schema.get
- 指标:
-
需要确认 DQL 语法时,先调用
owl.data.search_dql_docs查文档; - 手写完整 DQL 后,先调用
owl.data.check_dql做本地校验; - 最后调用
owl.data.query执行正式查询。
Profiling 分析类问题¶
适用于“已拿到 profile_id,希望查看摘要或解析详细栈信息”等问题。
- 先通过
owl.data.query在 Profiling 数据域中定位目标profile_id; - 调用
owl.profiling.get_summary获取摘要信息; - 复用摘要结果中的
language、type、profile_start、profile_end,再调用owl.profiling.parse解析详细内容。
故障排查类问题¶
适用于“查询故障单、追踪处理过程、补充评论”等问题。
- 已知故障 UUID 时调用
owl.incident.get;目标未确定时先调用owl.incident.list。 - 按返回的分页信息读取全部关联事件引用,再调用
owl.event.get获取事件内容。 - 使用
owl.incident_comment.list查看评论、owl.incident_operation.list查看操作记录。 - 需要补充处理进展时,调用
owl.incident_comment.add。
仪表板管理类问题¶
适用于“创建仪表板、替换仪表板内容、查看已有仪表板配置”等问题。
- 创建新仪表板时调用
owl.dashboard.create; - 替换已有仪表板时调用
owl.dashboard.replace; - 需要查看当前配置时调用
owl.dashboard.get。
笔记与 Runbook 管理类问题¶
适用于“搜索、读取、创建、修改或删除普通笔记与 Runbook”等问题。
- 先调用
owl.nbook_note.list搜索内容并取得note_uuid;需要缩小范围时,通过type=normal或type=runbook筛选; - 需要读取 Markdown 正文时,调用
owl.nbook_note.get; - 创建笔记时调用
owl.nbook_note.add,可用type创建normal或runbook;更新时调用owl.nbook_note.modify,已有笔记类型不可修改; - 删除时调用
owl.nbook_note.delete,执行写入操作前应确认目标笔记或 Runbook 及其影响范围。
监控器管理类问题¶
适用于“查看监控器、创建监控器、更新监控器、发送测试事件”等问题。
- 先调用
owl.monitor.list浏览目标监控器; - 需要详情时调用
owl.monitor.get; - 创建或更新时调用
owl.monitor.upsert; - 需要发送外部事件验证接收链路时调用
owl.monitor.receive。
DQL 文档搜索与正文读取¶
owl.data.search_dql_docs 在 Registry 服务端执行,返回 results 中的片段、document_id、version 和 read_reference。references_dir 是兼容保留的服务端诊断路径,不是 Agent 本地目录,不要交给 read_file、cat 或 grep。
把所选结果的 read_reference.arguments 原样作为 JSON 参数传给 read_reference.tool;CLI 可使用 owl exec owl.data.read_dql_docs --stdin -f json。不要从服务器路径自行构造 document_id。搜索和读取工具返回的 .output 是 JSON 文本,本身没有内层 success 字段。
读取参数为 document_id、返回的 version、start_line(从 1 开始)及 line_count(默认 80,最多 200)。正文位于 content,每页最多 65536 个 UTF-8 字节。需要后续内容且 has_more=true 时,保持相同 ID/version,将 start_line 设为 next_start_line,直到所需章节完整或 has_more=false。这里按行分页,不使用文件读取的 next_offset。
遇到 document.version_changed 时重新搜索并使用新引用,不省略 version 绕过校验,也不混合不同版本的页面。空 results 仅表示没有匹配片段。工具拒绝路径越界、符号链接、非 Markdown 或非 UTF-8 文件、超过 4 MiB 的文档及超过 65536 字节的单行。该能力属于 CLI 文档辅助工具,不保证在所有 MCP 暴露模式中可见。