16.1 配置语法

1.处理输入的input


2.处理过滤的filter

3.处理输出的output


区域:

1.logstash 中,是用{}来定义曲剧的

2.区域内,我们可以定义插件

3.一个区域内可以定义多个插件


字段引用:


Logstash 还支持变量内插,在字符串里使用字段引用的方法是这样:


16.2 Logstash 插件

1.inputs 输入插件

2. codecs  解码

3.filtrs 过滤

4.outputs 输出



logstash input 插件

1.stsin 标准输入

2.File文件输入

3.TCP/UDP输入

4.Rsyslog 输入



Stdin 标准输入




input 
file{
codec=> 默认是plain,可以通过这个参数设置编码方式


path=>比选项,array,需要处理的文件路径,绝对路径

start_position=> 默认是结束位置


[elk@db01 aa]$ cat stdin.conf 
input {
 stdin{
 }
}
output {
   stdout{
}
}



[elk@db01 aa]$ cat elasticsearch.conf 
input { 
     file {
       path=>["/elk/elasticsearch/logs/es_cluster.log"]
       type=>"system"
       start_position=>"beginning"
       }
}

output {
  stdout{}
}


例子,可读取多个日志,可使用*通配符:
[elk@db01 aa]$ cat log.conf 
input {
  file {
   path=>["/var/log/messages","/var/log/syslog","/var/log/*.log"]
   type=>"system"
   start_position=>"beginning"
    }
}

output {
  stdout{}
}




tcp 传输:

-rw-rw-r-- 1 elk elk  92 Jan 18 01:55 tcp.conf
[elk@db01 aa]$ cat log.conf 
input {
  file {
   path=>["/var/log/messages","/var/log/syslog","/var/log/*.log"]
   type=>"system"
   start_position=>"beginning"
    }
}

output {
  stdout{}
}
[elk@db01 aa]$ cat tcp.conf 
input {
 tcp {
  port=>9999
  mode=>"server"
  ssl_enable=>false
 }
}
output {
  stdout{}
}




logger 往rsyslog 写日志工具