文档章节

[Logstash-input-redis] 使用详解

 张欢19933
发布于 2017/05/05 14:35
字数 888
阅读 119
收藏 0

Redis插件参数配置详解

工作流程

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

最小化配置

input {

redis {

data_type => "list" #logstash redis插件工作方式

key => "logstash-test-list" #监听的键值

host => "127.0.0.1" #redis地址

port => 6379 #redis端口号

}

}

output {

stdout{}

}

详细配置

input {

redis {

batch_count => 1 #EVAL命令返回的事件数目

data_type => "list" #logstash redis插件工作方式

key => "logstash-test-list" #监听的键值

host => "127.0.0.1" #redis地址

port => 6379 #redis端口号

password => "123qwe" #如果有安全认证,此项为密码

db => 0 #redis数据库的编号

threads => 1 #启用线程数量

}

}

output {

stdout{}

}

参数详解

threads

开启多少个线程读取redis数据,也就是从redis输入到logstash的速度,线程越多读取速度越快,但是根据接收节点的接收速度来设置,如果输入过快,接收速度不够,则会出现丢数据的情况,设置一个最佳的threads值需要和接收节点做反复测试才能得出。单个logstash启动后,如果配置多个threads,那么最后打印出的信息与队列中的信息顺序是不一样的。

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相当于发布订阅某组频道。

扩展 logstash 成多节点集群的时候,频道会出现一个问题:通过频道发布的一条信息,会被所有订阅了该频道的 logstash 进程同时接收到,然后输出重复内容!两个终端同时启动 logstash -f redis-input.conf 进程,结果会是两个终端都输出消息。
这种时候,就需要用 list 类型。在这种类型下,数据输入到 redis 服务器上暂存,logstash 则连上 redis 服务器取走 (BLPOP 命令,所以只要 logstash 不堵塞,redis 服务器上也不会有数据堆积占用空间)数据。

© 著作权归作者所有

粉丝 47
博文 533
码字总数 244932
作品 0
海淀
私信 提问
ELK 日志分析系统详解

大纲: 一、简介(引用http://467754239.blog.51cto.com) 二、Logstash 三、Elasticsearch 四、Kinaba 五、Redis+logback 一、简介 1、核心组成 ELK由Elasticsearch、Logstash和Kibana三部分组...

冰心无影
2017/04/24
0
0
logstash通过kafka传输nginx日志

logstash通过kafka传输nginx日志(三)   单个进程 logstash 可以实现对数据的读取、解析和输出处理。但是在生产环境中,从每台应用服务器运行 logstash 进程并将数据直接发送到 Elastics...

yixinsiyu
2018/08/27
127
0
Logstash+ElasticSearch+Kibana4日志分析系统安装详解

ELK日志分析系统 环境:centos6.5 准备好ELK三个安装包,去官网下载最新版 1、安装jdk 网上有的教程叫下载oracle的jdk,其实没必要,系统自带的openjdk就行了,不过需要先 看下版本,1.7是不...

q6246436
2015/06/02
0
0
[Logstash]使用详解

  Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。   本文针对官方文档进行...

青夜之衫
2017/12/04
0
0
Logstash语法常用案例解析(一)

摘要 简述logstash的常用插件,以及简单的使用案例 一:基础运行 建议使用supervisor来管理ELK中的各个组件,方便同一管理 安装 https://www.aolens.cn/?p=809 有讲解 提供一个常用的配置: ...

aolens
2017/05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
5
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部