I am trying to setup JMX exporter for Kafka running on a compute Instance (CentOS 7).
I downloaded the JMX Exporter jar and the Kafka yaml from the following location.
wget 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-0-8-2.yml
I set the below environment variables in the "/etc/systemd/system/kafka.service" file as below:
Environment="KAFKA_OPTS=$KAFKA_OPTS -javaagent:/home/kafka_user/jmx_kafka_exporter/jmx_prometheus_javaagent-0.12.0.jar=7070:/home/kafka_user/jmx_kafka_exporter/kafka-0-8-2.yml"
After performing a reload and restart; Kafka fails to start.
Would highly appreciate any suggestions to run JMX exporter for Kafka hosted on a compute instance.
Thank you in Advance,
sudo systemctl daemon-reload
sudo systemctl restart kafka
sudo systemctl status kafka
● kafka.service - Kafka Daemon
Loaded: loaded (/etc/systemd/system/kafka.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Thu 2020-03-26 06:05:52 UTC; 935ms ago
Process: 9842 ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties (code=exited, status=1/FAILURE)
Main PID: 9842 (code=exited, status=1/FAILURE)
Mar 26 06:05:51 kafka1.com systemd[1]: Unit kafka.service entered failed state.
Mar 26 06:05:51 kafka1.com systemd[1]: kafka.service failed.
Mar 26 06:05:52 kafka1.com systemd[1]: kafka.service holdoff time over, scheduling restart.
Mar 26 06:05:52 kafka1.com systemd[1]: Stopped Kafka Daemon.
Mar 26 06:05:52 kafka1.com systemd[1]: start request repeated too quickly for kafka.service
Mar 26 06:05:52 kafka1.com systemd[1]: Failed to start Kafka Daemon.
Mar 26 06:05:52 kafka1.com systemd[1]: Unit kafka.service entered failed state.
Mar 26 06:05:52 kafka1.com systemd[1]: kafka.service failed.
cat /etc/systemd/system/kafka.service
[Unit]
Description=Kafka Daemon
Requires=network.target
After=network.target
[Service]
LimitNOFILE=65536
Environment="JMX_PORT=5555"
Environment="KAFKA_OPTS=-javaagent:/home/kafka_user/jmx_kafka_exporter/jmx_prometheus_javaagent-0.12.0.jar=7070:/home/kafka_user/jmx_kafka_exporter/kafka-2_0_0.yml"
Type=simple
User=kafka
Group=kafka
UMask=0027
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Restart=on-failure
[Install]
WantedBy=multi-user.target
After i updated the path of "jmx_kafka_exporter" from "/home/kafka_user/jmx_kafka_exporter/" to "/opt/jmx_kafka_exporter/" in the "/etc/systemd/system/kafka.service" file.
Reload and restart of Kafka worked smoothly and i see the jmx_kafka_exporter shooting logs at the port 7070
netstat -ntlp | grep 70
tcp 0 kafka1:7070 0.0.0.0:* LISTEN 3536/java
tcp6 0 0 :::111 :::* LISTEN 1708/rpcbind
curl http://kafka1:7070/metrics
# HELP jvm_info JVM version info
# TYPE jvm_info gauge
jvm_info{version="1.8.0xx",vendor="XYZ",runtime="Java(TM) SE Runtime Environment",} 1.0
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 5.55
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
......
jvm_buffer_pool_used_buffers{pool="direct",} 4.0
jvm_buffer_pool_used_buffers{pool="mapped",} 0.0
# HELP jmx_config_reload_success_total Number of times configuration have successfully been reloaded.
# TYPE jmx_config_reload_success_total counter
jmx_config_reload_success_total 0.0
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.