直接上步骤:
1、首先建立一个配置文件,将output的数据写到redis中,而不是ES了。配置文件示例:
input {
stdin { }
}
output {
redis {
host => "192.168.1.100" #redis服务器地址
port => "6379" #redis服务端口
db => "5" #使用redis第五个库,用其他库也可以
data_type => "list" #用list类型
key => "demo" #存储的key名,可自定义自己喜欢的
}
}
2、指定配置文件然后运行Logstash,然后我们在标准输入中随便写点什么东西,这个时候输入的数据都会提交到redis中。登录redis后使用info命令可以查看keyspace相关信息,可以看到db5的keys数量有了变化,我们切换到db5再来看看
select 5
keys *
3、通过keys *命令可以看到有了一个key叫做demo,这个就是配置文件里设置的key名,使用LLEN demo可以看到该key的长度,input如果输入了100行,那么这个key就应该有100行
4、再次建立一个配置文件,这次input是从第一步里的redis里读取数据,然后output到ES中
input {
redis {
host => "192.168.1.100"
port => "6379"
db => "5"
data_type => "list"
key => "demo"
}
}
output {
elasticsearch {
hosts => ["192.168.0.100:9200"]
index => "redis-demo-%{+YYYY.MM.dd}"
}
}
5、运行该配置文件后去redis看看,之前的队列因为被output到了ES中,所以队列会消失掉或者是迅速减少长度
下面是一个改造后的配置文件,更符合实际需求
input {
file {
path => "/var/log/messages"
type => "system"
}
output {
if [type] == "system" {
redis {
host => "192.168.1.100"
port => "6379"
db => "5"
data_type => "list"
key => "system"
}
}
elastic stack 使用redis作为日志缓冲
2017年12月9日
未分类
No Comments
aming
直接上步骤:
1、首先建立一个配置文件,将output的数据写到redis中,而不是ES了。配置文件示例:
2、指定配置文件然后运行Logstash,然后我们在标准输入中随便写点什么东西,这个时候输入的数据都会提交到redis中。登录redis后使用info命令可以查看keyspace相关信息,可以看到db5的keys数量有了变化,我们切换到db5再来看看
3、通过keys *命令可以看到有了一个key叫做demo,这个就是配置文件里设置的key名,使用LLEN demo可以看到该key的长度,input如果输入了100行,那么这个key就应该有100行
4、再次建立一个配置文件,这次input是从第一步里的redis里读取数据,然后output到ES中
5、运行该配置文件后去redis看看,之前的队列因为被output到了ES中,所以队列会消失掉或者是迅速减少长度
下面是一个改造后的配置文件,更符合实际需求