logstash可以接收不同类型的元数据(input)

1.文件类型(file)

file插件字段解释:
codec =>                  #可选项,默认是plain,可设置其他编码方式。
discover_interval =>      #可选项,logstash多久检查一下path下有新文件,默认15s。
exclude =>                #可选项,排除path下不想监听的文件。
sincedb_path =>           #可选项,记录文件以及文件读取信息位置的数据文件。~/.sincedb_xxxx
sincedb_write_interval => #可选项,logstash多久写一次sincedb文件,默认15s.
stat_interval =>          #可选项,logstash多久检查一次被监听文件的变化,默认1s。
start_position =>         #可选项,logstash从哪个位置读取文件数据,默认从尾部,值为:end。初次导入,设置为:beginning。
path =>                   #必选项,配置文件路径,可定义多个。
tags =>                   #可选项,在数据处理过程中,由具体的插件来添加或者删除的标记。
type =>                   #可选项,自定义处理时间类型。比如nginxlog。

举例 

input{
    file{
        #path属性接受的参数是一个数组,其含义是标明需要读取的文件位置
        path => [‘path1’,‘path2’]
        #表示多就去path路径下查看是够有新的文件产生。默认是15秒检查一次。
        discover_interval => 15
        #排除那些文件,也就是不去读取那些文件
        exclude => [‘fileName1’,‘fileNmae2’]
        #被监听的文件多久没更新后断开连接不在监听,默认是一个小时。
        close_older => 3600
        #在每次检查文件列 表的时候, 如果一个文件的最后 修改时间 超过这个值, 就忽略这个文件。 默认一天。
        ignore_older => 86400
        #logstash 每隔多 久检查一次被监听文件状态( 是否有更新) , 默认是 1 秒。
        stat_interval => 1
        #sincedb记录数据上一次的读取位置的一个index
        sincedb_path => ’$HOME/. sincedb‘
        #logstash 从什么 位置开始读取文件数据, 默认是结束位置 也可以设置为:beginning 从头开始
        start_position => ‘beginning’
        #注意:这里需要提醒大家的是,如果你需要每次都从同开始读取文件的话,关设置start_position => beginning是没有用的,你可以选择sincedb_path 定义为 /dev/null
    }           
}

2.数据库类型

input{
    jdbc{
    #jdbc sql server 驱动,各个数据库都有对应的驱动,需自己下载
    jdbc_driver_library => ""
    #jdbc class 不同数据库有不同的 class 配置
    jdbc_driver_class => ""
    #配置数据库连接 ip 和端口,以及数据库   
    jdbc_connection_string => ""
    #配置数据库用户名
    jdbc_user =>   
    #配置数据库密码
    jdbc_password =>
    #上面这些都不重要,要是这些都看不懂的话,你的老板估计要考虑换人了。重要的是接下来的内容。
    # 定时器 多久执行一次SQL,默认是一分钟
    # schedule => 分 时 天 月 年  
    schedule => "* * * * *"
    #是否清除 last_run_metadata_path 的记录,如果为真那么每次都相当于从头开始查询所有的数据库记录
    clean_run => false
    #是否需要记录某个column 的值,如果 record_last_run 为真,可以自定义我们需要表的字段名称,
    #此时该参数就要为 true. 否则默认 track 的是 timestamp 的值.
    use_column_value => true
    #如果 use_column_value 为真,需配置此参数. 这个参数就是数据库给出的一个字段名称。当然该字段必须是递增的,可以是 数据库的数据时间这类的
    tracking_column => create_time
    #是否记录上次执行结果, 如果为真,将会把上次执行到的 tracking_column 字段的值记录下来,保存到 last_run_metadata_path 指定的文件中
    record_last_run => true
    #们只需要在 SQL 语句中 WHERE MY_ID > :last_sql_value 即可. 其中 :last_sql_value 取得就是该文件中的值
    last_run_metadata_path => "/etc/logstash/run_metadata.d/my_info"
    #是否将字段名称转小写。
    #这里有个小的提示,如果你这前就处理过一次数据,并且在Kibana中有对应的搜索需求的话,还是改为true,
    #因为默认是true,并且Kibana是大小写区分的。准确的说应该是ES大小写区分
    lowercase_column_names => false
    #你的SQL的位置,当然,你的SQL也可以直接写在这里。
    #statement => SELECT * FROM tabeName t WHERE  t.creat_time > :last_sql_value
    statement_filepath => "/etc/sql/test.sql"
    }
    #注意:外载的SQL文件就是一个文本文件就可以,还有需要注意的是,一个jdbc{}插件就只能处理一个SQL语句,
    #如果你有多个SQL需要处理的话,只能在重新建立一个jdbc{}插件。
}

3.redis类型

Redis输入插件配置选项

batch_count	#可选  使用EVAL从redis返回的事件数量
data_type	#必选  值类型可以是:list,channel,pattern_channel其中之一
db	     	#可选  指定redis的数据号,redis默认有16个数据库,编号为0-15,指定从哪个数据库中读取数据
host		#可选  指定redis的IP地址或者主机名 默认值为"127.0.0.1" 
key		    #必选  指定reids列表或通道名称  值类型为string字符串
password	#可选  如果reids设置了密码认证,则需要启用password选项来指定redis连接密码,redis默认不存在身份验证
port	    #可选  指定redis的端口  默认值为6379
threads	    #可选  指定redis输入插件的线程数量,因为reids是单线程的中间件,所以默认为1即可
timeout	    #可选  logstash初始和redis连接超时时间(以秒为单位) 默认为5秒

举例

input {
  redis {
     batch_count => "300"     #从redis返回的事件数量
     data_type => "list"      #指定列表或通道
     db => "3"                #指定redis的数据号
     key => "db_key"          #指定reids列表或通道名称
     host => "127.0.0.1"      #指定redis的IP地址或者主机名
     port => "6003"           #指定redis的端口
     timeout => "30"          #logstash初始和redis连接超时时间
 }
}

4.TCP类型

tcp插件字段解释:
add_field =>              #可选项,默认{}。
codec =>                  #可选项,默认plain。
data_timeout =>           #可选项,默认-1。
host =>                   #可选项,默认0.0.0.0。
mode =>                   #可选项,值为["server","client"]之一,默认为server。
port =>                   #必选,端口。
ssl_cacert =>             #可选项,定义相关路径。
ssl_cert =>               #可选项,定义相关路径。
ssl_enable =>             #可选项,默认为false。
ssl_key =>                #可选项,定义相关路径。
ssl_key_passphrase =>     #可选项,默认nil
ssl_verify =>             #可选项,默认false。
tags =>                   #可选项
type =>                   #可选项

举例

input{
    tcp{
        host => "127.0.0.1"
        port => 8888
        type => "tcplog"
    }
}

5.UDP类型

udp插件字段解释:
add_field =>         #可选项,默认{}。
host =>              #可选项,默认0.0.0.0。
queue_size =>        #默认2000
tags =>              #可选项
type =>              #可选项
workers =>           #默认为2

举例

input{
    udp{
        host => "127.0.0.1"
        port => 9999
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值