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
文件包含以下设置。
设置 | 描述 | 默认值 |
---|---|---|
|
节点的描述性名称。 |
机器的主机名 |
|
Logstash 及其插件用于任何持久性需求的目录。 |
|
|
管道的 ID。 |
|
|
将并行执行管道的过滤器和输出阶段的工作线程数。如果 |
主机 CPU 内核数 |
|
单个工作线程在尝试执行其过滤器和输出之前从输入收集的最大事件数。较大的批处理大小通常效率更高,但会增加内存开销。您可能需要在 |
|
|
创建管道事件批处理时,在将尺寸过小的批处理分派给管道工作线程之前,每个事件等待的毫秒数。 |
|
|
设置为 |
|
|
(测试版)在独立的类加载器中加载 Java 插件以隔离其依赖项。 |
|
|
设置管道事件排序。有效选项为
|
|
|
设置管道的
此选项允许在插件中 提前选择加入(或预先选择退出)ECS 兼容性 模式,计划在未来 Logstash 的主要版本中默认启用。
|
|
|
主管道的 Logstash 配置的路径。如果指定目录或通配符,则按字母顺序从目录中读取配置文件。 |
特定于平台。请参阅 Logstash 目录布局。 |
|
包含要用于主管道的管道配置的字符串。使用与配置文件相同的语法。 |
不适用 |
|
设置为 |
|
|
设置为 |
|
|
Logstash 检查配置文件更改的频率(以秒为单位)。请注意,需要单位限定符( |
|
|
设置为 |
|
|
设置为 |
|
|
提供了一种引用包含 字段引用特殊字符 此功能处于 技术预览版 中,将来可能会发生变化。 当前选项为
|
|
|
配置后, |
不适用 |
|
用于事件缓冲的内部队列模型。为传统的基于内存的队列指定 |
|
|
启用持久队列( |
|
|
启用持久队列( |
64mb |
|
启用持久队列( |
0(无限制) |
|
队列的总容量( |
1024mb (1g) |
|
启用持久队列( |
1024 |
|
启用持久队列( |
1024 |
|
启用后,对于任何失败的检查点写入,Logstash 将在每次尝试的检查点写入中重试四次。任何后续错误都不会重试。这是针对仅在 Windows 平台、具有非标准行为的文件系统(如 SAN)上出现的失败检查点写入的解决方法,除非在这些特定情况下,否则不建议这样做。( |
|
|
启用后,Logstash 会等到持久队列( |
|
|
指示 Logstash 启用插件支持的 DLQ 功能的标志。 |
|
|
每个死信队列的最大大小。如果条目会使死信队列的大小超过此设置,则将删除这些条目。 |
|
|
定义在达到 dead_letter_queue.max_bytes 设置时要执行的操作: |
|
|
存储死信队列数据文件的目录路径。 |
|
|
默认情况下启用 HTTP API。可以禁用它,但依赖它的功能将无法按预期工作。 |
|
|
API 返回提供的字符串作为其响应的一部分。设置您的环境可能有助于区分生产环境和测试环境中名称相似的节点。 |
|
|
HTTP API 端点的绑定地址。默认情况下,Logstash HTTP API 仅绑定到本地环回接口。如果安全配置( |
|
|
HTTP API 端点的绑定端口。 |
|
|
设置为 |
|
|
用于保护 Logstash API 的有效 JKS 或 PKCS12 密钥库的路径。密钥库必须受密码保护,并且必须包含单个证书链和一个私钥。除非将 |
不适用 |
|
使用 |
不适用 |
|
建立安全连接时允许使用的 SSL/TLS 版本列表。协议的可用性取决于 JVM 版本。默认情况下禁用某些协议,需要通过更改 $JDK_HOME/conf/security/java.security 配置文件中的
|
不适用 |
|
设置为 |
|
|
HTTP 基本身份验证所需的用户名。除非将 |
不适用 |
|
HTTP 基本身份验证所需的密码。除非将
|
不适用 |
|
当不满足密码要求时,会引发 |
|
|
日志级别。有效选项包括
|
|
|
日志格式。设置为 |
|
|
当日志格式为 |
|
|
Logstash 将日志写入到的目录。 |
|
|
这是一个布尔值设置,用于在不同日志文件中启用按管道分离日志。如果启用,Logstash 将为每个管道创建一个不同的日志文件,使用 pipeline.id 作为文件名。目标目录取自 `path.logs` 设置。当 Logstash 中配置了许多管道时,如果您需要排查单个管道中发生的情况,而不受其他管道的干扰,则按管道分离每个日志行可能会有所帮助。 |
|
|
在哪里可以找到自定义插件。您可以多次指定此设置以包含多个路径。插件应位于特定的目录层次结构中: |
特定于平台。请参阅 Logstash 目录布局。 |
|
设置为 |
|
|
设置为 |
|
|
确定在何处为利用内存缓冲区的插件分配内存缓冲区。默认为 |
|