LogStash启动报错:<Redis::CommandError: ERR unknown command 'script'>与batch_count 的 配置

环境条件:

系统版本:centos 6.8

logstash版本:6.3.2

redis版本:2.4

logstash  input配置:

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

问题:

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

[2018-09-29T17:55:18,803][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.0+ 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.0 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 125
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 => "52611"         #redis 端口
      password =>"123456"     #redis 密码
      db => 9          # 指定redis 库编号
      batch_count => 1     # 这个默认值125,我们需要设置为1以支持redis2.6以下的版本。
      data_type => "list"     #数据类型
      key => "filebeat"       #key 值名称
   }
}

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

LogStash启动报错:<Redis::CommandError: ERR unknown command 'script'>与batch_count 的 配置

原文地址:https://www.cnblogs.com/operationhome/p/9734268.html

时间: 2024-12-28 12:54:29

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

logstash启动报错 Exception in thread &quot;&gt;output&quot; org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s]

部署ELK时候,logstash启动报错 Sending logstash logs to /var/log/logstash.log.Exception in thread ">output" org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s]    at org.elasticsearch.action.support.master.TransportMasterNodeOper

报错:pymysql.err.InternalError: (1054, &quot;Unknown column &#39;AType&#39; in &#39;field list&#39;&quot;)

报错背景: 报错前sql代码展示: List = ['Manual', 'Float', 'TimeValue', 'None', '100', '100', '0', '0', '0', '0', 'Forced', '排水系统3#中央泵负压', '556', 'SLWS_ps_3hzybf_YL.PV', 'Analog', '2019/6/13 8:32:46', '-0.0034143477678299', '0'] # sql = "insert into test(id, name)

Redis启动报错 linux64目录 /libX11.so.6: undefined symbol: xcb_wait_for_reply64 解决

Redis-desktop-manager一次安装后启动报错经历 解决: 删除libxcb.so.1 删除 RedisDesktop安装目录\lib\libxcb.so.1  文件解决. 详细: 最近因为装黑苹果后固态硬盘分配不合理重装了 debian ,在下载Redis-desktop时发现在github上之前开放的deb版本陆陆续续关闭了,翻了历史版本好久才翻到一个64位的RedisManager(百度云备份以备不时之需:链接: [      https://pan.baidu.com/s/

kibana 启动报错

kibana4.1 启动报错 {"name":"Kibana","hostname":"linux-node1.example.com","pid":3941,"level":60,"err":{"message":"unknown error","name":"Error","

MySql启动报错,无法更新PID文件

MySql启动报错 Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql..) 1,查看错误日志 2017-08-10 19:38:14 31865 [Note] InnoDB: Initializing buffer pool, size = 50.0M InnoDB: mmap(53657600 bytes) failed; errno 12 2017-08-10 19:38:14

elk中elasticsearch安装启动报错

elasticsearch安装之后.启动报错.elasticsearch版本为5.4.1 下载安装: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.tar.gz tar zxf elasticsearch-5.4.1.tar.gz mv elasticsearch-5.4.1 /usr/local/elasticsearch cd /usr/local/elasticsearch/ ./

新安装的MySQL启动报错The server quit without updating PID file

安装的MySQL启动报错The server quit without updating PID file [[email protected] mysql]# service mysqld restart MySQL server PID file could not be found!                  [失败] Starting MySQL.The server quit without updating PID file (/[失败]ysql/l ocalhost.loc

Mysql启动报错解决方案:Failed to open log (file &#39;./mysql-bin.000901&#39;, errno 2)

ps -ef|grep mysql 发现里边没有mysql进程,于是进行重启. service mysqld start报错 查看错误日志 tail -100 /usr/local/mysql/var/iZ11yohng9aZ.err(主机名.err) 180223 15:31:51 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var 180223 15:31:51 InnoDB: The Inn

nodejs express 启动报错 Error Cannot find module &#39;xxx&#39;

nodejs express 启动报错:Error: Cannot find module 'xxx',这是因为缺少模块的引用. 比如我在代码中使用了'express-session',但是却没有在 package.json 文件的 "dependencies" 项中添加 'express-session' 的依赖 D:\nodejs\myapp>set DEBUG=myapp & npm start > myapp@0.0.0 start D:\nodejs\my