【问题标题】:Optimal way to set up ELK stack on three servers在三台服务器上设置 ELK 堆栈的最佳方式
【发布时间】:2016-02-14 01:02:07
【问题描述】:

我希望设置一个 ELK 堆栈并拥有三台服务器来执行此操作。虽然我找到了大量关于如何实际安装和配置 elasticsearch、logstash 和 kibana 的文档和教程,但我发现关于如何在我的服务器上设置软件以最大限度地提高性能的信息却很少。例如,最好在所有三个实例上设置 elasticsearch、logstash 和 kibana,还是在两个实例上安装 elasticsearch 并在第三个实例上安装 logstash 和 kibana?

与该问题相关,如果我的集群中有多个 elasticsearch 服务器,我是否需要负载均衡器将请求分发给它们,或者我可以将数据发送到一台服务器,然后它会相应地分发它?

【问题讨论】:

    标签: elasticsearch logstash kibana elastic-stack


    【解决方案1】:

    机器的大小也很重要。三台 8GB RAM 的机器与三台 64GB 或更多的机器有很大不同...

    Kibana 占用的资源很少。 Logstash 更占用 CPU。 Elasticsearch 占用更多内存。

    对于弹性搜索集群,您通常需要每个分片的副本以实现冗余。这通常由两台服务器完成。如果您有第三个 elasticsearch 服务器,那么您将获得 IO 提升(将数据的两个副本写入三个服务器可以降低负载)。此外,偶数的服务器可能会混淆哪个是主服务器,因此三个将有助于防止“脑裂”问题。

    这两个或三个节点将是“数据”节点,因此如果您向它们抛出查询或索引请求,它们可能需要将请求移动到另一台服务器(具有数据的服务器等)。请求也有一个“减少”阶段,其中来自每个节点的数据在返回之前进行组合。拥有一个较小的“客户端”节点——查询和索引请求所在的节点——有助于解决这个问题。当然,你会想要两个,让它们变得多余。

    Logstash 最好是多线程运行,因此拥有多个可以专用的 CPU 非常好。拥有一个冗余/负载平衡的 logstash 机器也很好。 Kibana 也可以在这些机器上运行。

    所以,我们很快就会有 7 台机器。不是你想听到的,对吧?

    如果您严格限制在 3 台机器上,您可能希望在上述所有三台机器上运行 elasticsearch。其余的你需要硬塞。

    两个上的 Logstash,一个上的 kibana?那么 kibana 就会出现单点故障。

    三个都用logstash,三个都用kibana怎么样?负载将分散分布,因此希望每个服务器都有一个小的增量。而且,如果机器足够强大,应该没问题。

    我在一个集群中有运行 logstash 的机器,

    一般建议是将 1/2 的系统 RAM(最多约 31GB)分配给 elasticsearch,将其余部分留给操作系统。如果您要在同一台机器上运行 logstash 和 kibana,您可能希望降低(可能是 40%?),给 logstash 一些(15%?),其余的留给操作系统。

    显然,机器的大小在这里很重要。

    【讨论】:

    • 谢谢,阿兰!这正是我正在寻找的反馈!我只能启动三台机器(每台 16 GB RAM),但幸运的是每天索引的数据量在开始时也不应该太大。似乎在这三台机器上都安装 elasticsearch、logstash 和 kibana 是可行的,所以在设置三台机器之后,我需要添加一个负载均衡器来分发请求吗?此外,logstash 实例是独立的,每个实例都运行自己的管道,还是在一个实例失败时进行通信以分配任务?
    • 是的,您需要一个负载均衡器来分配负载并处理故障。 logstash 管道是不同的(因此请注意指标{} 或 elapsed{} 等过滤器)。
    • 由于 logstash 实例是独立的,如果我们定期运行操作来检索和索引数据,这不是问题吗?例如,如果我们想使用 jdbc 输入插件定期查询数据库中的数据并将其索引到 elasticsearch,我们不希望在所有实例上运行它,因为我们会多次索引相同的数据。另一方面,如果我们只在一个实例上运行该操作,如果该实例失败,另一个实例将无法承担该作业。
    • 如您所描述的,当您提取数据时会遇到复杂情况。
    • 我明白了,这本身可能值得另一个问题。感谢所有的帮助!这是非常有益的。
    猜你喜欢
    • 2018-09-13
    • 2020-06-03
    • 2017-06-28
    • 2022-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多