通过 Haproxy 负载均衡实现 Logstash 集群高可用

本文介绍了在Windows系统中,由于filebeat不可用,使用nxlog替代进行日志采集,并通过Haproxy实现Logstash集群的高可用负载均衡。详细讲述了haproxy的安装配置以及nxlog的设置,确保Logstash节点宕机时不影响日志传输。
摘要由CSDN通过智能技术生成

一般情况下,由于 Logstash 之间并不存在通信,Logstash 单节点宕掉的话,必定会带来影响的。如果 是 filebeat-kafka-logstash 这种使用场景,可以通过 kafka 的消息消费机制实现 Logstash 的高可用。

多个 logstash 订阅同一个主题,使用同一个 group ,这·样一条消息只可能被一个 logstash 节点消费,当某一个节点挂了,并不影响其他节点对该 topic 消息的消费。

在这里插入图片描述

但是如果针对版本比较旧的 Windows 和 Windows sever2003 等其他windows 系统,filebeat 无法使用,在 filebeat 无法使用的情况下,一般会使用 filebeat 的 windows 日志采集替代品 nxlog。nxlog 目前来说,主要有 community 和 Enterprise 两个版本。两者差别如下图所示。
在这里插入图片描述

针对 Enterprise 版本的话,可以通过 nxlog 的 om_kafka 模块实现 nxlog-kafka-logstash结构,以实现 Logstash 的高可用。但是 Community 是不支持的,当然如果一定要通过 kafka 消费机制实现的话可以通过 nxlog-logstash-kafka-logstash 实现,这不是一个很机智的做法。

对于 Logstash 高可用的问题,还可以通过 Nginx 、haproxy 以及 F5 软硬件的系统层面负载均衡实现。

博主也测试过通过 F5 分发的形式实现,但是没有成功,F5 做分发需要 Logstash 有返回消息,目前没找 Logstash 任何收到消息后的回应信息,所以通过 F5 做负载的,博主没有实现呢。

后面博主使用 Haproxy 软负载,走 TCP 通道,实现了对 nxlog 日志消息分发到 Logstash 集群的功能。

环境准备

haproxy : 192.168.96.129
三台Logstash:

  1. Logstash1:192.168.96.131
  2. Logstash2:192.168.96.132
  3. Logstash3:192.168.96.133

haproxy 安装

下载 haproxy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值