ank*_*tel 3 bash apache-kafka prometheus jmx-exporter
我无法使用 JMX 导出器公开 kafka 指标。您可以查看我的步骤并在需要的地方纠正我吗?\n我正在按照此处的步骤使用 JMX 导出器启用 kafka。
\n\n以下是我遵循的分步说明
\n\n#get kafka\nwget kafka_2.11-2.0.0\n\n# Download Prometheus JMX exporter:\nsudo wget -P /opt/kafka/prometheus/ https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.0/jmx_prometheus_javaagent-0.3.0.jar\nsudo wget -P /opt/kafka/prometheus/ https://raw.githubusercontent.com/prometheus/jmx_exporter/master/example_configs/kafka-0-8-2.yml\n\n#Edit Prometheus JMX exporter config file; and append following lines \necho \xe2\x80\x9c- pattern : kafka.producer<type=producer-metrics, client-id=(.+)><>(.+):\\w* name: kafka_producer_$2\xe2\x80\x9d >> /opt/kafka/prometheus/kafka-0-8-2.yml\necho \xe2\x80\x9c\xe2\x80\x94 pattern : kafka.consumer<type=consumer-metrics, client-id=(.+)><>(.+):\\w* name: kafka_consumer_$2\xe2\x80\x9d >> /opt/kafka/prometheus/kafka-0-8-2.yml\necho \xe2\x80\x9c\xe2\x80\x94 pattern : kafka.consumer<type=consumer-fetch-manager-metrics, client-id=(.+)><>(.+):\\w* name: kafka_consumer_$2\xe2\x80\x9d >> /opt/kafka/prometheus/kafka-0-8-2.yml\n\n\n#start zookeeper in terminal 0\n/opt/kafka/bin/zookeeper-server-start.sh config/zookeeper.properties\n\n\n#start kafka broker in terminal 1\nKAFKA_HEAP_OPTS=\xe2\x80\x99\xe2\x80\x9d-Xmx1000M -Xms1000M\xe2\x80\x9d\xe2\x80\x99 \nKAFKA_OPTS=\xe2\x80\x9d-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.3.0.jar=7071:/opt/kafka/prometheus/kafka-0\xe2\x80\x938\xe2\x80\x932.yml\xe2\x80\x9d \nJMX_PORT=7071\n/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties \n\n\n#start kafka consumer in terminal 2\nKAFKA_OPTS=\xe2\x80\x9d-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.3.0.jar=7072:/opt/kafka/prometheus/kafka-0\xe2\x80\x938\xe2\x80\x932.yml\xe2\x80\x9d \nJMX_PORT=7072\n/opt/kafka/bin/kafka-console-consumer.sh \xe2\x80\x94 bootstrap-server 0.0.0.0:9092 \xe2\x80\x94 topic test \xe2\x80\x94 from-beginning\n\n#start kafka producer in terminal 3\nKAFKA_OPTS=\xe2\x80\x9d-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.3.0.jar=7073:/opt/kafka/prometheus/kafka-0\xe2\x80\x938\xe2\x80\x932.yml\xe2\x80\x9d \nJMX_PORT=7073\n/opt/kafka/bin/kafka-console-producer.sh \xe2\x80\x94 broker-list 0.0.0.0:9092 \xe2\x80\x94 topic test\nRun Code Online (Sandbox Code Playgroud)\n\n经过上述步骤后,zookeeper 和 kafka 运行正常。\n我可以在生产者终端中输入一条消息,并在消费者控制台上收到该消息。然而,Prometheus 上没有可见的 kafka 指标。为了调试这个,我检查了端口 7071/2/3
\n\nnetstat -tlnp | grep 7071\nnetstat -tlnp | grep 7072\nnetstat -tlnp | grep 7073\nRun Code Online (Sandbox Code Playgroud)\n\n这导致空白响应;这意味着没有服务正在使用上述端口。我觉得 JMX 导出器未正确启用。
\n\n你能帮我解决以上问题吗?
\n从你的问题来看,你将变量放在自己的行上,而博客将它们放在同一行上......
\n\n例如这是如何启动 Kafka 服务器
\n\nKAFKA_HEAP_OPTS=\'"-Xmx1000M -Xms1000M"\' KAFKA_OPTS=\'-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.3.0.jar=7071:/opt/kafka/prometheus/kafka-0\xe2\x80\x938\xe2\x80\x932.yml\' JMX_PORT=7081 /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
否则,您需要导出变量,以便子流程会像您在上一个问题中所做的那样拾取它们,这对于公开指标来说似乎工作得很好
\n\nexport KAFKA_HEAP_OPTS=\'"-Xmx1000M -Xms1000M"\'\nexport KAFKA_OPTS=\'-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.3.0.jar=7071:/opt/kafka/prometheus/kafka-0\xe2\x80\x938\xe2\x80\x932.yml\'\nexport JMX_PORT=7081\n/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties\nRun Code Online (Sandbox Code Playgroud)\n\n注意:您链接到的博客不使用JMX_PORT,但这些端口不能与导出器相同。
我还建议至少下载高于 0.3 的版本 - https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/
\n\n并使用 Kafka 2.0 的配置 - https://github.com/prometheus/jmx_exporter/blob/master/example_configs/kafka-2_0_0.yml
\n\n旁注:netstat -tlnp | grep 707会立即向您展示所有内容
| 归档时间: |
|
| 查看次数: |
11703 次 |
| 最近记录: |