【问题标题】:Possible to export Spring metrics from Micrometer to Kafka?可以将 Spring 指标从 Micrometer 导出到 Kafka 吗?
【发布时间】:2019-02-12 11:27:33
【问题描述】:
我现在正在玩 Spring Boot v2。到目前为止,我的设置如下所示:
Spring -> Telegraf -> Kafka -> Telegraf -> 涌入
我想知道是否有可能在 Spring 和 Kafka 之间取出第一个电报,所以像这样:
Spring -> Kafka -> Telegraf -> Influx
我查看了千分尺的配置,Kafka 没有配置。此外,telegraf 正在从 Spring 中提取数据。由于 Kafka 是一个推送模型(即您正在将数据推送到 Kafka),Spring 是否能够将数据推送到 Kafka?如果是,如何?通过使用 HTTP POST 方法?
整个概念的新概念。
【问题讨论】:
标签:
spring
spring-boot
apache-kafka
micrometer
【解决方案1】:
Spring 能否将数据推送到 Kafka?如果是,如何?通过使用 HTTP POST 方法?
Kafka 使用自己的 TCP 协议,而不是 HTTP,所以没有。至少在不使用 Kafka REST 代理的情况下是这样。
您基本上会将 Telegraf 所做的事情嵌入到您的 Spring 代码中。
可能,当然,但是内置于 Micrometer 中?不是我知道的。
另外,如果您的应用程序有一个内部生产者线程,这将是开销,并且您需要在每个受监控的应用程序中包含 kafka 客户端,并且如果没有 Kafka 连接,还需要进行一些控制以防止您的应用程序失败有可能……
我建议在每台主机上安装 Telegraf,或者至少为您的个人 Java 应用程序安装 Prometheus JMX 导出器或 Jolokia。由此,可以收集 JMX 指标并将其推送到下游监控系统
或者,正如评论的那样,您可以跳过 Kafka,但我猜您想将其作为缓冲区保留在那里。
另一方面,您可以使用 Kafka Connect Influxdb sink 来获得消费者扩展的最佳性能