logstash 1.5.3 配置使用redis做续传
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做续传的更多相关文章
- Django中配置用Redis做缓存和session
django-redis文档: http://django-redis-chs.readthedocs.io/zh_CN/latest/# 一.在Django中配置 # Django的缓存配置 CAC ...
- 基于keepalived对redis做高可用配置---转载
关于keepalived的详细介绍,请移步本人相关博客:http://wangfeng7399.blog.51cto.com/3518031/1405785 功能 ip地址 安装软件 主redis 1 ...
- 使用Redis做MyBatis的二级缓存
使用Redis做MyBatis的二级缓存 通常为了减轻数据库的压力,我们会引入缓存.在Dao查询数据库之前,先去缓存中找是否有要找的数据,如果有则用缓存中的数据即可,就不用查询数据库了. 如果没有才去 ...
- redis做RDB时请求超时case
近期在排查redis做rdb时会有部分请求超时的case.初步推断是我们redisserver上开启了THP(Transparent Huge Pages). 1) Linux本身的 ...
- Redis详细讲解(Redis原理,Redis安装,Redis配置,Redis使用,Redis命令)
一.Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...
- spring+redis的集成,redis做缓存
1.前言 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.我们都知道,在日常的应用中,数据库瓶颈是最容易出现的 ...
- SpringBoot之Mybatis操作中使用Redis做缓存
上一博客学习了SpringBoot集成Redis,今天这篇博客学习下Mybatis操作中使用Redis做缓存.这里其实主要学习几个注解:@CachePut.@Cacheable.@CacheEvict ...
- spring-boot集成mybatis,用redis做缓存
网上有很多例子了,执行源码起码有3个,都是各种各样的小问题. 现在做了个小demo,实现spring-boot 用redis做缓存的实例,简单记录下思路,分享下源码. 缓存的实现,分担了数据库的压力, ...
- 使用Redis做分布式
一 为什么使用 Redis 在项目中使用 Redis,主要考虑两个角度:性能和并发.如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一定要使用 Redis. 性能: 如 ...
随机推荐
- iOS开发UI篇—transframe属性(形变)
iOS开发UI篇—transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两 ...
- Python的平凡之路(6)
一.面向对象编程介绍 1 编程范式: 编程范式(Programming Paradigm)是某种编程语言典型的编程风格或者说是编程方式.随着编程方法学和软件工程研究的深入,特别是OO ...
- 模仿MFC封装Windows API
.... 最后添加了两个按钮,分别处理每个按钮的单击事件时,走了弯路,本来想的是在QButton中重写OnLButtonDown方法,但是,无法区分是那个按钮.参考这篇文章: http://zhida ...
- Android Sudoku应用挂掉的问题
在真机上测试数独游戏时发现,快速点击屏幕时,游戏偶尔出现挂死的情况,Log如下 04-08 15:35:00.838 7317-7356/org.elvalad.sudoku D/OpenGLRend ...
- H5实现俄罗斯方块(三)
最高分的面板: (function (window) { 'use strict'; function HighScore() { this.canvas = new Canvas('highscor ...
- Android HandlerThread 的使用及其Demo
今天我们一起来学习下一个Android中比较简单的类HandlerThread,虽然它的初始化有点小麻烦. 介绍 首先我们来看看为什么我们要使用HandlerThread?在我们的应用程序当中为了实现 ...
- 无锁队列以及ABA问题
队列是我们非常常用的数据结构,用来提供数据的写入和读取功能,而且通常在不同线程之间作为数据通信的桥梁.不过在将无锁队列的算法之前,需要先了解一下CAS(compare and swap)的原理.由于多 ...
- linux项目-之监控-nagios
nagios core plugins 对象 主机(交换机,路由器,防火墙,服务器,虚拟机等),主机组 服务(主机上提供的服务如80,3306,1521,21等)/资源(cpu,内存使用情况,磁盘,网 ...
- Windows 10的TPM模块到底是不是美国全球监控体系的奠基石?
http://bbs.pediy.com/showthread.php?t=202638 http://www.zhihu.com/topic/19671262/newest 2015年3月18日,微 ...
- Oracle查询索引碎片及数据表空间使用情况
--检查索引碎片情况,只能对单个表进行分析. --需要注意块的大小.索引的pctfree的值的大小.rowid的长度的不同,根据不同的情况修改相应的值 select index_name, c.NMB ...