ELK是Linux日志集中化的主流入门方案:Filebeat轻量采集,Logstash解析过滤,Elasticsearch存储检索,Kibana可视化;需分机部署、时区统一、索引按天管理并配置ILM与权限。
Linux日志集中化用ELK(Elasticsearch + Logstash + Kibana)是最主流的入门方案,核心思路是:各服务器用轻量采集器把日志发到Logstash做解析过滤,存入Elasticsearch,再由Kibana可视化查询。
Elasticsearch是分布式搜索引擎,负责存储和检索日志;Logstash是数据管道,做收集、转换、转发;Kibana是Web界面,用于搜索、图表和仪表盘。生产环境建议分机部署:Logstash可多实例横向扩展,Elasticsearch建议3节点起集群(避免单点故障),Kibana单节点即可,但需反向代理加认证。
不推荐直接在每台业务机跑Logstash(资源开销大)。更常用的是用Filebeat——它占用内存小、启动快、支持SSL加密传输。配置filebeat.yml指定日志路径(如/var/log/nginx/access.log)、输出目标(Logstash或直连ES)、字段添加(比如host.name、env: prod)。
一个典型pipeline.conf包含input(接收beats)、filter(解析+丰富+过滤)、output(写入ES)。重点不在“全都要”,而在“够用且稳定”:
日志按天建索引(如nginx-access-2025.06.15)便于生命周期管理。用ILM(Index Lifecycle Management)策略自动滚动、删除旧索引。Kibana里先创建Index Pattern(如nginx-access-*),再进Discover查原始日志,用Visualize建响应时间趋势图,Dashboard整合多个视图。
入Dashboard不复杂但容易忽略细节,比如时间对齐、证书信任、索引命名规范——搭通只是开始,稳定运行靠配置打磨。