logstash之input
input区块提供logstash的事件来源,常用的插件有file,stdin,syslog,kafka等更多input插件知识请查看官方文档stdin插件:从标准输入读取事件示例:input { stdin { add_field => {"key" => "value"} codec => "plain" type => "std" tags => ["test"] }}
add_field:事件中添加一个字段codec:codec是一个编解码器,在输入前对数据进行编解码,无需在filter中使用特定的插件处理type:加上一个类型字段,用来标记事件类型tags:标记事件的某方面属性。这是一个数组,一个事件可以有多个标签。
file插件:Logstash 使用一个名叫FileWatch的Ruby Gem库来监听文件变化。这个库支持 glob 展开文件路径,而且会记录一个叫 .sincedb 的数据库文件来跟踪被监听的日志文件的当前读取位置。所以,不要担心 logstash 会漏过你的数据。sincedb文件中记录了每个被监听的文件的 inode number, major device number, minor device number和byte offset。示例:input { file { path => "/var/log/test.log" type => "test" sincedb_path => "/tmp/.sincedb_test" start_positon => "beginning" }}path:文件路径,可使用通配符,如/var/log/*.log,/var/**/*.log(**表示递归所有子目录)type:加上一个类型字段,用来标记事件类型sincedb_path:定义sincedb文件的位置(默认在用户家目录下,只能是beginning,end)start_position:从什么位置开始读取文件数据,默认是结束位置
kafka插件:该插件从kafka中的topic中读取事件示例:input { kafka { zk_connect => "10.10.10.6:2181,10.10.10.8:2181,10.10.10.9:2181" topic_id => "command_audit_log" codec => "json" consumer_threads => 5 type => "command-audit" }}
zk_connect:zookeeper的主机名和端口topic_id: 指定消费主题consumer_threads:定义分区读取数据的线程数
页:
[1]