Агент Prometheus JMX Exporter java для Кафки не будет работать - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь настроить confluent kafka v5.4 и запустить экспортер JMX для prometheus. Я нашел этот блог о том, как получить эту настройку https://alex.dzyoba.com/blog/jmx-exporter/. Kafka настроен и работает просто отлично, но конечная точка на порте 8080 ничего не возвращает. Я попробовал почти все, как я вызываю javaagent в сценарии systemd, но, похоже, ничего не работает.

Description=Confluent Kafka Broker
After=network.target network-online.target remote-fs.target  zookeeper.service

[Service]
Type=forking
User=confluent
Group=confluent
Environment="KAFKA_JMX_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false -javaagent=/opt/prometheus/jmx_prometheus_javaagent.jar=8080:/opt/prometheus/config.yaml"
Environment=LOG_DIR=/var/log/confluent
ExecStart=/opt/confluent/confluent-5.4.0/bin/kafka-server-start -daemon /opt/confluent/confluent-5.4.0/etc/kafka/server.properties
ExecStop=/opt/confluent/confluent-5.4.0/bin/kafka-server-stop
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Любые идеи о том, как вызвать этого агента java в сценарии systemd, чтобы получить его правильно работать? Я пробовал несколько вариантов вызова ОПТС, но ни один из них не работал. Я попытался поместить команду -javaagent в KAFKA_OPTS. Чувствую, что я попробовал почти каждый вариант. Логи Kafka не дают никаких подсказок, и я не уверен, где еще можно посмотреть логи для этого типа проблемы.

ОС Centos 7 JMX экспортер 0.12.0 Java openJDK 11

Логи, которые я нашел, ничего не говорят мне о том, почему это не работает. Возможно я смотрю не те журналы.

Редактировать:

conflue+ 11578 47.4 13.8 8679808 536764 ?      Sl   11:59   0:35 java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true -Xlog:gc*:file=/var/log/confluent/kafkaServer-gc.log:time,tags:filecount=10,filesize=102400 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -javaagent=/opt/prometheus/jmx_prometheus_javaagent.jar=8080:/opt/prometheus/config.yaml -Dkafka.logs.dir=/var/log/confluent -Dlog4j.configuration=file:/etc/kafka/log4j.properties -cp /opt/confluent/confluent-5.4.0/bin/../ce-broker-plugins/build/libs/*:/opt/confluent/confluent-5.4.0/bin/../ce-broker-plugins/build/dependant-libs/*:/opt/confluent/confluent-5.4.0/bin/../ce-auth-providers/build/libs/*:/opt/confluent/confluent-5.4.0/bin/../ce-auth-providers/build/dependant-libs/*:/opt/confluent/confluent-5.4.0/bin/../ce-rest-server/build/libs/*:/opt/confluent/confluent-5.4.0/bin/../ce-rest-server/build/dependant-libs/*:/opt/confluent/confluent-5.4.0/bin/../ce-audit/build/libs/*:/opt/confluent/confluent-5.4.0/bin/../ce-audit/build/dependant-libs/*:/opt/confluent/confluent-5.4.0/bin/../share/java/kafka/*:/opt/confluent/confluent-5.4.0/bin/../share/java/confluent-metadata-service/*:/opt/confluent/confluent-5.4.0/bin/../share/java/rest-utils/*:/opt/confluent/confluent-5.4.0/bin/../share/java/confluent-common/*:/opt/confluent/confluent-5.4.0/bin/../share/java/confluent-security/schema-validator/*:/opt/confluent/confluent-5.4.0/bin/../support-metrics-client/build/dependant-libs-2.12.10/*:/opt/confluent/confluent-5.4.0/bin/../support-metrics-client/build/libs/*:/usr/share/java/support-metrics-client/*:/opt/confluent/confluent-5.4.0/bin/../support-metrics-fullcollector/build/dependant-libs-2.12.10/*:/opt/confluent/confluent-5.4.0/bin/../support-metrics-fullcollector/build/libs/*:/usr/share/java/support-metrics-fullcollector/* io.confluent.support.metrics.SupportedKafka /opt/confluent/confluent-5.4.0/etc/kafka/server.properties

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

понял это ExecStart=/opt/confluent/confluent-5.4.0/bin/kafka-server-start -daemon /opt/confluent/confluent-5.4.0/etc/kafka/server.properties

было неверно

ExecStart=/opt/confluent/confluent-5.4.0/bin/kafka-server-start -daemon /etc/kafka/server.properties

было правильно, даже если 2 являются символическими ссылками.

0 голосов
/ 30 апреля 2020

Убедитесь, что вы запускаете systemctl daemon-reload каждый раз, когда редактируете служебный файл.


Кроме того, я бы предложил не использовать LOG_DIR, удалить RollingFileAppender из log4j.properties, а затем позволить journalctl обрабатывать все ваши журналы из SystemD

...