信息发布→ 登录 注册 退出

Linux日志集中化如何搭建_ELK基础架构解析【教学】

发布时间:2025-12-23

点击量:
ELK是Linux日志集中化的主流入门方案:Filebeat轻量采集,Logstash解析过滤,Elasticsearch存储检索,Kibana可视化;需分机部署、时区统一、索引按天管理并配置ILM与权限。

Linux日志集中化用ELK(Elasticsearch + Logstash + Kibana)是最主流的入门方案,核心思路是:各服务器用轻量采集器把日志发到Logstash做解析过滤,存入Elasticsearch,再由Kibana可视化查询。

一、ELK各组件角色与部署建议

Elasticsearch是分布式搜索引擎,负责存储和检索日志;Logstash是数据管道,做收集、转换、转发;Kibana是Web界面,用于搜索、图表和仪表盘。生产环境建议分机部署:Logstash可多实例横向扩展,Elasticsearch建议3节点起集群(避免单点故障),Kibana单节点即可,但需反向代理加认证。

二、日志采集端怎么轻量接入

不推荐直接在每台业务机跑Logstash(资源开销大)。更常用的是用Filebeat——它占用内存小、启动快、支持SSL加密传输。配置filebeat.yml指定日志路径(如/var/log/nginx/access.log)、输出目标(Logstash或直连ES)、字段添加(比如host.name、env: prod)。

  • 用filebeat modules可一键启用Nginx、System、MySQL等常见服务日志解析模板
  • 若需自定义字段提取,可在Logstash里用grok插件写匹配规则,例如%{COMBINEDAPACHELOG}
  • 注意时区统一:Filebeat默认用系统本地时间,建议在output前加processor设为UTC,Elasticsearch也保持UTC索引

三、Logstash处理链关键配置点

一个典型pipeline.conf包含input(接收beats)、filter(解析+丰富+过滤)、output(写入ES)。重点不在“全都要”,而在“够用且稳定”:

  • input中启用ssl_certificatessl_key保障传输安全
  • filter里用date插件校准@timestamp,避免日志时间戳被误当系统时间
  • 用if判断过滤掉debug日志或健康检查请求,减少ES写入压力
  • output中开启pipeline => "logs"可对接ES ingest pipeline做二次处理(如IP地理信息补全)

四、Elasticsearch索引管理与Kibana落地

日志按天建索引(如nginx-access-2025.06.15)便于生命周期管理。用ILM(Index Lifecycle Management)策略自动滚动、删除旧索引。Kibana里先创建Index Pattern(如nginx-access-*),再进Discover查原始日志,用Visualize建响应时间趋势图,Dashboard整合多个视图。

  • 首次使用前,在Stack Management > Index Patterns里确认时间字段选的是@timestamp而非message里的字符串时间
  • 权限控制别忽略:用Elastic Stack内置security功能为不同团队分配read_only或kibana_admin角色
  • 导出常用查询为Saved Search,方便复用和嵌入Dashboard

不复杂但容易忽略细节,比如时间对齐、证书信任、索引命名规范——搭通只是开始,稳定运行靠配置打磨。

标签:# linux  # apache  # mysql  # elk  # elasticsearch  # input  # var  # 字符串  # Filter  # timestamp  # date  # if  # 分布式  # 架构  # 搜索引擎  # ssl  # access  # nginx  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!