
# Logstash组件配置项说明
租户采集Logstash采集器是安全云脑经过定制化处理的。其在不同传输场景可进行不同程度的优化配置，此处主要提供日志配置log4j2.properties、jvm.options运行内存优化配置。
#### jvm运行内存配置
图1jvm.options   
![](https://support.huaweicloud.com/usermanual-secmaster/zh-cn_image_0000001983970501.png "点击放大")
表1jvm运行内存配置 
| 配置项                                | 配置类型    | 默认值    | 配置说明                                                                             |
|:---|:---|:---|:---|
| -Djava.awt.headless                | boolean | true   | 服务端配置，在缺少设备（键盘或鼠标等）下可运行，用于数据类服务                                                  |
| -XX:+UseConcMarkSweepGC            | boolean | false  | 是否使用CMS垃圾回收器回收采集器运行时堆内存生成的对象                                                     |
| -Xmn                               | string  | 1024M  | 采集器堆内存中年轻代占用的大小，如果采集压较大力时，可适当调整，年轻代空间越大，内存回收次数越少，采集效率越高。Xmn必须小于等于Xmx             |
| -Xmx                               | string  | 2048M  | 采集器堆空间的最大值，合理设置这个参数可以避免JVM过度消耗系统资源，从而提高应用程序的稳定性和性能。此值设置过低会导致采集器频繁进行内存回收，影响正常采集能力 |
| -Djruby.jit.threshold              | number  | 0      | 表示方法调用的次数，当达到这个次数时，JRuby 的 JIT 编译器会尝试编译该方法的本地代码。设置这个值可以帮助平衡启动时间（编译成本）和执行时性能      |
| -XX:CMSInitiatingOccupancyFraction | number  | 75     | CMS垃圾收集器，当老年代达到75%时，触发CMS垃圾回收                                                    |
| -Xms                               | string  | 20248M | 用于设置Java堆内存的初始大小。在JVM启动时，它将尝试分配指定数量的内存给堆。合理设置这个参数可以避免在应用程序运行过程中频繁地调整堆大小，从而提高性能。  |
   
#### log4j2日志配置
图2log4j2.properties   
![](https://support.huaweicloud.com/usermanual-secmaster/zh-cn_image_0000001951570406.png "点击放大")
表2log4j2日志配置 
| 配置项                                           | 配置类型    | 默认值                  | 配置说明                              |
|:---|:---|:---|:---|
| appender.json_console_slowlog.layout.compact  | boolean | true                 | 是否开启json慢日志输出                     |
| appender.json_console_slowlog.layout.type     | string  | JSONLayout           | 追加json慢日志布局类型，采用默认值即可             |
| appender.json_console_slowlog.type            | string  | Console              | 追加json慢日志类型，默认值Console，表示直接打印在控制台 |
| appender.json_console_slowlog.layout.eventEol | boolean | true                 | 是否开启json慢日志输出自动换行                 |
| appender.json_console_slowlog.name            | string  | json_console_slowlog | json慢日志输出的名称，采用默认值即可              |
   
