
logstash.yml的介绍
logstash.yml是一个设置文件,用于指定控制logstash执行的配置。在这篇文章中,我们将通过查看次主题,包括什么是logstash.yml、logstash.yml、配置logstash.yml,以及关于同一主题的结论,来对logstash.yml的主题进行一定的说明。
什么是logstash.yml?
logstash.yml是一个配置设置文件,有助于保持对logstash执行的控制。首先,我们可以通过考虑一个小例子来尝试理解logstash.yml配置设置文件的用法和目的。然后,当我们要提到管道的设置、与日志相关的选项、配置文件的位置细节以及其他设置值时,我们可以使用logstash.yml文件。
我们在这个文件中指定的设置通常也支持命令行标志的使用。请注意,如果我们在logstash.yml配置文件内指定任何设置,并通过使用标志系统在命令行上改变相同的设置,文件值会被相应的命令行标志值所覆盖。
logstash.yml的配置文件是以YAML的格式语言编写的,该文件的位置根据用户使用的平台而改变。文件内提到的设置值可以以平面键或分层格式指定。让我们考虑一个例子,看看我们如何以平键格式指定设置------
Pipeline.batch.delay :65
Pipeline.batch.size: 100
logstash.yml也支持bash风格的环境变量的插值。
Pipeline:
Batch:
Delay: 65
Size: 100
与此同时,logstash也支持设置值中的Keystore秘密,其中的规范看起来有点像下面所示 --
Pipeline:
Batch:
Delay: $ {BATCH_DELAY:65}
Size: ${BATCH_SIZE}
Path:
Queue: “/c/users/educba/${QUEUE_DIR:queue}”
Node:
Name: “node_ ${LS_NAME_OF_NODE}”
上面使用的$NAME_OF_VARIABLE的符号:默认设置的值被logstash所支持。
我们甚至可以在logstash.yml的配置设置文件中对模型进行规范,其中所遵循的格式应该如下图所示
模块:
-name: EDUCBA_MODEL1
Var.PLUGIN_TYPE1.SAMPLE_PLUGIN1.SAMPLE_KEY1: SAMPLE_VALUE
Var.PLUGIN_TYPE2.SAMPLE_PLUGIN2.SAMPLE_KEY2: SAMPLE_VALUE
Var.PLUGIN_TYPE3.SAMPLE_PLUGIN3.SAMPLE_KEY3: SAMPLE_VALUE
Var.PLUGIN_TYPE3.SAMPLE_PLUGIN4.SAMPLE_KEY2: SAMPLE_VALUE
Var.PLUGIN_TYPE4.SAMPLE_PLUGIN5.SAMPLE_KEY4: SAMPLE_VALUE
-name: EDUCBA_MODEL2
Var.PLUGIN_TYPE1.SAMPLE_PLUGIN1.SAMPLE_KEY1: SAMPLE_VALUE
Var.PLUGIN_TYPE2.SAMPLE_PLUGIN1.SAMPLE_KEY2: SAMPLE_VALUE
如果使用-modules是模块的命令行标志,那么在logstash.yml文件中会有无知的值,用于定义模块。
logstash.yml
在logstash.yml文件中存在各种设置,我们可以设置。其中一些设置在下表中提到----
| 设置名称 | 默认设置的值 | 描述 |
| Path.data | LOGSTASH_HOME/data | 这个目录是由插件和logstash本身使用的,用于所有的持久性需求。 |
| Node.name | 机器的主机名 | 它用于为节点分配描述性的名称。 |
| Pipeline.java_execution | 设置为true | 用于指定是否使用java执行引擎。 |
| Pipeline.id | 主 | 是指ID,是设置给管道的标识符。 |
| Pipeline.batch.size | 125 | 它指定了在执行输出和过滤之前,单个工作线程将收集的最大事件量。批量的大小越大,效率就越高,但请注意,它也伴随着内存需求的开销。 |
| Pipeline.workers | 它被设置为主机存在的CPU核心的值cores count。 | 这是并行工作并通过过滤器和输出阶段执行的工作者的数量。 |
| Pipeline.batch.delay | 默认值是50 | 在将批处理分派给工作者之前,管道甚至为每个事件创建批处理时要等待的毫秒数量。 |
| Pipeline.plugins_classloaders | 假的 | 是否将java的插件加载到独立运行的类加载器中,以实现依赖关系的隔离。 |
| Pipeline.unsafe_shutdown | 假的。如果有任何事件是inflight,拒绝退出。 | 是否在关机时强制关闭并退出,即使一些inflight事件存在于系统的内存中。 |
| Path.config | 默认值是根据所使用的平台来设置的。更多细节请参考这个链接。 | 对于主管道,为logstash的配置导航的路径是在此设置中设置的。 |
| Config.debug | 虚假 | 是否为完全编译的配置显示调试通知。 |
| 模块 | 无(None)值 | 在logstash.yml文件中配置时,模块是以YAML的结构格式来使用和描述的,以嵌套的方式。 |
许多其他设置仍然可以在logstash.yml文件中进行配置和指定。对于一个完整的列表,请参考此链接。
配置logstash.yml
有两个文件用于配置logstash,其中包括设置文件和管道配置文件,用于指定执行和启动相关选项,分别控制logstash的执行和帮助定义logstash的处理管道。
Logstash.yml是logstash安装中定义的设置文件之一,可以简单地通过指定文件中需要的各种设置值或使用命令行标志来进行配置。
为了配置logstash,需要创建一个配置文件,该文件将包含所有需要的插件的细节,以及关于每个指定插件的设置细节。我们可以通过指定里面的输入和输出来简化该配置文件。我们可以从elasticsearch和主机值规范中定义自定义的标准输入输出。此外,你可以通过执行以下命令来运行它
bin/logstash -f logstash-simple.conf
其中-f是指配置文件,其结果是以下的输出 -

结论
Logstash.yml是用来指定logstash配置的设置标志,它定义了logstash的执行。我们可以在这个文件中指定和设置许多之前讨论过的设置。