恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
ELK日志平台生产实践:Filebeat配置详解与日志留存策略
首页
资讯中心
/
ELK日志平台生产实践:Filebeat配置详解与日志留存策略
ELK日志平台生产实践:Filebeat配置详解与日志留存策略
发布时间:2026/8/6 4:35:09
一、Filebeat与Winlogbeat组件介绍1.1 文档介绍上一篇文章介绍了 ELK 日志平台的整体架构以及 Elasticsearch、Kibana、Logstash 的部署过程。本文开始进入日志接入阶段主要介绍 Filebeat 和 Winlogbeat 两个日志采集组件的配置方法并结合实际生产环境说明日志过滤、多业务日志分类以及 Elasticsearch Index Lifecycle ManagementILM生命周期管理。本文内容包括Filebeat日志采集配置Filebeat输出至Logstash管道配置日志字段分类与过滤多业务应用日志采集Winlogbeat Windows日志采集Elasticsearch Index Lifecycle ManagementILM生命周期管理。适合作为企业内部日志平台建设以及 ELK Stack 生产环境实践参考。1.2 服务部署选择在生产环境中Filebeat通常部署在日志产生服务器上通过读取本地日志文件进行采集。本次采用Filebeat二进制部署方式。原因Filebeat需要读取服务器本地日志文件避免Docker部署时额外挂载日志目录更符合生产环境日志Agent部署方式。如果采用Docker部署Filebeat需要额外挂载宿主机日志目录对于 Kubernetes 环境可以通过 DaemonSet 方式部署 Filebeat通过挂载节点日志目录采集容器日志。例如volumes:-/var/log:/var/log-/data/logs:/data/logs同时需要保证FilebeatLogstashElasticsearchKibana版本保持一致。本文采用Elasticsearch 7.8.1 Logstash 7.8.1 Kibana 7.8.1 Filebeat 7.8.1二、Filebeat安装部署2.1 下载Filebeat创建安装目录mkdir/opt/backupcd/opt/backup下载Filebeatwgethttps://mirrors.huaweicloud.com/filebeat/7.8.1/filebeat-7.8.1-linux-x86_64.tar.gz解压tar-xvffilebeat-7.8.1-linux-x86_64.tar.gz移动目录mvfilebeat-7.8.1-linux-x86_64 /opt进入目录cd/opt/filebeat-7.8.1-linux-x86_64三、Filebeat日志采集配置编辑配置文件vimfilebeat.yml3.1 配置日志路径示例filebeat.inputs:-type:logenabled:truepaths:-/work/apps/app.log其中type日志采集类型enabled启用采集paths日志文件路径3.2 配置输出到Logstash关闭默认Elasticsearch输出#output.elasticsearch:# hosts:# - localhost:9200开启Logstash输出output.logstash:hosts:-10.1.1.4:5044Filebeat采集日志后发送至Logstash进行解析处理。四、日志过滤配置生产环境中并不是所有日志都需要保存。如果应用日志量较大可以通过Filebeat提前过滤无效日志减少进入Elasticsearch的数据量。例如只保留ERROR和INFO日志processors:-drop_event:when:not:or:-regexp:message:.*ERROR.*-regexp:message:.*INFO.*执行后保留ERROR日志 INFO日志过滤DEBUG日志 无效输出日志实际生产环境中需要根据应用日志格式调整regexp匹配规则。五、多业务日志采集实际生产环境中一台服务器可能运行多个应用。例如/work/apps ├── app1.log └── app2.log可以针对不同服务单独配置。-type:logenabled:truepaths:-/work/apps/app1.logfields:service:app1processors:-drop_event:when:not:or:-regexp:message:.*LogAspect.*-regexp:message:.*WebSocket.*通过fields字段增加业务标识service:app1后续可以在Kibana中根据服务名称快速查询。六、Filebeat系统服务托管运行测试./filebeat -e创建systemd服务vim/etc/systemd/system/filebeat.service配置[Unit] DescriptionFilebeat - Logs File Shipper Afternetwork.target [Service] Typesimple Userroot ExecStart/opt/filebeat-7.8.1-linux-x86_64/filebeat \ -c /opt/filebeat-7.8.1-linux-x86_64/filebeat.yml Restartalways [Install] WantedBymulti-user.target重新加载systemctl daemon-reload启动服务systemctlenablefilebeat.service systemctl start filebeat.service查看状态systemctl status filebeat.service七、Windows日志采集除了Linux日志在Windows环境中可以使用Winlogbeat采集Windows事件日志。常见场景AD账户审计用户登录记录用户创建删除安全事件分析匹配不同的ID号即可例如4624 登录成功 4625 登录失败 4720 创建用户 4726 删除用户例如开启Windows审核策略后可以查看用户登录 账号创建 账号修改 账号删除下载对应版本Winlogbeat。修改配置关闭#output.elasticsearch:修改为output.logstash:hosts:-10.1.1.4:5044管理员权限运行cd winlogbeat./winlogbeat.exe-e-c winlogbeat.yml八、Elasticsearch生命周期管理ILM8.1 为什么需要生命周期管理如果日志持续写入单个索引logs随着时间增加索引不断增长查询性能下降占用大量磁盘空间。因此需要通过Elasticsearch ILM管理日志生命周期。8.2 ILM工作流程Elasticsearch生命周期通常包含Hot ↓ Warm ↓ Cold ↓ Delete不同阶段可以执行不同策略。本文根据日志需求采用Hot ↓ Warm ↓ Delete日志保存周期60天九、创建生命周期策略暂停Logstash服务systemctl stop logstash进入ES执行删除旧索引DELETE/logs创建生命周期策略PUT_ilm/policy/logs_60days_policy{policy:{phases:{hot:{min_age:0ms,actions:{rollover:{max_size:50gb,max_age:7d}}},warm:{min_age:15d},delete:{min_age:60d,actions:{delete:{}}}}}}十、创建索引模板PUT_index_template/logs_template{index_patterns:[logs-*],template:{settings:{index.lifecycle.name:logs_60days_policy,index.lifecycle.rollover_alias:logs-write}}}十一、创建第一个滚动索引PUT/logs-000001{aliases:{logs-write:{is_write_index:true}}}当达到条件例如7天 或者 50GBES会自动创建logs-000002 logs-000003 ...旧索引根据生命周期策略自动删除。十二、Logstash配置修改修改输出索引input { beats { port 5044 } } output { elasticsearch { hosts [ http://10.1.1.114:9200 ] index logs-write } stdout { codec rubydebug } }重启Logstashsystemctl restart logstash日志进入ES后会自动按照ILM策略进行管理。十三、总结本文主要介绍Filebeat二进制部署Filebeat日志采集配置多业务日志分类日志过滤优化Winlogbeat采集Windows安全日志Elasticsearch ILM生命周期管理。通过Filebeat、Logstash、Elasticsearch、Kibana组成完整日志链路可以实现企业环境中的日志采集、存储以及查询分析。十四、 后续文档本文介绍了 ELK 日志平台的日志采集以及生命周期管理配置。前序文档已经完成 ELK Stack 整体架构设计以及基础环境部署。后续文档包括文档内容日志查询指南Elasticsearch API、Kibana Discover、日志检索及分析方法ES Log Viewer开源项目使用说明企业内部日志查询平台使用方法建议按照上述顺序阅读以便完整了解日志平台从部署、日志接入到查询分析的完整流程。Elasticsearch 的方法。