Logstash 配置文件中文说明

公司项目采用Docker技术进行了分布式部署,每个服务有多个实例进行负载均衡,出现问题查日志变得异常痛苦,这时发现了比较常用的一种解决方案——ELK(ElasticSearch + Logstash + Kibana)。

这里是Logstash配置文件中的配置项说明,翻译自官方文档——logstash-settings-file章节,如有不当之处,希望大家可以帮忙指出。

setting 说明 默认值
node.name 节点名称。 机器的hostname
path.data logstash和他的插件数据持久化目录。 LOGSTASH_HOME/data
pipeline.workers workers的数量,即同时并行处理过滤和输出的管道数量。如果是备份或者CPU空闲较大,可以考虑增加这个值来更有效的利用资源。 CPU核心数量
pipeline.output.workers 每个输出插件实例使用的workers数量。 1
pipeline.batch.size 在过滤和输出之前,每个线程从输入收集的最大数量。通常较大的批处理数量会有更高的性能,但也增加了内存消耗。你可能需要增加JVM堆内存,使用变量LS_HEAP_SIZE来更有效但使用这个选项。 125
pipeline.batch.delay 批处理调度延时,单位毫秒。 5
pipeline.unsafe_shutdown 不安全关闭。当这个选项设置为true时,关闭Logstash时即会退出,不论内存中是否有未完成的事件。而默认情况下,Logstash会将所有接收到的事件全部推送到输出后才会退出。启用后将可能导致数据丢失。 false
path.config 管道配置文件路径。如果指定的是一个目录或者是通配符,将从目录读取所有配置并按字母顺序排序。 不同平台路径不同。具体参见Logstash目录结构
config.string 管道配置字符串,格式和配置文件一样。 None
config.test_and_exit 检查配置,检查完成后退出。欣赏模式不会根据此设置检查有效性。 false
config.reload.automatic 自动重新加载配置。也可以通过SIGHUP信号激活。 false
config.reload.interval 检查配置文件变化频率,单位秒。 3
config.debug 设置为true时,将以debug形式打印所有加载配置信息(必须同时设置log.level: debug)。
注意:配置中的密码有可能以明文的形式出现在日志文件中。
false
queue.type 内部缓冲队列模型,memory为基于内存的队列模型,persisted为基于磁盘的队列模型,persisted相关参见 memory
path.queue 队列数据文件存放目录。当设置queue.type: persisted时,才需指定。 path.data/queue
queue.page_capacity 页面数据容量。当设置queue.type: persisted时,才需指定。 250mb
queue.max_events 最大未读事件。当设置queue.type: persisted时,才需指定。 0 (不限制)
queue.max_bytes 队列总容量,确保小于磁盘可用容量。当设置queue.type: persisted时,才需指定。如果queue.max_eventsqueue.max_bytes同时设置,Logstash将以先达到的为准。 1024mb (1g)
queue.checkpoint.acks 强制检查点前最大ACK数量。当设置queue.type: persisted时,才需指定。设置为0为不限制。 1024
queue.checkpoint.writes 强制检查点前最大写事件数量。当设置queue.type: persisted时,才需指定。设置为0为不限制。 1024
queue.checkpoint.interval 强制检查页面文件头的间隔。当设置queue.type: persisted时,才需指定。设置为0将不进行周期性检查。 1000
queue.drain 设置为true时,Logstash将等待队列消费完后才会退出。 false
dead_letter_queue.enable 是否启用DLQ插件 false
dead_letter_queue.max_bytes 每个DLQ的最大大小。超过这个大小的条目将被忽略。 1024mb
path.dead_letter_queue 存储DLQ的目录路径。 path.data/dead_letter_queue
http.host REST接口绑定地址。 127.0.0.1
http.port REST接口绑定端口。 9600
log.level 日志级别。fatal error warn info debug trace info
log.format 日志格式化方式。使用json将日志格式化为JSON形式,使用plain将日志格式化为Object#.inspect plain
path.logs 日志打印位置。 LOGSTASH_HOME/logs
path.plugins 自定义插件路径。可以指定多次指定多个目录。插件目录结构:PATH/logstash/TYPE/NAME.rb其中TYPEinputsfiltersoutputscodecsNAME为插件名称。 不同平台路径不同。具体参见Logstash目录结构