首页主机资讯Filebeat如何与Logstash配合在CentOS上工作

Filebeat如何与Logstash配合在CentOS上工作

时间2025-11-24 17:24:04发布访客分类主机资讯浏览1405
导读:在 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 主配置:/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 filebeatsudo systemctl status logstash
    • 日志:sudo journalctl -u filebeat -fsudo 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
centos上sqlplus内存优化方法 centos中sqlplus网络连接问题

游客 回复需填写必要信息