Logstash 参考指南(logstash.yml)
logstash.yml
你可以在Logstash设置文件logstash.yml
中设置选项来控制Logstash执行,例如,你可以指定管道设置、配置文件的位置、日志记录选项和其他设置。当你运行Logstash时,logstash.yml
文件中的大多数设置都可以作为命令行标志使用,在命令行中设置的任何标志都会覆盖logstash.yml
文件中的相应设置。
logstash.yml
文件是用YAML编写的,它的位置因平台而异(参见Logstash目录布局),你可以以层次结构形式指定设置或使用平面键,例如,要使用分层表单设置管道批处理大小和批延迟,你需要指定:
pipeline: batch: size: 125 delay: 50
要表示与平面键相同的值,需要指定:
pipeline.batch.size: 125 pipeline.batch.delay: 50
logstash.yml
文件还支持bash风格的环境变量插值设置值。
pipeline: batch: size: ${BATCH_SIZE} delay: ${BATCH_DELAY:50} node: name: "node_${LS_NODE_NAME}" path: queue: "/tmp/${QUEUE_DIR:queue}"
注意,${VAR_NAME:default_value}
表示法是受支持的,在上面的示例中,它设置了一个默认的批延迟50
和一个默认的path.queue
为/tmp/queue
的。
模块也可以在logstash.yml
文件中指定,模块定义将具有这种格式:
modules: - name: MODULE_NAME1 var.PLUGIN_TYPE1.PLUGIN_NAME1.KEY1: VALUE var.PLUGIN_TYPE1.PLUGIN_NAME1.KEY2: VALUE var.PLUGIN_TYPE2.PLUGIN_NAME2.KEY1: VALUE var.PLUGIN_TYPE3.PLUGIN_NAME3.KEY1: VALUE - name: MODULE_NAME2 var.PLUGIN_TYPE1.PLUGIN_NAME1.KEY1: VALUE var.PLUGIN_TYPE1.PLUGIN_NAME1.KEY2: VALUE如果使用命令行标志
--modules
,则忽略在logstash.yml
文件中定义的任何模块。logstash.yml
文件包括以下设置,如果你使用的是X-Pack,请参阅Logstash中的X-Pack设置。
设置 | 描述 | 默认值 |
---|---|---|
node.name | 节点的描述性名称 | 机器的主机名 |
path.data | Logstash及其插件用于任何持久需求的目录 | LOGSTASH_HOME/data |
pipeline.id | 管道的ID | main |
pipeline.workers | 将并行执行管道的过滤和输出阶段的工人数量,如果你发现事件正在备份,或者CPU没有饱和,请考虑增加这个数字,以更好地利用机器处理能力 | 主机CPU核心的数量 |
pipeline.batch.size | 在尝试执行过滤器和输出之前,单个工作线程将从输入中收集的最大事件数,更大的批处理大小通常更高效,但代价是增加内存开销,你可能需要增加jvm.options 配置文件中的JVM堆空间,有关更多信息,请参阅Logstash配置文件 | 125 |
pipeline.batch.delay | 当创建管道事件批处理时,在向管道工作人员发送一个较小的批处理之前,等待每个事件的时间为多少毫秒 | 50 |
pipeline.unsafe_shutdown | 当设置为true 时,即使内存中仍然存在游离事件,也会在关闭期间强制Logstash退出,默认情况下,Logstash将拒绝退出,直到所有接收到的事件都被推送到输出,启用此选项可能导致关闭期间的数据丢失 | false |
path.config | 主管道的Logstash配置路径,如果指定目录或通配符,配置文件将按字母顺序从目录中读取 | 特定于平台的,请参阅Logstash目录布局 |
config.string | 包含要用于主管道的管道配置的字符串,使用与配置文件相同的语法 | None |
config.test_and_exit | 当设置为true 时,检查配置是否有效,然后退出,注意,在此设置中没有检查grok模式的正确性,Logstash可以从一个目录中读取多个配置文件,如果你把这个设置和log.level: debug 结合起来,Logstash将对合并后的配置文件进行日志记录,并用它来自的源文件注解每个配置块 | false |
config.reload.automatic | 当设置为true 时,定期检查配置是否已更改,并在更改配置时重新加载配置,这也可以通过SIGHUP信号手动触发 | false |
config.reload.interval | Logstash多久检查一次配置文件以查看更改 | 3s |
config.debug | 当设置为true 时,将完整编译的配置显示为debug日志消息,你还必须设置log.level: debug ,警告:日志消息将包含传递给插件配置的任意密码选项,可能会导致明文密码出现在日志中! | false |
config.support_escapes | 当设置为true 时,引号中的字符串将处理以下转义序列:\n 变成文字换行符(ASCII 10),\r 变成文字回车(ASCII 13),\t 变成文字制表符(ASCII 9),\\ 变成字面反斜杠\ ,\" 变成一个文字双引号,\' 变成文字引号 | false |
modules | 当配置时,modules 必须位于上表中描述的嵌套YAML结构中 | None |
queue.type | 用于事件缓冲的内部队列模型,为基于内存中的遗留队列指定memory ,或者persisted 基于磁盘的ACKed队列(持久队列) | memory |
path.queue | 启用持久队列时存储数据文件的目录路径(queue.type: persisted ) | path.data/queue |
queue.page_capacity | 启用持久队列时使用的页面数据文件的大小(queue.type: persisted ),队列数据由分隔成页面的仅追加的数据文件组成 | 64mb |
queue.max_events | 启用持久队列时队列中未读事件的最大数量(queue.type: persisted ) | 0(无限) |
queue.max_bytes | 队列的总容量(字节数),确保磁盘驱动器的容量大于这里指定的值,如果queue.max_events 和queue.max_bytes 都指定,Logstash使用最先达到的任何标准 | 1024mb(1g) |
queue.checkpoint.acks | 当启用持久队列时,在强制执行检查点之前的最大ACKed事件数(queue.type: persisted ),指定queue.checkpoint.acks: 0 设置此值为无限制 | 1024 |
queue.checkpoint.writes | 启用持久队列时强制执行检查点之前的最大写入事件数(queue.type: persisted ),指定queue.checkpoint.writes: 0 设置此值为无限制 | 1024 |
queue.drain | 启用时,Logstash会一直等到持久队列耗尽后才关闭 | false |
dead_letter_queue.enable | 标记指示Logstash以插件支持的DLQ特性 | false |
dead_letter_queue.max_bytes | 每个dead letter队列的最大大小,如果条目将增加dead letter队列的大小,超过此设置,则删除条目 | 1024mb |
path.dead_letter_queue | 存储dead letter队列数据文件的目录路径 | 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将其日志写到的目录 | LOGSTASH_HOME/logs |
path.plugins | 哪里可以找到自定义插件,你可以多次指定此设置以包含多个路径,插件应该在特定的目录层次结构中:PATH/logstash/TYPE/NAME.rb ,TYPE 是inputs 、filters 、outputs 或codecs ,NAME 是插件的名称 | 特定于平台的,请参阅Logstash目录布局 |
相关推荐
goodstudy 2020-08-19
weikaixxxxxx 2020-08-01
liulin0 2020-07-26
AFei00 2020-07-26
娜娜 2020-07-20
偏头痛杨 2020-07-18
winxcoder 2020-07-18
superviser000 2020-06-28
liulin0 2020-06-25
liulin0 2020-06-16
wangfengqingyang 2020-06-11
cullinans 2020-06-09
winxcoder 2020-06-08
citic 2020-06-06
goodstudy 2020-06-05
superviser000 2020-05-30
yuzhongdelei0 2020-05-15
wzhwangzhuohui 2020-05-12
李玉志 2020-05-11