环境条件:

系统版本:centos 6.8

logstash版本:6.3.2

redis版本:2.4

logstash  input配置:

input {
redis {
host => "172.16.73.33" #redis ip
port => "" #redis 端口
password =>"" #redis 密码
db =>           # 指定redis 库编号
data_type => "list" #数据类型
key => "filebeat" #key 值名称
   }
}

问题:

  1.  当我在上面的input的配置里面没有加上password参数的时候,会报下面的警告,千万不要忘记配置密码哦。

[--29T17::,][WARN ][logstash.inputs.redis    ] Redis connection problem {:exception=>#<Redis::CommandError: ERR operation not permitted>}

  2.  当我进行启动logstash 的时候发现有如下警告。

[2018-09-29T18:18:06,764][WARN ][logstash.inputs.redis    ] Redis connection problem {:exception=>#<Redis::CommandError: ERR unknown command 'script'>}

  该问题是由于我们的redis版本导致的,我们采用的redis版本是2.4版本,

官方文档这样写到:

官方文档链接:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-redis.html#_description_31

This input will read events from a Redis instance; it supports both Redis channels and lists. The list command (BLPOP) used by Logstash is supported in Redis v1.3.1+, and the channel commands used by Logstash are found in Redis v1.3.8+. While you may be able to make these Redis versions work, the best performance and stability will be found in more recent stable versions. Versions 2.6.+ are recommended.

For more information about Redis, see http://redis.io/

batch_count note: If you use the batch_count setting, you must use a Redis version 2.6. or newer. Anything older does not support the operations used by batching.

虽然官方建议的是2.6版本以上,但是文档的意思我们2.4版本也还是可以使用的。我们可以知道的一点就是,batch_count 参数要使用的时候一定得在2.6版本以上,接下来我们可以再看下另外一个文档。

文档链接:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-redis.html#plugins-inputs-redis-batch_count

batch_count
Value type is number
Default value is
The number of events to return from Redis using EVAL.

这里告诉我们的是在新的版本中是已经默认加了batch_count 参数的,而且默认值为125。

这样我们就找出了我们错误的原因,要支持参数 batch_count  需要2.6版本以上。那么解决的办法有两种:

  1  将redis版本升级。

2  我们不使用batch_count 参数。

由于我们这个redis里面还有其他业务,所以我们升级版本这条路就走不通了,我们决定将 batch_count  的数值设置为1 ,用来表示我们每次从redis取回一条数据,这样我们就可以正常的启动logstash了。

input {
redis {
host => "172.16.73.33" #redis ip
port => "" #redis 端口
password =>"" #redis 密码
db =>           # 指定redis 库编号
batch_count =>      # 这个默认值125,我们需要设置为1以支持redis2.6以下的版本。
data_type => "list" #数据类型
key => "filebeat" #key 值名称
   }
}

以上就是我在使用logstash 遇到的问题 以及解决的办法。希望能对你有些帮助。

LogStash启动报错:<Redis::CommandError: ERR unknown command 'script'>与batch_count 的 配置的更多相关文章

  1. appnium启动报错Encountered internal error running command: Error: Error occured while starting App. Original error: Permission to start activity denied.

    说明写错了activity 首先查看一下activity,使用命令 打开被测app,输入命令adb shell dumpsys window | findstr mCurrentFocus 看似这个a ...

  2. Spring session redis ERR unknown command 'CONFIG'

    部署线上服务启动报错 redis.clients.jedis.exceptions.JedisDataException: ERR unknown command 'CONFIG' Redis CON ...

  3. Windows 7 上面 redis 启动报错的处理

    Windows 7或者是 win10 上面 安装redis 的windows 3.2.100 的版本 启动报错: Creating Server TCP listening socket *:: li ...

  4. selenium启动报错“ incorrect JSON status mapping for 'unknown error' (500 expected)”

    前面讲了工程启动报错“selenium启动报错Unable to read VR Path Registry from C:\Users\clinva\AppData\Local\openvr\ope ...

  5. redis启动报错:Fatal error loading the DB: Invalid argument

    redis启动报错 add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be ...

  6. undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库坏块导致

    本文转自 惜纷飞 大师. 模拟基表事务未提交数据库crash,undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库 ...

  7. logstash 启动报找不主类或无法加载 java

    logstash 启动报无法找到主类解决方案 Zparkle 关注 2018.03.08 22:04* 字数 2051 阅读 1评论 0喜欢 0 当logstash启动时,首先要注意正确配置java ...

  8. Celery 启动报错 can_read() got an unexpected keyword argument timeout

    问题: Celery 启动报错 can_read() got an unexpected keyword argument timeout 方案:更改redis版本和celery版本,我使用下面的ce ...

  9. Tomcat7.0.40注册到服务启动报错error Code 1 +connector attribute sslcertificateFile must be defined when using ssl with apr

    Tomcat7.0.40 注册到服务启动遇到以下几个问题: 1.启动报错errorCode1 查看日志如下图: 解决办法: 这个是因为我的jdk版本问题,因为电脑是64位,安装的jdk是32位的所以会 ...

随机推荐

  1. java编程中Properties类的具体作用和使用!

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

  2. 序列化Json时遇到的大小写问题及解决方法

    最近在一个webapi2项目中遇到了一个问题:C#编码规范中规定属性的首字母是大写的(大多数公司采用这种编码风格),但是从其它系统中接收到的json对象的属性却是小写的(大多数公司采用这种编码风格), ...

  3. Redis.conf配置文件内容详解

    #默认以后台方式运行 daemonize yes #指定redis pid文件 pidfile /data/apps/var/redis2/redis2.pid #指定redis启动占用的端口 por ...

  4. Spring Boot 2 实践记录之 使用 ConfigurationProperties 注解将配置属性匹配至配置类的属性

    在 Spring Boot 2 实践记录之 条件装配 一文中,曾经使用 Condition 类的 ConditionContext 参数获取了配置文件中的配置属性.但那是因为 Spring 提供了将上 ...

  5. Spring Boot 2 实践记录之 条件装配

    实验项目是想要使用多种数据库访问方式,比如 JPA 和 MyBatis. 项目的 Service 层业务逻辑相同,只是具体实现代码不同,自然是一组接口,两组实现类的架构比较合理. 不过这种模式却有一个 ...

  6. EasyUi 合并单元格占列显示

    $("#TableContainer").datagrid({                url: '',                method: "get&q ...

  7. NetCore入门篇:(十)Net Core项目使用Cookies

    一.简介 1.Net Core可以直接使用Cookies,但是调用方式有些区别. 2.Net Core将Request和Response分开实现. 二.基本读写Cookies操作 1.写一个基本的读写 ...

  8. Android学习之ViewPager

     1.定义 ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view.其中,android.support.v4是谷歌公司为了解决当前版本碎片化的问题,从而提供的一 ...

  9. JVM中的对象生命周期

    在JVM运行空间中,对象的整个生命周期大致可以分为七个阶段:创建阶段(Creation).应用阶段(Using).不可视阶段(Invisible).不可到达阶段( Unreachable).可收集阶段 ...

  10. 七:MyBatis学习总结(七)——Mybatis缓存

    ---恢复内容开始--- 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地 ...