首页主机资讯ubuntu filebeat数据传输方式

ubuntu filebeat数据传输方式

时间2025-11-17 19:53:03发布访客分类主机资讯浏览872
导读:Ubuntu 上 Filebeat 的数据传输方式 主要传输方式与典型场景 直接到 Elasticsearch:适合简单汇聚与快速检索,配置少、延迟低。示例输出到本机 http://localhost:9200,并按日期创建索引。 经由...

Ubuntu 上 Filebeat 的数据传输方式

主要传输方式与典型场景

  • 直接到 Elasticsearch:适合简单汇聚与快速检索,配置少、延迟低。示例输出到本机 http://localhost:9200,并按日期创建索引。
  • 经由 Logstash 中转:适合需要**过滤、解析、丰富(如 Grok、Date、GeoIP)**与多路分发的场景。Filebeat 向 Logstash 5044 发送,Logstash 处理后写入 Elasticsearch 或其他目标。
  • 写入 Redis 队列:适合解耦采集与处理、削峰填谷与跨系统传递。Filebeat 将事件写入 Redis List,由下游消费者(如 Logstash/自研程序)读取处理。
  • 写入 Apache Kafka:适合高吞吐、多消费者与流式处理链路。Filebeat 作为生产者写入 Kafka Topic,后续由 Logstash 或其他消费者处理。

快速配置示例

  • 直接到 Elasticsearch

    filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log
    
    output.elasticsearch:
      hosts: ["localhost:9200"]
      index: "filebeat-%{
    [agent.version]}
    -%{
    +yyyy.MM.dd}
    "
    

    说明:将日志直接写入本机 ES,按版本与日期滚动索引。

  • 经由 Logstash Filebeat 配置:

    filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log
    
    output.logstash:
      hosts: ["localhost:5044"]
    

    Logstash 配置(示例):

    input {
     beats {
         port =>
     5044 }
     }
    
    filter {
    
      grok {
         match =>
     {
         "message" =>
     "%{
    COMBINEDAPACHELOG}
    " }
     }
    
      date {
         match =>
     [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ] }
    
    }
    
    output {
     elasticsearch {
         hosts =>
         ["localhost:9200"] index =>
     "filebeat-%{
    +YYYY.MM.dd}
    " }
     }
        
    

    说明:Filebeat 向 5044 发送,Logstash 解析后再写入 ES。

  • 写入 Redis

    filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log
    
    output.redis:
      hosts: ["127.0.0.1:6379"]
      key: "filebeat-logs"
    

    验证:

    redis-cli
    >
         KEYS *
    >
         LRANGE filebeat-logs 0 -1
    

    说明:将事件写入 Redis 列表,键名为 filebeat-logs

  • 写入 Kafka

    filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log
    
    output.kafka:
      hosts: ["kafka-broker1:9092","kafka-broker2:9092"]
      topic: "filebeat-logs"
      codec.json:
        pretty: false
        escape_html: false
    

    说明:Filebeat 作为生产者写入 Kafka topic: filebeat-logs,后续由消费者处理。

选型建议与注意事项

  • 选择建议
    • 需要快速落地与检索:优先 Elasticsearch 直写
    • 需要复杂解析与治理:使用 Logstash 中转。
    • 需要解耦与削峰:引入 Redis/Kafka 作为缓冲与队列。
  • 重要注意事项
    • Filebeat 同一实例通常只启用一个输出(例如不能同时开启 output.elasticsearch 与 output.logstash),需按链路选择单出口。
    • 生产环境建议开启 TLS/认证(Elasticsearch/Logstash/Kafka/Redis 均支持),并妥善管理证书与密钥。
    • 合理设置 索引生命周期管理 ILM索引模板,避免映射爆炸与滚动策略不当。
    • 启动前使用 filebeat test config 校验配置,部署后用 journalctl -u filebeat -f/var/log/filebeat/filebeat 查看运行日志。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu filebeat数据传输方式
本文地址: https://pptw.com/jishu/749265.html
ubuntu filebeat实时监控实现 如何在Debian上构建Java项目的文档

游客 回复需填写必要信息