logstash将采取kafka的数据到elasticSearch配置

本文介绍如何使用Logstash从Kafka消费数据并转发至Elasticsearch的过程。重点介绍了Kafka消费者配置、数据过滤及转换流程,并最终将数据写入Elasticsearch的具体配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 如下是logstash 将 kafka的数据到elasticSearch 的主要配置。

# 其中 consumer_threads 的配置跟kafka集群的分片和logstash的集群有很大关系 。

# kafka的每个分片只能给一个comsumer消费,consumer_threads如果大于kafka分片,将导致consumer_threads有些线程空闲;consumer_threads如果小于kafka的分配,

将导致logstash 将要消费多个kafka的分片数据。


input {
kafka {
zk_connect => "A:2181,B:2181,C:2181"
group_id => "b2c.k2e.consumer"
topic_id => "clusterTest"
reset_beginning => false
consumer_threads => 4
decorate_events => false
queue_size => 1000

codec => multiline {
pattern => "^{\"date\""
negate => "true"
what => "previous"
}
}

}

filter {
mutate{
gsub => [
"message" , "\t" , "",
"message" , "\f" , ""
]

}

# timestamp 和 @timestamp 不是一样的变量
ruby {
code => "event['timestamp'] = LogStash::Timestamp.new(event['@timestamp']+ 8*60*60)"
}

ruby {
add_tag => [ "@arriveTime "]
code => "event['@arriveTime']= event['timestamp']"
}

mutate {
remove_field => ["timestamp"]
rename => { "message" => "temp" }
}

json {
source => "temp"
remove_field => ["temp"]
}
}

output {
elasticsearch {
hosts => ["D:9200","E:9201","F:9202","G:9206","H:9203","I:9204","J:9205"]
index => "clusterindex-%{+YYYY-MM-dd}"
flush_size => 2000
workers => 10
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值