区域中定义插件
数据类型 : 布尔boolean,字节Bytes,字符串:String , Number,数组:Array,哈希:Hash
字段引用 :%{}
插件 :
inputs 输入
file : codec=> 默认是plain,可通过这个参数设置编码方式
discover_interval=> number,logstash每隔多久去检查一次监听的path下是否有新文件。默认值是15秒。
stat_interval=> number ,logstash每隔多久检查一次被监听文件状态,默认是1秒
start_position=> logstash从什么时候开始读文件
path=> array,定义需要处理的文件路径,可以定义多个路径
tags=> array, 在数据处理过程中,由具体的插件来定义或删除标记
type=> string 自定义要处理的事件类型,可以随便定义,比如处理的是linux的系统日志,可以定义为syslog
tcp : port=> 9999 定义端口
mode=> "server" 定义模式 (或者client)
udp :
codecs 解码与编码 : 数据格式,
比如 : plain(自定义),json(假如json文件较长,需要换行,使用json_lines)
multline多行事件编码 :
pattern=> string类型,设置匹配的正则表达式。
negate=> boolean类型,设置正向匹配还是反向匹配,默认是false
what=> 设置未匹配的内容是向前合并还是向后合并,previous,next两个值选择
filters 过滤
grok : 查阅资料,匹配正则表达式
match=> hash,可选项,默认{}s :
message : 待处理的消息
path :
type :
自定义解析格式:ip :
request :
add_field=> hash,可选项,默认{} 字段的添加
add_tag=> array,可选项,默认[] 标识的添加
remove_field=> array,可选项,默认[] 字段的删除
remove_tag=> array,可选项,默认[] 标识的删除
有个在线小工具,输入日志,输入正则表达式可以检验正则是否匹配成功
:http://grokdebug.herokuapp.com (需要翻墙)
KV filter : 处理key-value格式的数据
field_split=> "&?" 指定分隔符
outputs 输出
tcp/udp等
elasticsearch :
host => / cluster => " "
protocol => "http"
index => "正则1-正则2-正则3"
document_type => "随便定义"
workers => 5 设定的线程数