适用场景

日志管道做不好会出现三种结果:丢日志(需要时没有)、查得慢(半小时出不来结果)、贵得离谱(存储费超过服务器费)。根因通常是解析规则混乱、保留策略缺失。

配置步骤(冷热分层与查询效率)

# 分层设计(示例)
热层:近 7 天,SSD 存储,全字段索引,供排障查询
温层:8-30 天,普通磁盘,部分字段索引,供统计与回溯
冷层:31-180 天,对象存储/压缩归档,按需恢复

# 索引策略
- 只对会用于过滤的字段建索引(service、level、trace_id、code)
- msg 等大字段不建索引,只做存储

# 查询习惯
- 先限定时间范围与 service,再做关键字搜索
- 避免通配符前缀查询(*abc)
- 常用查询沉淀为看板/保存查询,避免每次重写

关键参数与建议

  • 采集:Agent 本地缓冲 + 断点续传,远端不可用时不丢日志
  • 解析:在采集端做字段化(grok/正则/JSON),不要把大段文本丢给存储
  • 分流:按级别与业务分流(错误日志长期保留,调试日志短期)
  • 冷热分层:热 7-15 天可搜索,冷数据压缩归档,按需恢复
  • 索引成本:字段索引按需开,避免全字段索引导致成本翻倍
  • 管道限速:采集与写入限速,避免高峰期把存储与网络打满
  • 监控:采集成功率、写入延迟、解析失败率三项必须监控
  • 验收:任意时间点日志可查、解析字段可用于统计、月度成本可控

容易踩的坑

  • 所有字段都建索引,存储与写入成本翻倍
  • 不分层,几年前的日志也在热层
  • 查询不带时间范围,一次扫全量
  • 只保留 3 天,故障复盘时数据已被删
  • 归档数据没做可读性验证,需要时取不回来
  • 没有查询规范,值班人员各查各的

验证与巡检

# 效率与成本检查
1) 热层查询响应时间 < 5 秒(常规查询)
2) 冷层恢复演练半年一次,能恢复指定时间段
3) 存储月成本环比变化 < 20%
  • 巡检:查询响应达标、分层策略生效、归档可恢复、成本有月报

小结

日志管道验收:抽查一条链路,能从采集端确认不丢,能在存储端按字段查询,能说清保留期与每月成本。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。