filebeat 配置简单优化

filebeat 配置优化
  1. 实验环境

    本架构采用 filebeat + ELK搭建,将suricata节点收集到的日志数据通过filebeat 发送到logstash,由logstash 发送到 elasticsearch 进行索引。

    • filebeat: 单核,主存3GB。
    • ELK: 双核,主存8GB
  2. 问题描述

    通过kibana的监视工具xpack可以看到,elasticsearch 的索引速度基本在250/s 以下。在filebeat 节点上通过top命令也可以看到,CPU和内存利用率也不高。
    filebeat 配置简单优化_第1张图片
    filebeat 配置简单优化_第2张图片

  3. 配置优化

    首先,根据官方文档,查找到几个可以优化的选项:

    • harvester_buffer_size: 每个harvester获取日志数据时使用的缓冲区大小,单位是byte
    • filebeat.spool_size: filebeat 读取数据后将事件放入内存队列,适当增大size可以避免频繁的更新队列,单位字节
    • filebeat.idle_timeout: 设置队列超时时间,即使队列不满也将清空队列,发送出去。

    按照下图配置各个选项,索引速度有了很大提升。
    filebeat 配置简单优化_第3张图片
    filebeat 配置简单优化_第4张图片
    在filebeat 节点上可以看到内存利用率提高了很多。
    在这里插入图片描述
    另外,通过在logstash 节点访问http://localhost:9600/_node/stats 可以查看logstash 的各个配置参数。为了方便,我们在使用internal collectors 方式在Kibana监控logstash。在logstash.yml 文件中修改配置:

    # 更多配置可参考https://www.elastic.co/guide/en/logstash/current/monitoring-internal-collection.html#logstash-monitoring-collectors
    xpack.monitoring.enabled:true
    xpack.monitoring.elasticsearch.hosts:["http://your_es_ip:9200]
    

    配置成功后,在Kibana 的stack monitoring 上可以看到:
    filebeat 配置简单优化_第5张图片
    当logstash 的堆内存利用率过大时,可能会出现性能瓶颈,可以在jvm.options配置文件修改堆内存大小。

你可能感兴趣的:(信息安全)