kafka and JMX-exporter

后端 未结 2 1580
清歌不尽
清歌不尽 2020-12-19 18:51

I am unable to use JMX exporter to expose kafka metrics. Can you look at my steps and correct me where needed.? I am following steps here to enable kafka with JMX exporter.

相关标签:
2条回答
  • 2020-12-19 19:10

    thank you cricket-007 for your help. I am listing steps i followed here for simplicity

    wget -q -O /tmp/kafka.tgz https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
    tar -xf /tmp/kafka.tgz --directory /opt/kafka --strip 1
    rm -f /tmp/kafka.tgz
    
    wget -q -O /tmp/kafka.tgz https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
    mkdir /opt/kafka
    tar -xf /tmp/kafka.tgz --directory /opt/kafka --strip 1
    rm -f /tmp/kafka.tgz
    sudo wget -P /opt/kafka/prometheus/ https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar
    wget https://raw.githubusercontent.com/prometheus/jmx_exporter/master/example_configs/kafka-2_0_0.yml
    cd kafka
    export KAFKA_OPTS="-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.12.0.jar=7071:/opt/kafka/prometheus/kafka-2_0_0.yml"
    export KAFKA_HEAP_OPTS="-Xmx1000M -Xms1000M"
    mv ../kafka-2_0_0.yml prometheus/
    /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    netstat -tlnpu |grep 70
    
    tcp6       0      0 :::7071                 :::*                    LISTEN      209455/java         
    udp6       0      0 :::40705                :::*      
    
    curl -s localhost_or_IP:7071 | grep -i kafka
    long list of metrics will be dumped on stdout                          -       
    
    0 讨论(0)
  • 2020-12-19 19:15

    From the looks of your question, you put the variables on their own lines, while the blog has them on the same line...

    e.g. This is how to start the Kafka server

    KAFKA_HEAP_OPTS='"-Xmx1000M -Xms1000M"' KAFKA_OPTS='-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.3.0.jar=7071:/opt/kafka/prometheus/kafka-0–8–2.yml' JMX_PORT=7081 /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties

    Otherwise, you need to export the variables so the sub-process will pick them up like you did in your previous question, which seemed to be working fine for exposing the metrics

    export KAFKA_HEAP_OPTS='"-Xmx1000M -Xms1000M"'
    export KAFKA_OPTS='-javaagent:/opt/kafka/prometheus/jmx_prometheus_javaagent-0.3.0.jar=7071:/opt/kafka/prometheus/kafka-0–8–2.yml'
    export JMX_PORT=7081
    /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    

    Note: The blog you linked to doesn't use JMX_PORT, but those ports cannot be the same as the exporter.

    I would also suggest at least downloading a version newer than 0.3 - https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/

    and using the configs for Kafka 2.0 - https://github.com/prometheus/jmx_exporter/blob/master/example_configs/kafka-2_0_0.yml


    Sidenote: netstat -tlnp | grep 707 would show you all them at once

    0 讨论(0)
提交回复
热议问题