基于elastic stack搭建的ELK系统资源占用预估

1、ES

1.1 内存:ES非常消耗内存,不是JVM用到的内存,而是机器的物理内存,ES在运行期间对JVM Heap(堆内存)的需求较小

实践建议:

  • 数据量过百万,建议单台服务器的内存至少要有16GB;
  • 数据量过亿,建议单台服务器的内存至少要有64GB

1.2 CPU:ES集群对CPU的要求比较低

实践建议:

  • 小型集群(开发/测试):2-4个vCPU。
  • 中型集群(中等负载的生产环境):8-16个vCPU。
  • 大型集群(高负载的生产环境):16个以上的vCPU

1.3 JVM配置:ES服务中,JVM Heap 堆内存一般不超过服务器物理内存的一半,建议1/4。

2、Logstash

CPU: 2-4个vCPU,具体取决于日志处理和过滤的复杂度。

内存: 至少4GB RAM,推荐8GB RAM或更多,具体取决于处理的数据量。

存储: 通常不需要大量存储,因为Logstash处理完数据后会将其转发到Elasticsearch。

3、Kibana

CPU: 2-4个vCPU。

内存: 至少4GB RAM,推荐8GB RAM或更多,具体取决于用户查询和仪表盘的复杂度。

存储: 通常不需要大量存储,除非在Kibana中保存了大量的持久化仪表板和可视化。

4、建议中型生产环境的Elastic Stack集群:

Elasticsearch:

3个主节点,每个节点:4 vCPU, 8GB RAM。

3个数据节点,每个节点:8 vCPU, 32GB RAM, 2TB SSD。

Logstash:

2个实例,每个实例:4 vCPU, 8GB RAM。

Kibana:

2个实例,每个实例:4 vCPU, 8GB RAM。

Beats:

部署在每个需要收集数据的主机上,资源需求较低,例如:1 vCPU, 1GB RAM。

相关推荐
未若君雅裁16 天前
日志采集与ELK:从本地日志到集中检索分析
运维·elk·jenkins
_codemonster16 天前
Prometheus + Grafana + Alertmanager和ELK 栈(Elasticsearch + Logstash + Kibana)
elk·grafana·prometheus
Sean‘17 天前
在隔离内网机器上使用 Filebeat 全量采集日志并推送到 ELK 的实战
运维·服务器·elk
Michaelwubo20 天前
ELK案例
elk
YDS82921 天前
DeepSeek RAG&MCP + Agent智能体项目 —— 集成ELK日志管理系统和Prometheus监控系统
java·elk·ai·springboot·agent·prometheus·deepseek
爱吃龙利鱼23 天前
docker-compose一键部署ELK+Filbeat
elk·docker
小旭952725 天前
Spring Cloud 集成分布式日志 ELK+Swagger 接口文档实战
java·分布式·后端·elk·spring cloud
绝知此事1 个月前
ELK 从入门到精通:Spring Boot 实战三部曲(三)—— 高级应用与架构设计
spring boot·后端·elk
绝知此事1 个月前
ELK 从入门到精通:Spring Boot 实战三部曲(二)—— 进阶特性与性能优化
spring boot·elk·性能优化
绝知此事1 个月前
ELK 从入门到精通:Spring Boot 实战三部曲(一)—— 基础核心与快速上手
spring boot·后端·elk