运维
可观测性
日志、请求 id、指标、错误、会话与审计日志。
可观测性
ObjectOS 的运维既需要基础设施层信号,也需要应用层信号。框架提供 请求 id、指标、错误上报和审计原语;由部署方决定把它们导出到哪里。
请求标识
每个生产部署都应当传递或生成一个请求 id:
X-Request-Id用它来关联:
- 入口日志;
- ObjectOS 日志;
- 数据库慢查询;
- 错误上报;
- 客户支持工单。
指标与错误
运行时暴露可插拔的指标接口和错误上报接口。请将其对接到客户选定 的系统,例如 Prometheus、OpenTelemetry、Datadog、Sentry 或其他经过 审批的后端。
至少跟踪:
| 信号 | 用途 |
|---|---|
| 按路由/状态码统计的请求数 | 检测错误激增 |
| 请求时延 | 检测时延回归 |
| 5xx 错误 | 对运行时故障告警 |
| 认证失败 | 发现配置错误或攻击模式 |
| 产物/内核缓存未命中 | 理解冷启动行为 |
最小化 Prometheus 示例
启用指标服务后,ObjectOS 暴露一个 Prometheus 兼容的指标端点:
# prometheus.yml
scrape_configs:
- job_name: objectos
metrics_path: /metrics
static_configs:
- targets: ['objectos:3000']可以作为起点的告警规则:
groups:
- name: objectos
rules:
- alert: ObjectOS5xxSpike
expr: |
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) > 0.02
for: 5m
annotations:
summary: "ObjectOS 5xx rate above 2% for 5 minutes"
- alert: ObjectOSAuthFailureSpike
expr: rate(auth_failures_total[5m]) > 5
for: 10m
annotations:
summary: "Sustained auth failure rate — check for misconfiguration or attack"
- alert: ObjectOSKernelColdStartHigh
expr: rate(kernel_cache_misses_total[15m]) > 1
for: 15m
annotations:
summary: "Frequent project kernel cold starts — consider raising OS_KERNEL_CACHE_SIZE"对于 OpenTelemetry,设置 OS_OBS_EXPORTER=otlp 以及 OS_OTLP_ENDPOINT
(例如 https://<collector>/otlp),ObjectOS 会以 OTLP 格式发出 trace 与
指标。导出器默认为 noop(运行时零成本),因此 OTLP 导出为按需启用 ——
仅设置端点而不设 OS_OBS_EXPORTER=otlp 不会发出任何数据。本地调试用
OS_OBS_EXPORTER=console 或 json,用 OS_OBS_DEPLOYMENT_ENV 标记部署
(默认 production)。span 的形状与
请求流程一致。
审计日志
启用审计能力后,ObjectOS 将审计记录写入 sys_audit_log。
审计日志用于:
- 权限敏感的变更;
- 设置变更;
- 用户/会话排查;
- 集成活动;
- 拒绝访问的分析。
在受监管环境中,将审计表在数据库或存储层设为仅追加,并定义保留 策略。
Console 诊断
Console 暴露面向运维的功能页面,例如:
- 会话;
- 审计日志;
- 通知;
- 启用 webhook 时的 Webhook 投递记录;
- 系统与安全总览仪表盘。
这些页面面向运维与支持工程师,而不仅仅是开发者。