首页 > 编程知识 正文

spring多个配置文件,logstash配置文件

时间:2023-05-03 10:36:32 阅读:258891 作者:2201

概要

今天在群里一个关于在 logstash 的配置目录存在多个配置文件的时候如何处理的问题?

我的结论是加载所有配置文件并合并为一个。

 

lcy@lcy:~/ELK/logstash$ sudo /opt/logstash/称心的大象/logstash --help[sudo] password for lcy:Usage:/称心的大象/logstash agent [OPTIONS]Options:-f, --config CONFIG_PATH Load the logstash config from a specific fileor directory. If a directory is given, allfiles in that directory will be concatenatedin lexicographical order and then parsed as asingle config file. You can also specifywildcards (globs) and any matched files willbe loaded in the order described above.

 

下面,做个小实验用以说明。

文件说明 1. conf.d 目录说明

存在2个配置文件 1.conf 和 2.conf

 

// 存在2个配置文件lcy@lcy:/etc/logstash/conf.d$ ls1.conf 2.conf

 

其中 1.conf 配置了 input ,使用 file 插件来导入文件 file_1(input中参数配置为 file_*) 的内容。并且在 fileter 中加一个 filed ,名称叫 add_from_1。输出格式为 rubydebug。

 

// 文件1.conf的内容lcy@lcy:/etc/logstash/conf.d$ cat .confinput { file { path => "/home/lcy/file_*" start_position => "beginning" ignore_older => stat_interval => discover_interval => }}filter { mutate { add_field => { "add_from_1" => "" } }}output { stdout { codec => rubydebug }}

 

其中 2.conf 没有配置 input 。在 fileter 中加一个 filed ,名称叫 add_from_2。输出格式为 JSON。

 

// 文件2.conf的内容lcy@lcy:/etc/logstash/conf.d$ cat .conffilter { mutate { add_field => { "add_from_2" => "" } }}output { stdout { codec => json }}

 

2. 输入源文件

file_1 很简单,就一个单行 JSON 文件。

 

// file_1 的文件内容lcy@lcy:~$ cat file_1{"file_1":{"tag_1":"value_1"}}

 

执行结果 1. 启动 logstash

 

lcy@lcy:/etc/logstash/conf.d$ sudo /opt/logstash/称心的大象/logstash -f /etc/logstash/conf.d/Settings: Default pipeline workers:Logstash startup completed

可以执行:

对配置文件进行调试 

/opt/logstash/称心的大象/logstash agent -f /etc/logstash/conf.d –configtest

或从命令行以交互方式运行它.它会产生很多其他信息.

/opt/logstash/称心的大象/logstash –debug -f /etc/logstash/conf.d

或运行以下只是测试并查看已编译的配置

/opt/logstash/称心的大象/logstash –debug –debug-config -t -f /etc/logstash/conf.d/

 

2. 输出结果

即输出了 rubydebug 格式,又输出了 JSON 格式。

 

lcy@lcy:/etc/logstash/conf.d$ sudo /opt/logstash/称心的大象/logstash -f /etc/logstash/conf.d/Settings: Default pipeline workers:Logstash startup completed{"message" => "{"file_1":{"tag_1":"value_1"}}","@version" => "","@timestamp" => "2016-04-28T06:42:43.050Z","path" => "/home/lcy/file_1","host" => "lcy","add_from_1" => "","add_from_2" => ""}{"message":"{"file_1":{"tag_1":"value_1"}}","@version":"","@timestamp":"2016-04-28T06:42:43.050Z","path":"/home/lcy/file_1","host":"lcy","add_from_1":"","add_from_2":""}^CSIGINT received. Shutting down the pipeline. {:level=>:warn}^CSIGINT received. Terminating immediately.. {:level=>:fatal}^CSIGINT received. Terminating immediately.. {:level=>:fatal}

 

结论

可以看出,实际执行中,把 1.conf 和 2.conf 文件的内容完全合并为了一个配置文件

INPUT :2.conf 没有配置 input 不会报错,因为 1.conf 中有(input 为必须)FILETER :输出内容中即添加了 add_from_1 也添加了 add_from_2 两个 fieldOUTPUT :输出了2种格式,rubydebug 和 JSON

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。