zoukankan      html  css  js  c++  java
  • Filebeat+Kafka+Logstash+ElasticSearch+Kibana搭建完整版

    1. 了解各个组件的作用

    Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读)
    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据
    Logstash是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景
    ElasticSearch它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口
    Kibana是ElasticSearch的用户界面

    在实际应用场景下,为了满足大数据实时检索的场景,利用Filebeat去监控日志文件,将Kafka作为Filebeat的输出端,Kafka实时接收到Filebeat后以Logstash作为输出端输出,到Logstash的数据也许还不是我们想要的格式化或者特定业务的数据,这时可以通过Logstash的一些过了插件对数据进行过滤最后达到想要的数据格式以ElasticSearch作为输出端输出,数据到ElasticSearch就可以进行丰富的分布式检索了

    2. 安装各个组件并部署,并配置各个组件的关联配置文件

    下载各个组件的安装包并解压(这些组件在Apache官网都可以下载得到)

    Filebeat安装

    解压后Filebeat的目录

    Filebeat的配置很简单,只需要配置监控的日志文件的全路径和输出端的IP,一般默认(默认配置文件filebeat.yml)是输出到ElasticSearch,输出配置如下

    输出端配置

    这里我们不直接输出到ElasticSearch,而是kafka,所以需要配置 beat-kafka.yml,输入端配置如下

    输出端配置

    因为是输出到kafka,所以需要制定kafka的topic

    Kafka的安装

    在Filebeat已经配置输出端为kafka的配置,这里kafaka不需要配置任何东西,解压直接用,以下是kafka初用的几个必须的命令,具体查看kafka的官方API

    bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
    

    现在启动Filebeat:

    ./filebeat -e -c beat-kafka.yml -d "publish"
    

    这里需要说明一点,不同的输出端可以配置不同的.yml文件,所以这里的 beat-kafka.yml文件是kafka对应的配置
    以上命令输出没有报错并有如下信息

    且可以看到你的监控文件的log的信息字段证明不存在问题
    这是kafka的consumer会有如下信息

    message就是文件的具体信息

    Logstash的安装

    Logstash也不要做太多的配置,从搭建Filebeat和Kafka时,已经实现了数据的流通,现在要完成的事是然流到kafka的数据流到logstash,logtash也需要输出,将ElasticSearch作为输出端

    对于kafka不同的数据建议logstash用不同的通道去接
    一下是配置的两个不同的通道

    启动logstash

    bin/logstash -f first-pipeline.conf --config.reload.automatic --path.data=/home/hadoop/logstash
    

    --path.data=/home/hadoop/logstash是指存放数据的路径

    ElasticSearch配置和安装

    如果你不要更改ip的话那就不需要任何配置,直接启动

    sh bin/elasticsearch
    

    通过elasticsearch查询看整个架构是否完整数据是否正确流通
    查看索引

    curl '192.168.1.20:9200/_cat/indices?v'
    
    

    根据索引查询数据

    curl -XGET '192.168.1.20:9200/test_index/_search?pretty'
    


    这就证明我们整个架构是正确的且数据流通无误

    Kibana的配置和安装

    Kibana只是ElasticSearch的图形化界面,启动即用

  • 相关阅读:
    Python获取秒级时间戳与毫秒级时间戳
    时间戳与时间类型转化(秒级时间戳)
    linux压缩和解压缩命令
    对于Python中@property的理解和使用
    探索性测试方法
    Linux 中 grep 命令的 12 个实践例子
    在 Linux 启动或重启时执行命令与脚本
    亲测的orabbix监控Oracle过程
    find 使用搜集
    Centos7.3-mysql5.7复制安装过程
  • 原文地址:https://www.cnblogs.com/jiashengmei/p/8857053.html
Copyright © 2011-2022 走看看