logstash-input-redis插件使用详解

input {
  #redis {
    #host=> "10.246.187.12"#redis地址
    #host=> "10.246.152.116"#redis地址
    #port => "6379" #redis端口号
    #password => "123qwe" #如果有安全认证,此项为密码
    #key => "logstash:redis"
    #type => "redis-input"
    #data_type => "list"
    #threads =>8 #启用线程数量
    #batch_count => 10 #EVAL命令返回的事件数目
    #db => 0 #redis数据库的编号
  #}
  file {
       ignore_older => 87400
		path => ["/app/audit/idpws-login-audit.log"]
		#path => ["/tmp/test.log"]
		start_position => beginning
        sincedb_path => "/app/logstash-7.12.1/sincedb-access"
	}

}

工作流程:

 

  • logstash启动redis插件
  • redis插件获取参数,进行校验工作
  • 判断监听模式(list,channel,pattern_channel等),根据不同的监听模式创建监听任务
  • 创建redis实例,绑定EVAL脚本;通过指定的redis模式,发送请求,监听数据
  • redis返回指定内容的数(可能是列表list,也可能是某个特定的频道中的数据)
  • 得到的数据,进行处理,返回给logstash
  • 如果发送了停止信号,则根据不同的模式,发送不同的命令退出redis。

db

Redis里面有数据库的概念,一般是16个,默认登录后是0,可以通过命令选择。如果应用系统选择使用了不同的数据库,那么可以通过配置这个参数从指定的数据库中读取信息。

key

Redis中的数据都是通过键值来索引的,不管是字符串还是列表,所以这个key相当于数据库中的表。
如果是list或者channel模式,key都是指定的键值;而如果是pattern_channel,那么key可以通过glob通配的方式来指定。

password

有的Redis为了安全,是需要进行验证的。只有设置了password,才能正确的读取信息。相反,如果redis没有设置密码,而logstash中配置了密码,也会报错!

batch_count

这个属性设置了服务器端返回的事件数目,比如设置了5条,那么每次请求最多会直接获取5条日志返回。

data_type logstash工作的类型

logstash中的redis插件,指定了三种方式来读取redis队列中的信息。

  • list=>BLPOP
  • channel=>SUBSCRIBE
  • pattern_channel=>PSUBSCRIBE

其中list,相当于队列;channel相当于发布订阅的某个特定的频道;pattern_channel相当于发布订阅某组频道。channel与pattern_channel区别就在于一个是监听特定的键值,一个是监听某一组键值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凤舞飘伶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值