filebeat+kafak+logstash+kafka+es+kibana日志采集环境搭建

文章介绍了日志采集流程,包括使用Filebeat进行日志收集,通过Kafka进行高效传输,Logstash进行数据处理,然后将数据存储到Elasticsearch进行全文检索,最后利用Kibana进行数据可视化和系统导航。整个流程涉及的技术均为ElasticStack的重要组成部分。
摘要由CSDN通过智能技术生成

一.采集流程

img

二. 组件介绍

  • Filebeat

    Filebeat是一个使用Golang实现的轻量级的日志传输工具,它的可靠性很强,可以保证日志 At least once 的上报,同时也考虑了日志搜集中的各类问题,例如日志断点续读、文件名更改、日志 Truncated 等。Filebeat 内置了常用的 Output 组件, 例如 kafka、ElasticSearch、redis 等,出于调试考虑,也可以输出到 console 和 file 。

    其实上述架构中的Logstash也具有日志采集的功能,但是Logstash是运行在JVM上的,因此性能和资源占用会相对Filebeat来说较大

  • Kafka

    Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。Kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。其能够支撑海量数据的数据传递。在离线和实时的消息处理业务系统中,Kafka都有广泛的应用。Kafka在保证了较高的处理速度的同时,又能保证数据处理的低延迟和数据的零丢失。

  • Logstash

    Logstash是一个功能强大的工具,可与各种部署集成。它提供了大量插件,可以解析、丰富、转换和缓冲来自各种来源的数据。

  • ElasticSearch

    Elaticsearch,简称为ES,是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。ES也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

  • Kibana

    Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

三.环境搭建

版本如下:在这里插入图片描述

  • 配置filebeat,新建my_filebeat.yml

    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/messages
     
    output.kafka:
        enabled: true
        hosts: ["localhost:9092"]
        topic: "demo-topic"
    

    启动命令:

    ./filebeat -e -c my_filebeat.yml -d "publish"
    
  • 配置kafka

    ./bin/zookeeper-server-start.sh ./config/zookeeper.properties			        #必须首先启动zookeeper
    ./bin/kafka-server-start.sh ./config/server.properties						#用另一个终端来启动kafka
    
    • kafka的端口号为:9092 zookeeper的端口号为:2181

    • 保持kafka开启的状态下来创建一个名叫demo-topic的主题(topic):

      ./bin/kafka-topics.sh  --zookeeper localhost:2181 --create --topic demo-topic --partitions 1 --replication-factor 1     #创建一个名为demo-topic的主题
      ./bin/kafka-topics.sh --list --zookeeper localhost:2181  
      
  • 配置logstash,config下新建:first_pipeline.conf

    input {
      kafka {
        bootstrap_servers => "localshot:9092"
        topics => "demo-topic"
        group_id => "test"
      }
    }
    
    output {
      elasticsearch {
        hosts => ["http://localhost:9200"]
        index => "test_index"
        #user => "elastic"
        #password => "changeme"
      }
    }
    

    启动命令:

    ./bin/logstash -f ./config/first_pipeline.conf --config.reload.automatic --path.data=/data/logstash
    
  • 配置elasticsearch

    • chown -R esroot:esroot elasticsearch-8.3.3

    • su esroot

    • 修改elasticsearch.yml文件

      network.host: 0.0.0.0
      http.port: 9200
      xpack.security.enabled: false
      
      # 添加行
      ingest.geoip.downloader.enabled: false
      
    • 启动:./elasticsearch -d

  • 配置kibana

    • 修改kibana.yml

      server.port: 5601
      server.host: "0.0.0.0"
      
    • 启动kibana:./kibana

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值