可视化和分析来自 Kafka 的数据
Visualize and analyze data from Kafka
我正在使用基本的 Kafka-Logstash 设置将许多不同的应用程序与后端同步。我对它的工作原理有一个非常基本的了解。目前我正在研究分析 Kafka 处理的数据。我想使用 Kafka Connect 将所有内容都放在 Kibana 板上,但我不确定如何解决这个问题。
我发现 this resource 说了以下内容:
Whilst Kafka Connect is part of Apache Kafka itself, if you want to stream data from Kafka to Elasticsearch you’ll want the Confluent Platform.
我的问题是:
1.我必须使用 Confluent 才能实现吗?
2。我应该使用 Confluent 来实现吗?
我还研究了其他工具,例如 Prometheus,但据我所知,实现类似 Kibana 的可视化并不容易。但是如果我错了请多多指教!
我使用了 Logstash(通过 tcp 输入插件使用 JSON 数据)和 Confluent 的 Kafka Connect Elastic connector(使用 Avro 数据),两者都只使用常规的 Apache Kafka。所以,do you 的答案是,不。配置 Kafka Connect 将花费更多时间,因为您必须构建源代码,所以 您应该,当然,因为它在结束时仍然是相同的 Apache Kafka日。
两者都可以与 Kibana 一起使用,但这当然很大程度上取决于您在 Elasticsearch 中管理索引模式的方式以及您正在摄取的数据。
如果您对设置 Elasticsearch 索引和类型映射一无所知,我个人认为 Logstash 更简单一些,因为 Logstash 的 Elasticsearch 输出插件 "just works"。我不记得我是否使用过 Kafka 输入插件,但我想它的工作方式与任何其他输入类似,但如果您的生产者有一些非标准序列化(例如,一些人们将 Protobuf 数据放入 Kafka)
我看到 Prometheus/Grafana 更多的是指标,而不是可视化。
您可以使用 Logstash Kafka 输入插件可视化和分析 Kafka 数据。下面是示例 Logstash 片段配置。
input {
kafka {
bootstrap_servers => "localhost:9092"
client_id => "client_id_name" // optional
topics => ["topic_name"]
}
}
//Logstash provides different filters like json,csv and etc..You can add filters based on your requirements.
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch{
hosts => ["http://localhost:9200/"]
index => "index_name"
document_type => "document_type_name" // optional
}
}
更多kafka输入配置选项请参考https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html
我正在使用基本的 Kafka-Logstash 设置将许多不同的应用程序与后端同步。我对它的工作原理有一个非常基本的了解。目前我正在研究分析 Kafka 处理的数据。我想使用 Kafka Connect 将所有内容都放在 Kibana 板上,但我不确定如何解决这个问题。
我发现 this resource 说了以下内容:
Whilst Kafka Connect is part of Apache Kafka itself, if you want to stream data from Kafka to Elasticsearch you’ll want the Confluent Platform.
我的问题是:
1.我必须使用 Confluent 才能实现吗?
2。我应该使用 Confluent 来实现吗?
我还研究了其他工具,例如 Prometheus,但据我所知,实现类似 Kibana 的可视化并不容易。但是如果我错了请多多指教!
我使用了 Logstash(通过 tcp 输入插件使用 JSON 数据)和 Confluent 的 Kafka Connect Elastic connector(使用 Avro 数据),两者都只使用常规的 Apache Kafka。所以,do you 的答案是,不。配置 Kafka Connect 将花费更多时间,因为您必须构建源代码,所以 您应该,当然,因为它在结束时仍然是相同的 Apache Kafka日。
两者都可以与 Kibana 一起使用,但这当然很大程度上取决于您在 Elasticsearch 中管理索引模式的方式以及您正在摄取的数据。
如果您对设置 Elasticsearch 索引和类型映射一无所知,我个人认为 Logstash 更简单一些,因为 Logstash 的 Elasticsearch 输出插件 "just works"。我不记得我是否使用过 Kafka 输入插件,但我想它的工作方式与任何其他输入类似,但如果您的生产者有一些非标准序列化(例如,一些人们将 Protobuf 数据放入 Kafka)
我看到 Prometheus/Grafana 更多的是指标,而不是可视化。
您可以使用 Logstash Kafka 输入插件可视化和分析 Kafka 数据。下面是示例 Logstash 片段配置。
input {
kafka {
bootstrap_servers => "localhost:9092"
client_id => "client_id_name" // optional
topics => ["topic_name"]
}
}
//Logstash provides different filters like json,csv and etc..You can add filters based on your requirements.
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch{
hosts => ["http://localhost:9200/"]
index => "index_name"
document_type => "document_type_name" // optional
}
}
更多kafka输入配置选项请参考https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html