[logstash-input-redis]插件使用详解
Redis插件参数配置详解
最小化配置
input {
redis {
data_type => "list" #logstash redis插件工作方式
key => "logstash-test-list" #监听的键值
host => "127.0.0.1" #redis地址
port => 6379 #redis端口号
}
}
output {
stdout{}
}
详细配置
input {
redis {
batch_count => 1 #EVAL命令返回的事件数目
data_type => "list" #logstash redis插件工作方式
key => "logstash-test-list" #监听的键值
host => "127.0.0.1" #redis地址
port => 6379 #redis端口号
password => "123qwe" #如果有安全认证,此项为密码
db => 0 #redis数据库的编号
threads => 1 #启用线程数量
}
}
output {
stdout{}
}
threads参数测试
单个logstash启动后,如果配置多个threads,那么最后打印出的信息与队列中的信息顺序是不一样的。
下面给出了2w数据量,logstash在不同线程下的读取速度:
关于其他的参数
db
Redis里面有数据库的概念,一般是16个,默认登录后是0,可以通过命令选择。如果应用系统选择使用了不同的数据库,那么可以通过配置这个参数从指定的数据库中读取信息。
key
Redis中的数据都是通过键值来索引的,不管是字符串还是列表,所以这个key相当于数据库中的表。
如果是list或者channel模式,key都是指定的键值;而如果是pattern_channel,那么key可以通过glob通配的方式来指定。
password
有的Redis为了安全,是需要进行验证的。只有设置了password,才能正确的读取信息。相反,如果redis没有设置密码,而logstash中配置了密码,也会报错!
batch_count
这个属性设置了服务器端返回的事件数目,比如设置了5条,那么每次请求最多会直接获取5条日志返回。
data_type logstash工作的类型
logstash中的redis插件,指定了三种方式来读取redis队列中的信息。
- list=>BLPOP
- channel=>SUBSCRIBE
- pattern_channel=>PSUBSCRIBE
其中list,相当于队列;channel相当于发布订阅的某个特定的频道;pattern_channel相当于发布订阅某组频道。
【list】运行结果
【channel】运行结果
【pattern_channel】运行结果
可以看到channel与pattern_channel区别就在于一个是监听特定的键值,一个是监听某一组键值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2013-10-09 服务器负载监控以及文字处理脚本
2012-10-09 选择模型
2012-10-09 套接字模式
2012-10-09 第一章 对象导言 第二章 对象的创建与使用