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

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

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
大勇前进4 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu4 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile4 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白804 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙4 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发4 天前
软件工程SOLID 五大设计原则
后端·软件工程