ELK海量日志分析项目核心问题汇总

1、ElasticSearch 分布式集群,在企业真实环境中防火墙需要关闭吗? 在实际工作中,ElasticSearch集群只开放对应的端口,不会直接关闭防火墙。

2、将公司的核心流量数据导入ELK平台的过程中,使用Logstash采集数据,那么Logstash能承受多大的数据压力呢? 一个logstash节点,每秒钟能收集个一两万条日志数据(普通的页面浏览日志),如果单条日志比较大,或者在logstash中filter逻辑复杂,处理能力会再小一点。另外需要补充说明:一条普通日志大概6~8K的大小,转换成流量的话大致是105000KB/S。

3、在ELK的项目中,公司的日志如何动态产生?动态日志又改如何采集? 如果日志只输出到一个文件,比如access.log,那么Logstash直需要监控这个日志文件即可。 如果日志名称按照时间或者大小滚动,那么在Logstash配置文件名的时候使用通配符即可。

4、比如我每天的日志有1g或者10g或者100g,ELK系统架构中,应该需要多少台es,需要多少redis 需要多少logstash等。

可以根据数据量的大小以及每个组件数据处理能力合理规划。 filebeat:每秒钟收集能力大致在3W条左右 redis:每秒钟读取或者写入数据能力在10W条左右 logstash:每秒钟处理能力在1~2w左右 ELasticSearch:处理能力可以很容易水平扩展,单台服务器测试的指标大致在1.5W左右 配置:2核CPU、 16G内存 上述指标是指普通的access访问日志,每条日志大小大致在6~8KB如果单条日志过大或者过小,则指标会有上下浮动。

5、现在我的es集群每次full gc之后, 年老代占用的内存都会上升, 然后full gc会越来越频繁. 基本5天之后集群就得重启了,有没办法不重启强制清理年老代内存。

可以通过参数进行配置,以下是我目前公司的参数配置: index.cache.field.max_size: 100000 index.cache.field.expire: 60m index.cache.field.type: soft 如果发现这个效果不明显,可以尝试修改一下JVM内存中年轻代和老年代的占比,把年轻代的内存调大一点,这样可以减少年轻代GC的次数,就不会有很多数据进入到老年代中。

results matching ""

    No results matching ""