[Logstash-input-redis] 使用详解

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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 服务器上也不会有数据堆积占用空间)数据。

转载于:https://my.oschina.net/u/2000675/blog/893313

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

雅可比旋转求解对称二维矩阵的特征值和特征向量

问题描述: 给定一个矩阵,如下: A[a11a21a12a22]A=\begin{bmatrix} a_{11}&a_{12}\\ a_{21}& a_{22} \end{bmatrix} 其中满足a12a21.也就是所谓的 对称矩阵。那么如何求解此矩阵的特征值以及特征向量呢?这里我们要用到 …

游戏场景灯光烘焙

【LV4】北京 天杀神(153478394) 10:21:15可能是我找的截图不好 我就是想问下 一般要烘焙这样的一个场景的步骤是什么 【LV5】北京地编~mr(274380109) 10:21:44首先就看原画的色调 确定一个环境光如果是晴天 就打一个直光 给阴影 直光不要太亮 【LV5】北京地编&a…

python画图数据的平均值怎么算的_Python气象数据处理与绘图(2):常用数据计算方法...

对于气象绘图来讲,第一步是对数据的处理,通过各类公式,或者统计方法将原始数据处理为目标数据。 按照气象统计课程的内容,我给出了一些常用到的统计方法的对应函数: import numpy as np 平均值 在计算气候态&#xff0…

Linux下nginx安装与配置

部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成。nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c,因此安装步骤为:安装gcc与gcc-c库安装pcre库安装zlib库安装nginx详细…

java 读取properties文件

1.不在项目中读取 Properties properties new Properties();BufferedReader read new BufferedReader(new InputStreamReader(new FileInputStream("文件的路径"),"utf-8"));properties.load(read);properties .getProperty("那个文件的key") …

几种字符串加密解密的方法

为什么80%的码农都做不了架构师?>>> 第一种:〔 Python 与 Bash Shell 的结合 〕 这个命令会让你输入一个字符串,然后会再输出一串加密了的数字。 加密代码[照直输入]: python -c print reduce(lambda a,b: a*256ord(b), raw_inpu…

java delegate怎么写_美团面试官:你说你们公司的Mybatis分页插件是你写的,给我说说它的设计原理?...

来源:http://my.oschina.net/zudajun大多数框架,都支持插件,用户可通过编写插件来自行扩展功能,Mybatis也不例外。我们从插件配置、插件编写、插件运行原理、插件注册与执行拦截的时机、初始化插件、分页插件的原理等六个方面展开…

C++标准库与Java基础类对照表

一、集合类对象的集合,指如链表,数组,队列这一类的数据结构。在C标准库中把这些成为Container, 在Java中称为Collection。CSTL常用Container: vector, list, map, set, queue, stack, priority_queueJava基础类:ArrayL…

ASP.NET MVC 在控制器中获取某个视图动态的HTML代码

如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中,然后通过代码传入model,动态获取cshtml中的HTML代码 当然,我们想要使用通用的方法去获取cshtml&…

SharePoint 2013 处理videoplayerpage.aspx下的个人图片显示有误问题

问题:Personal sites photo cant correct display in the videos pageThe url address of personal sites photo is exist surplus characters. The correct situation is just the characters of "%20", not the characters of "%2520".解决方…

Python学习笔记(一)

1.python语言的优点:(1)是一种高级语言,提供大量的库和内置数据结构(2)书写简洁优美 缺点:是解释性语言,执行速度较慢 2.从官方网站下载的python解释器为CPython,是一种用C语言编写的python解释器。在命令行如果启动python3,输入p…

汇编语言基本概念汇总

汇编语言应该是我们如今学的最“低级”的语言了,由于如今不会再有人去学机器语言了。而汇编语言还在一些硬件或者嵌入式设备上使用并开发着。下面资料是为了大学的汇编考试整理的资料,如今与大家分享,希望能给大家提供帮助。 汇编语言程序设计…

MySQL找出锁等待

1.服务器级别的锁等待可以通过show processlist看到等待锁的线程id,但是无法知道究竟哪个线程持有锁可以通过mysqladmin debug相关等待锁的线程以及谁持有锁可以在错误日志中找到2.存储引擎层的锁等待则比较麻烦,以下是innodb存储引擎中锁等待以及哪个线…

C++给函数传数组参数C++给函数传数组参数

C给函数传数组参数 在C中&#xff0c;如果要给一个函数传入一个数组&#xff0c;一般都是传入两个参数一个数组指针和一个数组大小 例&#xff1a; void print_1 (int n, int *datas ) { for (int i 0; i < n; i) { std::cout << datas[i] <<…

clover引导mbr安装黑苹果_安装黑苹果记录(一)

从来没有接触过macOS(苹果系统)&#xff0c;孩子说他用的那台电脑linux不能安装一些软件&#xff0c;问我能不能安装黑苹果&#xff0c;一些软件只有win和mac的客户端&#xff0c;却没有linux版本。他知道我不会给他安装Windows&#xff0c;一个是怕他玩游戏&#xff0c;另外一…

人口变动的经济分析

佳木斯市人口变动的经济分析上 人口生产和物质生产&#xff0c;是有史以来人类社会同时存在和同步发展的两种生产&#xff0c;一切经济变动都与人口变动有直接或间接的关系&#xff0c;而一切人口变动又可以从经济变动中找到原因。为此&#xff0c;本文试根据我国、我省和我市第…

【javascript】操作符:一元操作符

一、一元操作符 <script>// var num1,num2,num3; num11;num22; alert(num1num2);//4 在前 alert(num1num2);//4 num11; alert(num1--num2);//3 num1NaN; alert(num1num2);//NaN num1true; alert(num1num2);//3 true转化成了1 num1fal…

doxygen问题集锦

使用doxygen排版数学公式出错的解决方法 参考&#xff1a;http://blog.csdn.net/huangbo10/article/details/46801949 问题 今天玩了一下doxygen&#xff0c;碰到一个问题 ! Undefined control sequence. l.77 $ y_{\mbox{test}} \mathbb{E}[y_{\mbox{train}}] x $ ? !…

ubuntu中make头文件找不到_和平精英:游戏中找不到人怎么办?这些技巧帮你练出“火眼金睛”...

大家好&#xff0c;欢迎来到《刺激实战教室》&#xff0c;我是你们的老朋友刺激哥。俗话说&#xff0c;电子竞技不需要视力&#xff0c;而这句话也是《和平精英》的一个“痛点”。在《和平精英》这款游戏中&#xff0c;更是如此。在很多时候&#xff0c;敌人就藏在我们的附近&a…

[CDA数据分析师学习之路] 【CDA就业班独家发布】学习之路

http://bbs.pinggu.org/thread-4677737-1-1.html转载于:https://blog.51cto.com/xbh1314/1923452