TARGETF4B2 PARTIALQA 0/5 VERIFIEDR14 · 15/21 PASS COMPLETEAdmin · 沿 request、run、entity、release 和 service 定位故障的开发者与值班人员

日志与关联检索

在明确 retention、来源、脱敏和查询成本的前提下关联 Nginx、journald 与 Docker 日志

/ops/logsplatform-operations
R14 · KNIFE 15 / 21

日志与关联检索 · 运营证据级页面任务包

在明确来源、14 天 retention、脱敏和查询预算的前提下,沿 request/run/entity/release 关联 Nginx、journald 与 Docker。

TARGET ROUTE

/ops/logs

CURRENT SOURCE

Alloy config + Loki filesystem + 4 Grafana dashboards

CURRENT API

Loki /ready 200 · Grafana /api/health 200;产品查询 API 未实现

WORK MODE

query-correlate · K15

ENTRY

组件证据、request ID、run/entity deep link 或 incident。

SUCCESS OUTPUT

得到有界 SafeLogView 或明确 coverage gap;安全导出返回 receipt。

INTERACTION MODEL

Scope/time → bounded query → stream/detail → correlation gaps → evidence/export target。

A11Y

日志表支持键盘行导航、暂停 live tail、级别文本和字段定义;动态追加不移动焦点。

TELEMETRY

log_query_submit · query_budget_result · safe_export_result;query text 和 log payload 不进入 analytics。

CURRENT SOURCE + RUNTIME3 REPOS SYNCED · EC2 2026-07-18
  • EC2 只读快照为 2026-07-18 02:36Z:256G XFS 根卷使用 159G/63%;未发现 failed systemd unit。进程、容器、readiness 与产品可用性必须保持分轨。
  • Alloy 1.17.1、Loki 3.7.0、Grafana 13.1.0 与 Docker socket proxy 正在运行;socket proxy 当前 healthy,Loki /ready 与 Grafana /api/health 均为 200。
  • Loki 是本机 filesystem 单节点、schema v13、14 天 retention;Alloy 采集 Docker JSON、Nginx access 与受筛 journald,Grafana 当前 provision 4 个 REITs dashboard。
media db8c55a · proxy healthy · Loki/Grafana 200 · root 63% · media service/container/vhost/listener 0/0/0/0
IMPLEMENTATION GAPPRODUCT QA 0 / 5
  • 当前没有面向产品的安全 explorer API、QueryBudget、资源级授权或 SafeLogExport。
  • 全局 request_id/release/actor/entity/run 解析与 coverage canary 尚未证明。
  • token、cookie、OTP、DSN、signed URL、原始 PII/内容必须 ingest 前移除。
CODE PASS ≠ DEPLOYED · HEALTHY ≠ PRODUCT AVAILABLE · BACKUP SUCCESS ≠ RESTORE PROVEN
72-STATE PROGRAM / THIS SCREEN

九态必须改变对象、证据 lane、授权、查询、确认或回执区域,不用通用遮罩冒充真实完成

QA 0 / 5 VERIFIED
READYLogQuery 证据可读

LogQuery

R14-LOG-READY→ 运行有界查询
LOADING正在核对 LogQuery

LogQuery evidence lanes

R14-LOG-LOADING→ 保持当前范围
EMPTY当前范围没有 LogQuery

query result / safe next step

R14-LOG-EMPTY→ 调整范围或返回
PARTIAL ERRORLogQuery 部分证据源失败

failed evidence lane only

R14-LOG-PARTIAL→ 只重试失败来源
ERRORLogQuery 读取失败

safe diagnostic

R14-LOG-ERROR→ 重新读取
OFFLINELogQuery 离线只读

bounded snapshot

R14-LOG-OFFLINE→ 查看快照证据
FORBIDDENLogQuery 被资源授权拒绝

authorization decision

R14-LOG-FORBIDDEN→ 返回安全页面
CONFIRMLogQuery 高影响动作确认

native confirmation

R14-LOG-CONFIRM→ 确认或取消
SUCCESSLogQuery 命令已返回回执

receipt / verification

