Filebeat如何与Logstash配合在CentOS上工作
导读:在 CentOS 上部署 Filebeat 与 Logstash 的实用指南 一 架构与端口 Filebeat 部署在需要采集日志的节点,负责读取文件并发送到 Logstash 的 Beats 输入端口 5044。 Logstash 监听...
在 CentOS 上部署 Filebeat 与 Logstash 的实用指南
一 架构与端口
- Filebeat 部署在需要采集日志的节点,负责读取文件并发送到 Logstash 的 Beats 输入端口 5044。
- Logstash 监听 5044,在 Pipeline 的 filter 阶段进行解析与丰富,再输出到 Elasticsearch(常见端口 9200)。
- 如需在 Kibana 中查看,可部署 Kibana 并连接到同一 Elasticsearch。上述分工与端口是 CentOS 上最常见、最稳妥的组合。
二 安装与目录
- 使用 YUM 安装(示例命令,版本号可按需调整):
- 安装 Filebeat:
sudo yum install filebeat - 安装 Logstash:
sudo yum install logstash
- 安装 Filebeat:
- 常用配置与数据目录:
- Filebeat 主配置:/etc/filebeat/filebeat.yml
- Logstash 配置目录:/etc/logstash/conf.d/(建议将管道配置放在此目录)
- Logstash 主配置:/etc/logstash/logstash.yml;运行时数据:/var/lib/logstash;日志:/var/log/logstash
- 启动与管理:
- 启动/开机自启:
sudo systemctl start filebeat & & sudo systemctl enable filebeat - 启动/开机自启:
sudo systemctl start logstash & & sudo systemctl enable logstash
- 启动/开机自启:
- 注意:Logstash 基于 Java,需确保已安装 JDK(如 OpenJDK)。
三 最小可用配置
- Filebeat 配置(/etc/filebeat/filebeat.yml):收集系统日志并输出到 Logstash
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log output.logstash: hosts: ["127.0.0.1:5044"] - Logstash 配置(/etc/logstash/conf.d/filebeat.conf):接收 Beats、解析并写入 ES
input { beats { port => 5044 } } filter { # 示例:解析常见 Apache 访问日志;不匹配将保持原样 grok { match => { "message" => "%{ COMBINEDAPACHELOG} " } } date { match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ] } } output { elasticsearch { hosts => ["http://127.0.0.1:9200"] index => "filebeat-%{ +YYYY.MM.dd} " } } - 说明:以上为最简可用组合;生产环境可按需扩展 filter 与 output。
四 启动与验证
- 语法检查与启动 Logstash:
- 测试配置:
/usr/share/logstash/bin/logstash -t -f /etc/logstash/conf.d/filebeat.conf - 启动服务:
sudo systemctl start logstash
- 测试配置:
- 启动 Filebeat:
sudo systemctl start filebeat - 查看服务状态与日志:
- 状态:
sudo systemctl status filebeat、sudo systemctl status logstash - 日志:
sudo journalctl -u filebeat -f、sudo journalctl -u logstash -f
- 状态:
- 验证数据落库(ES 与索引):
- 查看索引:
curl -X GET "localhost:9200/_cat/indices?v" - 查询文档:
curl -X GET "localhost:9200/filebeat-*/_search?pretty"
- 查看索引:
- 可选:在 Kibana 中连接 Elasticsearch,创建索引模式 filebeat-* 进行可视化。
五 常见问题与优化
- 多行日志(如 Java 堆栈):在 Filebeat 使用 multiline 将堆栈合并为单事件,避免被拆行解析。
- 按类型分流处理:在 Filebeat 用 fields 打标签,在 Logstash 用 if [fields][log_type] == “xxx” 做差异化 grok/date。
- 性能与可靠性:
- Filebeat 可配置 load balancing 输出、内部队列与 shutdown_timeout;
- 首次采集大文件时谨慎使用 tail_files: true,避免文件轮转导致首条丢失。
- 调试技巧:Logstash 临时增加 stdout { codec => rubydebug } 输出到控制台,快速定位解析问题。
- 安全建议:跨主机传输时启用 SSL/TLS;为 Logstash 配置合适的 JVM 堆(jvm.options)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Filebeat如何与Logstash配合在CentOS上工作
本文地址: https://pptw.com/jishu/754635.html
