我是一个网络人,试图构建我的第一个kafka->普罗米修斯 - >Grafana管道。我的Kafka经纪人有一个主题,该主题由外部生产商填写。那太棒了。但是我不知道如何将我的Prometheus服务器配置为从该主题中删除数据的消费者。
我还应该说我的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中删除。因此,我只需要弄清楚如何让Prometheus阅读我的主题中的消息。我想知道这些消息已经可见了吗?我的主题称为" 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/Prometheus生态系统的新手。问题:以上指标是否描述了我的" vflow.sflow" 主题?我可以使用它们配置Prometheus来实际阅读主题中的消息?
如果是这样,有人可以推荐一个好的教程吗?我一直在玩Prometheus Yaml配置文件,但是我要做的就是崩溃,当我这样做时。是的,我一直在阅读大量的在线文档和论坛帖子。它可以消化很多信息,并且非常容易投资小时在文档中被证明是死胡同。
对像我这样的新手有什么建议吗?诸如" 您在正确的轨道上,下一步查看X "或" 您显然不明白Y,花更多的时间看z "之类的一般建议是不欣赏。谢谢!
当您从kafka容器中添加该参数时,它会刮擦JMX指标的MBEAN,而不是任何实际主题数据,因为Prometheus不是Kafka消费者
从该JMX信息中,您会看到诸如消息率和副本计数之类的指标
如果您想阅读主题数据,可以使用Kafka Connect框架,并且有一个用于涌入,Mongo和Elasticsearch的插件,它们都是很好的Grafana源。我不确定Prometheus进口商是否有直接的Kafka,但我认为需要使用PushdGateway