日志系统最佳实践:我如何用 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 可视化强大

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

相关推荐
武子康1 小时前
大数据-173 Elasticsearch 映射与文档增删改查实战(基于 7.x/8.x)JSON
大数据·后端·elasticsearch
写代码的皮筏艇1 小时前
数据库连接
后端
盛小夏2点0版1 小时前
💌 Python 表白神器:一行命令,满屏爱心 + 打字机情话
后端
SoulStranded1 小时前
交叉编译mDNSResponder生成动态库so
后端
user_永1 小时前
自定义 Spring Boot Starter
后端
辭七七1 小时前
在openEuler上用Docker部署RabbitMQ消息队列实战
后端
兔子零10241 小时前
nginx 配置长跑(中):HTTPS、转发、跨域与泛域名的实战套路
后端
用户0524832491761 小时前
在 openEuler 上快速体验 PyTorch 深度学习
后端
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 VB返回最长有效子串长度
数据结构·后端·算法