Logstash inputs配置Stdin 标准输入Logstash 最简单的输入模式:stdininput { stdin { }}output{ stdout{ }}File 文件输入input { file { codec =>... #可选项,codec,默认是plain,可通过这个参数设置编码方式 discover_interval =>... #可选项,number,logstash 每隔多久去检查一次被监听的 path 下是否有新文件。默认值是 15 秒。 exclude =>... #可选项,array,不想被监听的文件可以排除出去,这里跟 path 一样支持 glob 展开。 sincedb_path =>... #可选项,string,如果你不想用默认的 $HOME/.sincedb(Windows 平台上在C:\Windows\System32\config\systemprofile\.sincedb),可以通过这个配置定义 sincedb 文件到其他位置。 sincedb_write_interval =>... #可选项, number,logstash 每隔多久写一次 sincedb 文件,默认是 15 秒。 stat_interval =>... #可选项, number, logstash 每隔多久检查一次被监听文件状态(是否有更新),默认是 1 秒。 start_position =>... #可选项, string , logstash 从什么位置开始读取文件数据,默认是结束位置,也就是说 logstash 进程会以类似 tail -F 的形式运行。如果你是要导入原有数据,把这个设定改成 “beginning”,logstash 进程就从头开始读取,有点类似cat,但是读到最后一行不会终止,而是继续变成 tail –F;默认值end path =>... # 必选项, array ,定需处理的文件路径, 可以定义多个路径 tags =>... # 可选项, array,在数据处理过程中,由具体的插件来添加或者删除的标记 type =>... # 可选项, string,自定义将要处理事件类型,可以自己随便定义,比如处理的是linux的系统日志,可以定义为"syslog" }}例子读取elasticsearch.loginput { file { path => ["/opt/elasticsearch1.7.1/logs/elasticsearch.log"] type => “eslog" start_position => "beginning" }}output { stdout{ }}可读取多个日志,可使用 * 通配符input { file { path=>["/var/log/messages","/var/log/syslog","/var/log/*.log"] type => "system" start_position => "beginning" }}output { stdout{ }}可定义多个file input { file { path => ["/opt/elasticsearch1.7.1/logs/elasticsearch.log"] type => “eslog" start_position => "beginning" } file { path=>"/var/log/apache2/access.log" type=>"apache-access" start_position => "beginning" }}TCP/UDP 输入input { tcp { add_field=>... #hash类型,可选项,默认{} codec=>... #可选项,默认plain data_timeout=>... #number, 可选项,默认-1 host=>... #可选项,默认0.0.0.0 mode=>... #可选项,值是["server","client"]其中之一 ,默认是server port=>... #端口号,需和另一端匹配 ssl_cacert=>... #可选项,一个可用的文件系统路径 ssl_cert=>... #可选项,一个可用的文件系统路径 ssl_enable=>... #boolean类型,可选项,默认false ssl_key=>... #一个可用的文件系统路径,可选项 ssl_key_passphrase=>... #密码,可选项,默认nil ssl_verify=>... #boolean类型,可选项,默认false tags=>... #array类型,可选项 type=>... #string类型,可选项 }}input { tcp { port => 9999 mode => "server" ssl_enable=> false }}nc 127.0.0.1 9999 < datas (datas是一个文件)UDP 输入input { udp { add_field=>... #hash类型,可选项,默认{} host=>... #string类型,可选项,默认0.0.0.0 port=>... #number类型,端口号,需和另一端匹配 queue_size=>... #number类型,默认2000 tags=>... #array类型,可选项 type=>... #string类型,可选项 workers=>... #number类型,默认2 }}input { udp { port => 5656 host=> "127.0.0.1" }}output { stdout{}}Rsyslog 输入rsyslog 是一个 syslogd 的多线程增强版。从centos6开始,syslog开始由rsyslog替代。/etc/rsyslog.confservice rsyslog restartinput { syslog { host => “127.0.0.1“ #Syslog 服务的IP type => "syslog" port => “518“ #定义syslog传输的端口 }}output { stdout{ }}