V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxc1234
V2EX  ›  程序员

关于 filebeat 和 logstash

  •  
  •   zxc1234 · 2020-05-27 06:45:58 +08:00 · 2187 次点击
    这是一个创建于 1424 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在上家用过一段时间的 filebeat 和 logstash

    印象中使用方法是我们在日志中定义好日志格式,然后 filebeat 按照指定的格式去解析,然后 logstash 去

    filebeat 拿数据传输到 Elasticsearch 。

    那么

    1.为什么传输到 Elasticsearch 要分两步走,为什么不直接 filebeat 或者 logstash 就好了?

    2.filebeat 从日志文件中拿到的数据是存储在哪里呢? filebeat 安装的服务器的某个路径?路径是分布式?这个路径我

    们可以自己指定?

    3.如果发现日志数据没有传输到 Elasticsearch,排查问题的时候,应该如何排查 filebeat 和 logstash 的问题?思路应该

    是怎么样子的呢?

    4.最近面试被问到,有没有数据量大的问题?应该如何优化,解决?

    希望大神们帮忙解答一下~

    8 条回复    2020-05-27 20:07:23 +08:00
    singerll
        1
    singerll  
       2020-05-27 07:01:43 +08:00 via Android
    因为 logstash 功能全但太笨重,filebeat 轻量但只有部分功能。filebeat 就跟 jdk 一样就是个压缩包,想扔哪扔哪 ,每个机器都需要装。如果没有数据,没有应该排查哪个,所有节点都没有数据先排查 es,单个节点没有数据先排查 fb 。数据量大不知道,我是做售前解决方案的,在虚机上搭建过测试环境,了解的大概就这么多。。。
    janxin
        2
    janxin  
       2020-05-27 08:13:44 +08:00
    1. logstash 方便做日志的过滤,不过我们在实际使用过程中直接使用了 filebeat 对接 ES 。
    2. filebeat 应该是可以配的?默认是内存吧。安装路径是分布式的怎么理解...
    3. 排查问题第一看日志吧...目前遇到的问题都是看看日志就知道大概哪里的问题了,毕竟我们不是大厂没那么复杂...其他的看遥测信息。
    4. 数据量大很多处理办法吧,也可以不是 filebeat 直接对接 logstash,中间接上 Kafka 去做中转(没错,有问题 Kafka )
    shiji
        3
    shiji  
       2020-05-27 08:16:05 +08:00
    我不是很熟,但是以前用的时候记得*beats 是可以直接传送给 ES 的。尤其是当 logstash 的配置基本是一个传话筒的时候。
    如果有更深层次的数据修改 /合并,最好让 logstach 来做
    SevenJ
        4
    SevenJ  
       2020-05-27 08:44:07 +08:00
    1: logstash 的功能全面一些,如果不需要复杂处理的话 filebeat 也够用
    2: https://www.elastic.co/guide/en/beats/filebeat/master/configuring-internal-queue.html
    3: filebeat 加一个 file outputs 看 filebeat 是不是输出了,或者 logstash 加 一个 file output 看看 logstash 有没有写出
    4: filebeat -> kafka -> logstash -> ES
    malusama
        5
    malusama  
       2020-05-27 09:03:20 +08:00
    filebeat 和 logstash 不是有背压吗?需要上一层 Kafka 么?
    zxc1234
        6
    zxc1234  
    OP
       2020-05-27 17:03:57 +08:00
    @SevenJ 请问下第三点

    1.filebeat 加一个 file outputs 的话,logstash 是不是需要指定采集的入库路径???

    2.filebeat,logstash 有默认的 input 和 output 路径吗?
    zxc1234
        7
    zxc1234  
    OP
       2020-05-27 17:05:24 +08:00
    @SevenJ 请问下第一点,什么情况下需要用到 logstash 更丰富的功能呢?
    zardly666
        8
    zardly666  
       2020-05-27 20:07:23 +08:00
    1. 只 filebeat,不能对采集的数据做归一或过滤等复杂处理。只 logstash,可能不够轻量级吧。
    2.可以配置路径,安在哪儿无所谓,重点是配置监测哪些(哪个)路径的配置。我们是 k8s,filebeat 用守护进程集启动,集群内每个节点都启动了一份 filebeat 服务。
    3.我们是 filebeat→kafka→logstash→ES,是看 kafka 是否有数据,找到是 filebeat 还是 logstash 的问题,然后看日志定位问题。
    3.1)如果 kafka 有,是 logstash 的问题。
    3.2)如果 kafka 没有,是 filebeat 的问题。
    4.楼上大佬的方案 kafka/logstash 搭集群 /filebeat 也能通过配置文件达到(高 qps 或者采集低时延)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2899 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:37 · PVG 14:37 · LAX 23:37 · JFK 02:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.