Logstash 获取通道类型 Redis 数据
Redis 服务器是 logstash 官方推荐的 broker 选择。Broker 角色也就意味着会同时存在输入和输出俩个插件。这里我们先学习输入插件。
LogStash::Inputs::Redis 支持三种 data_type(实际上是redis_type),不同的数据类型会导致实际采用不同的 Redis 命令操作:
- list => BLPOP
- channel => SUBSCRIBE
- pattern_channel => PSUBSCRIBE
说明:
容器搭建的ELK,使用队列
步骤:
1、进入容器通道,复制一份logstash.conf 然后修改名称
logstash@b4779271fd0f:~$ pwd /usr/share/logstash logstash@b4779271fd0f:~$ cd pipeline/ logstash@b4779271fd0f:~/pipeline$ ls logstash.conf redis_to_es.conf
2、编写redis通道配置文件
# @Author: Wanghaipeng
# @Date: 2023-03-27 17:03:16
input {
redis {
data_type => "list" #["list", "channel", "pattern_channel"]
host => "XXX" #153 服务器的内网地址
db => "1"
port => "6379"
key => "redis153-to-es-log"
password => "XXXX"
timeout => "30"
}
}
output {
elasticsearch {
hosts => ["http://172.20.0.3:9200"]
user => "" #填写ES账号信息
password => ""
index => "redis-153-systemlog-%{+YYYY.MM.dd}" # 把日期去掉 这是ES的索引 会造成每天一个索引源
codec => "json"
}
stdout {
codec => rubydebug
}
}
3、写入数据
[root@host-10-10-1-18 ~]# redis-cli
127.0.0.1:6379> auth XXXXXX
OK
127.0.0.1:6379> select 1 #选择数据库1
OK
127.0.0.1:6379[1]> lpush redis153-to-es-log '{"name":"wanghaipeng008","age":"33","timestamp":"1695895769"}'
(integer) 1
127.0.0.1:6379[1]> llen redis153-to-es-log # 已取出
(integer) 0
4、创建索引

5、ES查看数据


浙公网安备 33010602011771号