当前位置: 首页 > 知识库问答 >
问题:

普罗米修斯是如何抓住Kafka的话题的?

敖硕
2023-03-14

我是一个网络人,试图打造我的第一部Kafka--

我还应该说,我的Kafka节点运行在我的主机Ubuntu机器上(不是在Docker容器中)。当我运行Kafka时,我也运行了一个JMX导出器的实例。下面是我在Ubuntu命令行上启动Kafka的方法

KAFKA_OPTS="$KAFKA_OPTS -javaagent:/home/me/kafka_2.11-2.1.1/jmx_prometheus_javaagent-0.6.jar=7071:/home/Me/kafka_2.11-2.1.1/kafka-0-8-2.yml" \
  ./bin/kafka-server-start.sh config/server.properties &

好的。我的Prometheus(也是一个主机进程,不是Docker容器版本)可以成功地从我的Kafka中提取许多指标。所以我只需要想办法让普罗米修斯阅读我主题中的信息。我想知道这些信息是否已经可见?我的主题叫做“vflow.sflow”,当我查看Kafka(TCP 7071)上可用的“可切割”指标时,我确实看到了这些指标:

From http://localhost:7071/metrics:

kafka_cluster_partition_replicascount{partition="0",topic="vflow.sflow",} 1.0
kafka_cluster_partition_insyncreplicascount{partition="0",topic="vflow.sflow",} 1.0
kafka_log_logendoffset{partition="0",topic="vflow.sflow",} 1.5357405E7
kafka_cluster_partition_laststableoffsetlag{partition="0",topic="vflow.sflow",} 0.0
kafka_log_numlogsegments{partition="0",topic="vflow.sflow",} 11.0
kafka_cluster_partition_underminisr{partition="0",topic="vflow.sflow",} 0.0
kafka_cluster_partition_underreplicated{partition="0",topic="vflow.sflow",} 0.0
kafka_log_size{partition="0",topic="vflow.sflow",} 1.147821017E10
kafka_log_logstartoffset{partition="0",topic="vflow.sflow",} 0.0

“分区0”、“日志大小”、“日志结束偏移”...所有这些看起来都很有希望...我猜?

但请记住,我对Kafka/JMX/普罗米修斯生态系统是完全陌生的。问题:以上指标是否描述了我的“vflow.sflow”主题?我可以使用它们来配置普罗米修斯,使其真正阅读主题中的信息吗?

如果是这样,有人能推荐一个好的教程吗?我一直在玩弄我的Prometheus YAML配置文件,但我所能做的就是在这样做时使Prometheus进程崩溃。是的,我一直在阅读大量的在线文档和论坛帖子。它有很多信息需要消化,而且很容易在文档上花费数小时,这被证明是一条死胡同。

对我这样的新手有什么建议吗?一般建议,如“你在正确的轨道上,下一步看X”或“你显然不理解Y,花更多的时间看Z”,将不胜感激。谢谢

共有1个答案

萧英睿
2023-03-14

当您从Kafka容器中添加该参数时,它会刮取JMX度量的MBean,而不是任何实际的主题数据,因为普罗米修斯不是Kafka消费者

从JMX信息中,您可以看到消息速率和副本计数等指标

如果你想阅读主题数据,可以使用Kafka Connect框架,还有一个插件用于Inflox、Mongo和Elasticsearch,这些都是很好的Grafana源代码。我不确定是否有直接Kafka到普罗米修斯的进口商,但我认为这需要使用PushGateway

 类似资料:
  • null 使用默认配置和轻微的定制。 我可以访问prometheus、grafana和alertmanager,查询度量标准并查看精美的图表。 但是prometheus-adapter在启动时不断抱怨它不能访问/发现度量: 在我的设置中,对于prometheus-adapter的正确值是什么?

  • 我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s

  • 我的各种docker容器导出prometheus度量,但是我们的prometheus安装只需要从一个endpoint提取所有度量。不幸的是,这是无法改变的。因此,我需要在一个点上聚合所有度量,从普罗米修斯安装可以刮取度量。 此外,如果这个程序或脚本能够提供关于如何处理由不同endpoint导出的相同度量的额外逻辑,那就太好了。例如,如果我只是将不同的度量站点连接在一起,Prometheus在解释度

  • 我要监控的应用程序为健康检查提供了一个apiendpoint,该endpoint使用json中的指标进行响应。例如: 我已经设置了Prometheus blackbox\u exporter,以监视此endpoint是否返回200 Ok,但理想情况下,我也希望获得这些指标。我知道instrumentation直接从应用程序导出这些数据。但是,由于应用程序已经在导出json对象中我想要的内容,我更希

  • 关于整合齐普金和普罗米修斯的可能性的小问题。 目前,我们已经有了一个完全可用的Zipkin实例,以及它的web UI。Zipkin超级酷,一切都很好。 我们能够让所有微服务向Zipkin发送跟踪信息,并让Zipkin汇总这些信息。 我们还可以在UI中搜索痕迹等等,超级酷。 另一方面,我们也有一个非常成熟的经过实战检验的Prometheus Grafana,其中已经包含了容器级指标、应用程序级指标和

  • 我有一个启用了监视和日志记录的GKE集群(1.15)。到目前为止,我们一直使用metrics-server对StackDriver进行度量监控。对于其他自定义度量标准,我们使用了自定义度量标准适配器,该适配器使用Prometheus-to-SD将度量标准刮取并导出到stackdriver。 我想开始看看prometheus是否能给我们提供其他功能,比如HPA的聚合度量。 在GCP marketpl