как получить дамп потока java-приложения в контейнере без дистрибутива, работающем на kubernetes?
В моем кластере запущено много Java-приложений, я хотел бы получить дамп потока для нескольких микросервисов. Но поскольку это образы без дистрибутива, я думал об эфемерных контейнерах, но не уверен, можно ли к таким контейнерам прикрепить объем. Кто-нибудь может помочь?
С уважением, Анджани
2 ответа
Проверьте конечные точки привода Spring Boot https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints
Существует выделенная конечная точка для дампов потоков. Обратите внимание, что по умолчанию он возвращает пользовательский формат JSON, но вы можете запросить текстовый формат по умолчанию.
curl 'http://localhost:8080/actuator/threaddump' -i -X GET \
-H 'Accept: text/plain'
Подробнее см. https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/#threaddump.retrieving-text
Используете ли вы Spring Boot для создания этих микросервисов? Если да, то с помощью Spring Boot Admin вы можете получать дампы потоков, дампы кучи и отслеживать свои службы из одного окна.
Пожалуйста, проверьте здесь , чтобы получить более подробную информацию об этом.