6.0以下方案
logstash处理多个输入输出源方案
没有使用多管道,两个任务,jdbc demo
手写自定义mysql.conf
input {
stdin {}
jdbc {
# 第一个任务对应一个type;
type => "type_1"
# ...省略
# 同步频率(分 时 天 月 年),默认每分钟同步一次;
schedule => "* * * * *"
}
jdbc {
# 第二个任务对应一个type;
type => "type_2"
# ...省略
}
}
filter {
if [type] == "type_1" {
#过滤
json {
source => "message"
remove_field => ["message"]
}
# nested聚合
aggregate{
task_id => "%{id}"
code => "
map['id'] ||= event.get('id')
map['name'] ||= event.get('name')
map['hobby'] ||= event.get('hobby')
map['genshin'] ||=[]
map['genshin'] << {'student_id' =>event.get('student_id'),'person' => event.get('person')}
event.cancel()
"
push_previous_map_as_event =>true
timeout => 5
}
}
if [type] == "type_2" {}
}
output {
# output模块的type需和

本文介绍了Logstash从6.0版本开始如何通过多pipeline结构实现输入输出源的独立处理,避免单点故障影响。重点讲解了配置调整和启动方式的变化,以及如何配置pipeline.yml以启动自定义的pipeline实例。
最低0.47元/天 解锁文章
846

被折叠的 条评论
为什么被折叠?



