logstash系列-Config File结构和Value Type

我们的项目是将logstash的整个 .conf文件通过页面表单交互方式配置生成出来,这里放一个设计图纸

 总体来讲:

一个conf文件包含三个Block(input,filter,output),每个Block由若干个具体的Plugin组成,每个Plugin包含若干个Setting

每个Setting由settingName和ValueType对应的具体值组成

具体的三大插件,这篇不做详述,参考官网,这里主要讲Value Type

上图中,每个setting需要一个具体的确定的value type,支持的value type如下

Array

[ {id => 1, name => bob}, {id => 2, name => jane} ]

看起来像java的list,又像jsonArray,不过这里是用"=>",而不是"=",这个列子中list内部是一个hash,元素间用逗号隔开,开闭是方括号[ ]

Hash

match => {
  "field1" => "value1"
  "field2" => "value2"
  ...
}
# or as a single line. No commas between entries:
match => { "field1" => "value1" "field2" => "value2" }

这个例子是match这个setting的值,看起来又像java的HashMap,hash是键值对的集合,注意:键值对之间使用空格隔开,而非逗号,可以写在同一行

Number

port => 33

这个很好理解,logstash要求number是integer或float,非常明确

String

由单引号或双引号包围的字符序列

Boolean

值为true或false,注意是小写,不带引号,和java基本一致

Codec

codec => "json"

用于对数据进行encode和decode,仅在input和output插件中使用

Password,URI,Path

用的很少,其实就是一些特殊的string

Bytes

使用较少

Comments

注释,用# 号表示注释

Escape Sequences

转义字符,很好理解


:carriage return (ASCII 13)


:new line (ASCII 10)

	:tab (ASCII 9)

\:backslash (ASCII 92)

":double quote (ASCII 34)

':single quote (ASCII 39)

 

原文地址:https://www.cnblogs.com/yb38156/p/13085113.html