1.filebeat 搜集日志文件,读取日志文件内容
    2.确保至少一次交付,(filebeat意外关闭/停止),而不是说把要传输的日志文件给删了
    未完成的时间保存在注册文件中,filebeat在次启动的时候,拿到这事件,继续完成未完成的操作(重复输出)
    1.是什么
    2.工作原理
    3.为什么要使用filebeat
    4.两个组件的作用
    5.filebeat可以确保至少交付一次(为什么? Filebeat保证事件至少会被传送到配置的输出一次,并且不会丢失数据。 Filebeat能够实现此行为,因为它将每个事件的传递状态存储在注册文件中。在输出阻塞或未确认所有事件的情况下,Filebeat将继续尝试发送事件,直到接收端确认已收到。
    如果Filebeat在发送事件的过程中关闭,它不会等待输出确认所有收到事件。
    发送到输出但在Filebeat关闭前未确认的任何事件在重新启动Filebeat时会再次发送。
    这可以确保每个事件至少发送一次,但最终会将重复事件发送到输出。)
    *.log

    部署filebeat
    1、首先下载filebeat安装包
    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-linux-x86_64.tar.gz
    tar xf filebeat-6.5.4-linux-x86_64.tar.gz -C /usr/local && mv /usr/local/filebeat-6.5.4-linux-x86_64 /usr/local/filebeat
    2、配置filebeat配置文件,filebeat.yml,根据要求实现的功能,打开input和output功能
    基本input
    - type: log
    enabled: false #开起output时,打开,换成true
    paths:
    - /var/log/*.log #选择收集的log路径或者文件

    基本output(output.kafka之后,每行开头有两个空格) output.需要传送的软件/elasticsearch/kafka/logstash/…….例:
    output.kafka:
    hosts: [“localhost:port”] #多个地址需要用””分别引起来
    enabled: true
    topic: ‘在kafka中创建的topic’
    logstash配置文件编辑
    vim filebeat.conf
    input {
    kafka {
    type => “kafka-logs”
    bootstrap_servers => “172.17.0.4:9092,172.17.0.5:9092” #此处填写kafka的IP地址:端口号,多个用,隔开
    group_id => “logstash”
    auto_offset_reset => “earliest”
    topics => “kafka_run_log” #kafka中创建的topic
    consumer_threads => 5
    decorate_events => true
    }
    }
    output {
    elasticsearch {
    index => ‘kafka-run-log-%{+YYYY.MM.dd}’
    hosts => [“172.17.0.2:9200”,”172.17.0.3:9200”] #此处填写要转发的es地址,多个用””引起来
    }
    }
    部署完之后,部署kafka,logstash,首先启动zookeeper,其次kafka,然后启动logstash,最后启动filebeat