日志系统最佳实践:我如何用 ELK + Filebeat 做“秒级可观测”

运维与后端工程师离不开日志系统,我曾构建过一套完整的日志链路:

复制代码
APP → Filebeat → Kafka → Logstash → ES → Kibana

秒级可查,成本不高。


一、为什么要独立日志系统?

  • Docker 日志丢失风险
  • 容器自动重启导致日志被覆盖
  • 多实例下无法查看全量日志
  • grep 查日志效率低

二、Filebeat 超好用

配置示例:

lua 复制代码
filebeat.inputs:
  - type: log
    paths:
      - /var/log/service/*.log
output.kafka:
  hosts: ["kafka01:9092"]
  topic: "service-log"

自动收集日志 → 推到 Kafka。


三、Logstash 处理与过滤

ini 复制代码
filter {
  json {
    source => "message"
  }
  date {
    match => ["timestamp", "ISO8601"]
  }
}

把日志转成结构化 JSON。


四、ES 查询灵活强大

常见查询:

json 复制代码
{ "query": { "match": { "level": "error" } } }

可以基于:

  • traceId
  • userId
  • serviceName
  • level
  • message

实现高级搜索。


五、最终效果

  • 日均日志 50GB
  • 秒级查询
  • 可视化搜索报错
  • 结合告警系统非常高效

六、总结

日志系统是后端系统稳定性的基石:

  • Filebeat 轻量
  • Kafka 解耦
  • ES 高性能查询
  • Kibana 可视化强大

如果你要搭可观测性系统,从日志开始最简单、收益最大。

相关推荐
涡能增压发动积17 小时前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
Wenweno0o17 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
swg32132117 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
tyung17 小时前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald17 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川18 小时前
深入拆解 Java 内存模型:从原子性、可见性到有序性,彻底搞懂 happen-before 规则
java·后端
元宝骑士18 小时前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
用户319523703477118 小时前
记一次 PostgreSQL WAL 日志撑爆磁盘的排查
后端
nghxni18 小时前
LightESB PlatformHttp v3.0.0:JSONPath 订单转换 HTTP 路由实战
后端
武子康19 小时前
大数据-263 实时数仓-Canal 增量订阅与消费原理:MySQL Binlog 数据同步实践
大数据·hadoop·后端