R14-LOG-SUCCESS→ 打开回执与验证
R14 BOUNDARY本刀只完成 8 张资源/可观测页面、72 个页面状态以及 media source/EC2 runtime/target control plane 三轨事实;不调用真实上传、签票、删除、隔离处置、事故发布、审计导出或恢复命令,不读取日志 payload 与 secret,不把代码测试、healthy 容器、200 readiness、成功备份或 contract 脚本冒充已部署 Media、产品可用性、真实 Incident/Audit 或可恢复性证明。
UI STUDIOplatform-log-explorer
Admin1440 × 900100%
100%
/ops/logs
TARGET UI1440 × 900FIT 100%
R14 DESIGN CANDIDATECURRENT RUNTIME + CODE EVIDENCE + TARGET CONTROL PLANEreits-media db8c55a · EC2 snapshot 2026-07-18
RESOURCE & OBSERVABILITY / platform-log-explorer

日志与关联检索

在明确 retention、来源、脱敏和查询成本的前提下关联 Nginx、journald 与 Docker 日志

TRACE / RUN / ENTITY14D LOCAL LOKI
EnvironmentproductionServiceall servicesCorrelationrequest_id = req_7PM…91 OR entity_id = ast_…8CRangeLast 30 minutes
{org="reits", environment="production"} |= "req_7PM"Pause live tail · Safe fields only · UTC
INGEST SOURCES03Docker · journal · Nginx
DASHBOARDS04Grafana provisioned
RETENTION14Dsingle-node filesystem
LOKI VOLUME140.4 MBpoint-in-time
LOG STREAMSTRUCTURE SAMPLE · no production payload copied
02:36:31.970INFOdocker-socket-proxyhealth state = healthy
02:36:32.114INFOlogging-alloydocker discovery configured
02:36:34.210INFOnginx-edgerequest complete status=200
02:36:34.218INFOreits-developer-portalrequest_id field coverage not proven
02:36:41.101GAPreits-mediano production stream: service absent
REFERENCE VIEWPORT1440 × 900Desktop first · responsive
PRIMARY TASK运行查询主操作、权限与完成反馈必须同屏可验证
DATA CONTRACTLogQueryready / loading / empty / error 使用同一 fixture
ACCESSIBILITYKeyboard + WCAG AA焦点顺序、可读名称、对比度进入 UI CI
VISUAL BASELINETARGET · 2026-07-18桌面/移动、浅色/错误态按稳定 Screen ID 留档

IMPLEMENTATION MAP

目标定义与下一轮逐页细化入口

当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。

01

页面区域

  • 环境与时间范围
  • LogQL/结构化查询
  • 来源与保留
  • 日志流
  • 事件字段
  • 关联对象
  • 脱敏/导出
02

用户动作

  • 运行查询
  • 暂停 live tail
  • 展开字段
  • 定位 request/run/entity
  • 创建 incident exercise
  • 导出安全视图
03

必须状态

  • 运营证据已就绪
  • 多源证据聚合中
  • 当前范围为空
  • 部分证据源失败
  • 运营视图读取失败
  • 离线快照只读
  • 资源或环境权限拒绝
  • 高风险命令确认
  • 命令与证据回执完成
04

数据契约

  • LogQuery
  • LogSource
  • StructuredLogEvent
  • CorrelationContext
  • RedactionDecision
  • QueryBudget
  • SafeLogExport

TARGET MODULES

目标页面必须交付的模块

  1. 01safe query builder
  2. 02service/source labels
  3. 03trace/run/entity fields
  4. 04live tail pause
  5. 05event detail
  6. 06correlation gaps
  7. 07safe export

PRODUCT ROUTE INDEX

REITs Platform · Resource & Observability 的 8 个稳定 Screen ID

同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。

01
资源上传与预检/ops/media/uploads/new
Admin
02
隔离验证与晋级/ops/media/quarantine
Admin
03
不可变资源库/ops/media/assets
Admin
04
平台服务状态/status · /ops/status
Admin
05
日志与关联检索/ops/logs
Admin
06
Incident 指挥与时间线/ops/incidents/:incidentId
Admin
07
跨域审计事件详情/ops/audit/:eventId
Admin
08
隔离恢复演练/ops/recovery/drills/:drillId
Admin