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。
写段配置
yamlqueue.type: persisted queue.max_bytes: 1gb pipeline.workers: 4 pipeline.batch.size: 500