5月30日 12:39

Logstash 集群如何部署?高可用方案怎么选?

Logstash 本身没有主从式集群,所谓 Logstash 集群通常是多实例横向部署:上游用 Beats 负载均衡、Kafka/Redis 缓冲,或 LB 分发流量;下游写 Elasticsearch。高可用重点不是“选主”,而是让输入可重放、实例可替换、配置一致、队列不丢数据。生产里优先推荐 Filebeat loadbalance + 多 Logstash;流量大或不能丢日志时,在前面加 Kafka,再让多个 Logstash consumer group 消费。

追问

Beats 直连和 Kafka 缓冲怎么选?

Beats 直连简单、延迟低,适合可接受短暂重试的日志链路。Kafka 多一层运维成本,但能削峰、回放、隔离 Logstash 故障。

持久化队列能替代 Kafka 吗?

不能完全替代。persisted queue 只保护单个 Logstash 节点本地未处理事件,节点磁盘坏了仍可能丢。

多节点配置怎么管理?

配置放 Git,用 Ansible、K8s ConfigMap 或镜像发布同步。上线前跑 --config.test_and_exit

写段配置

yaml
queue.type: persisted queue.max_bytes: 1gb pipeline.workers: 4 pipeline.batch.size: 500
标签:Logstash