Files
Starlight_Lancher/.agents/skills/lark-apps/references/lark-apps-observability.md

49 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# apps observability
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md)(认证 / 全局参数 / 安全)。
查询妙搭应用的线上运行观测和产品访问分析。所有 observability 命令只支持 `--environment online`;省略 `--environment` 时默认就是 online传 dev 或其他环境是不支持的。不要使用旧的 `--env`,也不要使用短选项。
日志和 trace 的用户侧环境仍然是 online但 OpenAPI 请求体里的后端 `app_env` 固定发送 `runtime`,因为线上应用的运行时日志和 trace 存储在 runtime 观测环境下。dry-run 输出会展示这个后端参数。
metric / analytics 的 `--environment` 只是 CLI 侧 online-only 校验:`+metric-list``+analytics-list` 不会向 OpenAPI body 发送 `env``app_env`。dry-run 里看不到环境字段是预期行为,不要补造参数。
时间过滤支持相对时间(如 `30s``5m``0.5h``2h``3d``1w`)、本地日期 / 时间和 RFC3339。
## 命令选择
- 日志检索:用 `+log-list` 搜索日志,用 `+log-get` 按 log ID 取单条日志。
- `+log-list` 不再支持 `--log-id`;已有 log ID 时直接用 `+log-get --log-id <log_id>`
- 前端 ERROR 日志详情:`+log-get` 可能补充 `source_stack`;没有独立的 source-stack 命令。
- Trace 检索:用 `+trace-list` 搜索 trace`+trace-get` 按 trace ID 取详情。
- 运行时指标请求数、错误、延迟、CPU、memory 用 `+metric-list`
- 产品分析PV、UV、访问量这类业务访问分析用 `+analytics-list`,不要放到 runtime metric 里混查。
- `+analytics-list` 按最新 OpenAPI 发送 `metric_types`、纳秒时间戳和 `need_pack_lack_point=false``group_by` 暂不支持。
- 用户询问“最近一小时接口请求量、错误量、延迟、接口慢/报错多”时,这是平台运行时监控,不是本地项目文件。先用 `apps +list --keyword``app_id`,再查 `+metric-list`
## 示例
```bash
lark-cli apps +log-list --app-id <app_id> --level error --keyword timeout --since 0.5h
lark-cli apps +log-get --app-id <app_id> --log-id <log_id>
lark-cli apps +trace-list --app-id <app_id> --trace-id <trace_id>
lark-cli apps +trace-get --app-id <app_id> --trace-id <trace_id>
lark-cli apps +metric-list --app-id <app_id> --metric requests --series total --since 1d
lark-cli apps +metric-list --app-id <app_id> --metric requests --since 1h
lark-cli apps +metric-list --app-id <app_id> --metric latency --since 1h
lark-cli apps +metric-list --app-id <app_id> --metric latency --series p99 --since 1d
lark-cli apps +metric-list --app-id <app_id> --metric cpu --since 1h
lark-cli apps +metric-list --app-id <app_id> --metric memory --since 1h
lark-cli apps +analytics-list --app-id <app_id> --analytics users --series active-users --granularity day
lark-cli apps +analytics-list --app-id <app_id> --analytics page-view --granularity day
```
## 使用边界
- 如果用户问“接口慢、报错多、CPU/内存高”,优先走 `+metric-list`
- `+metric-list --metric requests` 不传 `--series` 会同时返回请求总量 total 和错误量 error`--metric latency` 不传 `--series` 会同时返回 p50 和 p99。只想看单条曲线时再传 `--series total|error|p50|p99`
- 按接口收窄范围时使用 `--api <path-or-name>`;当前没有 `group-by` 参数,不要臆造。
- `+metric-list` 未显式传 `--down-sample` 时会按时间范围自动选择粒度:短范围用 `1m`,中等范围用 `1h`,长范围用 `1d`;显式传入时尊重用户指定。
- 如果用户问“页面访问量、PV、UV、活跃用户”优先走 `+analytics-list`
- 如果用户已有 `trace_id``log_id`,直接用对应 get 命令;不知道 ID 时先 list。