日志规范(K8s 结构化日志)

目标:采得到、查得快、能关联、合规可审计。所有日志统一为 JSON,且带可关联字段。

一、采集架构

复制代码
容器 stdout/stderr → Fluent Bit(DaemonSet) → Kafka(可选缓冲) → Loki → Grafana
  • 采集端:Fluent Bit(轻量,DaemonSet),自动附加 namespace/pod/container/node。
  • 存储:Loki(与 Prometheus/Grafana 同栈,成本低);审计类日志可单独 ES。

二、日志格式(结构化 JSON)

必带字段:

json 复制代码
{
  "timestamp": "2026-09-17T11:00:00.123Z",
  "level": "ERROR",
  "service": "order-service",
  "env": "prod",
  "trace_id": "a1b2c3d4...",
  "msg": "create order failed",
  "error": "TimeoutException",
  "latency_ms": 3200,
  "user_id": "u_12345"
}
  • level:DEBUG / INFO / WARN / ERROR / FATAL
  • trace_id:有请求上下文时必须带,用于和链路追踪关联下钻
  • 时间戳用 ISO8601 UTC

三、分级与打印纪律

  • 禁止打印敏感字段:手机号、身份证、token、密码、银行卡 → 采集端或代码层脱敏(如 138****8000)。
  • 控制频率:避免每秒上万条;批量/采样,必要时降级为计数。
  • 单行大小限制(如 < 16KB),避免撑爆采集。
  • ERROR 必须含可定位信息(trace_id + 关键参数 + 异常类型),不要只写 "error"。

四、留存与成本

级别 留存 说明
DEBUG 3--7 天 排障用,短留
INFO 15--30 天
ERROR/FATAL 60--90 天 便于复盘
审计日志 180 天+ 合规要求,独立存储防篡改
  • 冷热分层:热存 SSD/Loki,冷数据转对象存储降成本。
  • 索引按 service/env 分,避免互相影响。

五、K8s 场景要点

  • 只采 stdout/stderr(标准输出),不进容器里捞文件。
  • 用 Pod annotation 自动附加业务标签。
  • 多租户:按 namespace 路由到不同 Loki 流/索引。

六、日志告警

  • 错误率突增:同服务 ERROR 分钟级计数超阈值 → 告警(配合指标更准)。
  • 关键字:如 OutOfMemoryError、Connection refused、PANIC。
  • 关联:日志告警携带 trace_id,点击直接跳链路。
相关推荐
广州灵眸科技有限公司7 小时前
4G 模组开机自连 systemd 服务方案:基于灵眸科技EAI1106--Core-T
运维·服务器·科技
wflynn7 小时前
GitHub 日榜趋势速报 | 2026-10-28
开源·github
天远数科8 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化
qq_401700418 小时前
Linux设备树详解
linux·运维·服务器
孙琦Ray8 小时前
Meta 把 AI 网络 RDMA 传输层开源了
meta·开源·rdma·ai 网络·ocp 全球峰会·数据中心交换机
海盗12349 小时前
AI 新闻日报 10-28:Atria Dawn 完整版开源、Cursor Agent SDK 转正、Genie 4 实时世界模型
人工智能·机器人·开源·人工智能aigc
奇树谦9 小时前
Windows CMD 下 mc 运维指南:SeaweedFS 安装验收与 MinIO 数据迁移
运维·windows
刚入门的大一新生9 小时前
Linux-信号
linux·运维·服务器
摩尔线程9 小时前
万卡万亿参数模型训练底座:摩尔线程开源Megatron-MUSA-Titan
开源·摩尔线程
车软学堂9 小时前
CANoe自动化:跑起第一个测试用例
运维·车载系统·自动化·汽车·测试用例