Я слышал, что если я использую Kafka Consumer на основе Java, я могу предоставить метрики JMX из него, добавив некоторые параметры (слышал это здесь и некоторые другие сообщения)
Мой kafka Consumer запускается внутри Docker.
Вот четыре параметра, которые я добавляю:
-Dcom.sun.management.jmxremote.port=1100
-Dom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.local.only=false
Я добавляю его в точку входа в свой файл докеров. Но моя jConsole не может к нему подключиться.
Вот мой файл Dockerfile и моя служба, связанная с docker-compose:
FROM openjdk:8u181-jre
ADD ./app /app
ENTRYPOINT [ "java", "-jar", "-Dcom.sun.management.jmxremote.port=1100", "-Dcom.sun.management.jmxremote.authenticate=false", "-Dcom.sun.management.jmxremote.ssl=false", "-Dcom.sun.management.jmxremote.local.only=false", "/app/KafkaConsumer.jar" ] jk_cons:
build: ./micro_services/jk_Cons
ports:
- "1100:1100"
volumes:
- /neito/shared/linux_shared/historian/logging:/appМожет ли кто-нибудь рассказать мне о способах раскрытия показателей потребителей кафки через JMX?
Хорошего дня
Вам нужно добавить EXPOSE 1100 в Dockerfile, но куда добавляется jmxremote.port=9090? Похоже, вы используете порт 1100 в ENTRYPOINT
@ cricket_007 порт 9090 был примером, приведенным в связанном сообщении, в моем я выставляю порт 1100 в файле компоновки докеров. И в точке входа я эффективно использую "-Dcom.sun.management.jmxremote.port=1100",. Считаете ли вы, что использование EXPOSE 1100 в Dockerfile не является избыточным? Поскольку я уже выставляю его в докере, я все равно попробую, спасибо :))
@RobinMoffatt Меня всегда интересовало, но как изменение моего изображения Kafka Broker поможет получить показатели потребителей? Потому что я уже легко получаю метрики JMX моего Kafka Broker благодаря wurstmeister / kafka образ Docker. Моя цель - получить потребительские показатели
Файл набора - это порт переадресации, не говоря уже о том, чтобы выставлять его из самого изображения. А что вы имеете в виду эффективно? В вопросе вы указали порт, отличный от 1100. Примечание: проблема здесь на самом деле не связана с Kafka, поскольку эти проблемы относятся ко всем приложениям Java в Docker.
Это сработало, добавив EXPOSE 1100 в Dockerfile. Спасибо за понимание.




Я могу опубликовать, как это сделать, используя образ докера Confluent Kafka, если это поможет?