【问题标题】:Setting up an ELK cluster设置 ELK 集群
【发布时间】:2014-08-12 20:22:59
【问题描述】:

我正在尝试在 Windows 服务器上使用 RabbitMQ + ELK 构建日志管道。

RabbitMQ --> Logstash --> ElasticSearch --> Kibana。

理想情况下,我希望有 2 个 RabbitMQ 实例、2 个 Logstash、3 个 ElasticSearch 和 1 个 Kibana。

有没有人设置过这样的东西?我知道我们可以通过在 yml 中设置集群名称来轻松设置 ElasticSearch 集群。 lagstash 写入 ES 集群的机制是什么?

我是否应该在每个实例中设置 RabbitmQ+Logstash 组合,以便如果 MQ 在负载均衡器后面,每个 MQ 将有自己的 logstash 输出实例,然后数据从那里进入集群。

【问题讨论】:

    标签: elasticsearch rabbitmq logstash kibana


    【解决方案1】:

    从技术上讲,您可以使用 elasticsearch 输出插件或 Elasticsearch_http 输出插件直接从 Logstash 写入 ES(如果使用与 Logstash 不兼容的 ES 版本)。也就是说,对于企业场景,您需要容错和处理容量,拥有 RabbitMQ/Redis 是个好主意。

    您的上述配置看起来不错,尽管您的 Rabbit 集群的输入将来自一个或多个 Logstash 托运人(在日志所在的客户端计算机上运行的实例),这将指向 HA RabbitMQ 集群。然后是一个 Logstash 索引器,其输入将被配置为查看 RabbitMQ 队列并将其输出到 Elastic 搜索集群。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      不建议将 Logstash 中的 DATA 直接放到 ES 中。 ES 写入速度很慢,因此在重负载时您可能会丢失数据。

      这个想法是在 Logstash 和 ES 之间添加一个代理。

      Logstash --> 代理 --> Elasticsearch

      Logstash 支持 Redis 和 RabbitMQ 作为代理。

      此代理可以处理大型输入并作为队列机制工作。

      Logstash 将 Redis 作为首选(因为设置和监控简单)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-11
        • 2014-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多