logstash是ELK中的一员大将,

redis插件也是《The Logstash Book》中介绍的一个很好用的玩意儿。

之前,用比较小的集群部署的时候,没有介入redis中间件,所以也不是很清楚里面的配置,

后来用起来才发现配置有点坑。

第一次配置的时候,死活就是连接不起来,总是报错,说connection refused.

但在logstash机器redis-cli连接却不会有任何问题。

后来才发现,估计是bug,没有使用默认端口这个事情,竟然没法连通。。

------------------

不再废话,先给出我的可以工作的配置

------------------

输出日志到redis: log-to-redis.conf

input {
file {
path => "/opt/tengine_1.5.2/logs/access.log"
}
} output {
redis {
host => ["192.168.1.12"]
port => 6379
batch => true
batch_events => 5
data_type => "list"
key => "est"
codec => "json"
}
stdout {
codec => rubydebug
}
}

读取redis,并输出到elasticsearch或者其它任何地方: log-to-es.conf

input {
redis {
host => ["192.168.1.12"]
port => 6379
data_type => "list"
key => "est"
codec => "json"
}
} output {
stdout {
codec => rubydebug
} # #open this comment, you know what happens
# elasticsearch {
# cluster => "esearch"
# }
}

几个坑:

-  redis input plugin和output plugin的host配置类型不同

output是array,input是string 也就是说,logstash output的时候,可以指定多个host,一个连不上,可以用另一个 防止单点故障

唉,怪我自己看配置不仔细,默认input也是array类型,配置了 host => ['1.2.3.3:6380'],这下捅了马蜂窝,plugin干脆直接shutdown,我还以为是bug……

报错也放这里吧,万一谁搜索到了,也免得纠结。

[root@cent-7-62]~# logstash -f log-to-es.conf
Logstash startup completed
A plugin had an unrecoverable error. Will restart this plugin.
Plugin: <LogStash::Inputs::Redis host=>"192.168.1.1:6380", port=>6379, data_type=>"list", key=>"est", codec=><LogStash::Codecs::JSON charset=>"UTF-8">, debug=>false, threads=>1, name=>"default", db=>0, timeout=>5, batch_count=>1>
Error: initialize: name or service not known {:level=>:error}
Logstash shutdown completed

-  redis input plugin的batch设置和output plugin设置不同

input:batch_count

output:batch+batch_events+data_type配合工作 设置错误会有问题滴

logstash 1.5.3 配置使用redis做续传的更多相关文章

  1. Django中配置用Redis做缓存和session

    django-redis文档: http://django-redis-chs.readthedocs.io/zh_CN/latest/# 一.在Django中配置 # Django的缓存配置 CAC ...

  2. 基于keepalived对redis做高可用配置---转载

    关于keepalived的详细介绍,请移步本人相关博客:http://wangfeng7399.blog.51cto.com/3518031/1405785 功能 ip地址 安装软件 主redis 1 ...

  3. 使用Redis做MyBatis的二级缓存

    使用Redis做MyBatis的二级缓存 通常为了减轻数据库的压力,我们会引入缓存.在Dao查询数据库之前,先去缓存中找是否有要找的数据,如果有则用缓存中的数据即可,就不用查询数据库了. 如果没有才去 ...

  4. redis做RDB时请求超时case

        近期在排查redis做rdb时会有部分请求超时的case.初步推断是我们redisserver上开启了THP(Transparent Huge Pages).      1) Linux本身的 ...

  5. Redis详细讲解(Redis原理,Redis安装,Redis配置,Redis使用,Redis命令)

    一.Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...

  6. spring+redis的集成,redis做缓存

    1.前言 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.我们都知道,在日常的应用中,数据库瓶颈是最容易出现的 ...

  7. SpringBoot之Mybatis操作中使用Redis做缓存

    上一博客学习了SpringBoot集成Redis,今天这篇博客学习下Mybatis操作中使用Redis做缓存.这里其实主要学习几个注解:@CachePut.@Cacheable.@CacheEvict ...

  8. spring-boot集成mybatis,用redis做缓存

    网上有很多例子了,执行源码起码有3个,都是各种各样的小问题. 现在做了个小demo,实现spring-boot 用redis做缓存的实例,简单记录下思路,分享下源码. 缓存的实现,分担了数据库的压力, ...

  9. 使用Redis做分布式

    一 为什么使用 Redis 在项目中使用 Redis,主要考虑两个角度:性能和并发.如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一定要使用 Redis. 性能: 如 ...

随机推荐

  1. iOS开发UI篇—直接使用UITableView Controller

    iOS开发UI篇—直接使用UITableView Controller 一.一般过程 // // YYViewController.h // UITableView Controller // // ...

  2. iOS开发UI篇—ios应用数据存储方式(归档)

    iOS开发UI篇—ios应用数据存储方式(归档)  一.简单说明 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦: 偏好设置(将所有的东西都保存在同 ...

  3. iOS开发UI篇—Quartz2D简单使用(三)

    iOS开发UI篇—Quartz2D简单使用(三) 一.通过slider控制圆的缩放 1.实现过程 新建一个项目,新建一个继承自UIview的类,并和storyboard中自定义的view进行关联. 界 ...

  4. PHP中file_put_contents追加时换行

    很多时候记录日志需要换行.不建议使用\r\n,因为:在windows中\r\n是换行在Mac中\r是换行在Liunx中\n是换行 但是PHP提供了一个常量来匹配不同的操作系统,即: file_put_ ...

  5. 网页首页制作总结(div+css+javascript)

    一.对网页整体布局,分几个版块 如下图所示: 确定布局之后,规划好网页,准备素材,按照标准文档流的顺序,从上到下,从左到右写入代码. 以上图为例,分为两部分,红色的主体部分和页脚.主体部分分割为头部. ...

  6. java 异常

    异常简介 java中有Error和Exception Error:是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行操作无关,而表示运行时JVM出现的问题. Excepti ...

  7. Java read txt file

    package com.Yang; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;i ...

  8. 网页版电子表格控件tmlxSpreadsheet免费下载地址

    tmlxSpreadsheet 是一个由JavaScript 和 PHP 写成的电子表格控件(包含WP插件, Joomla插件等等).. 程序员可以容易的添加一个类似Excel功能的,可编辑的表格功能 ...

  9. 转:GROUPING SETS、ROLLUP、CUBE

    转:http://blog.csdn.net/shangboerds/article/details/5193211 大家对GROUP BY应该比较熟悉,如果你感觉自己并不完全理解GROUP BY,那 ...

  10. C++学习笔记24:makefile文件

    makefile make命令:负责c/c++程序编译与链接 make根据指定命令进行建构 建构规则文件:GNUmakefile , makefile,Makefile makefile 文件格式 m ...