Чытанне JMX праз HTTP-проксі з дапамогай Jolokia
Выкарыстоўвайце HTTP-інтэрфейс Jolokia, калі кліент маніторынгу павінен прайсці праз прамы вэб-проксі, з асобнымі ўліковымі данымі проксі і кіравання.
Калі разгортванне Java ужо прадстаўляе аўтарызаваную канчатковую кропку Jolokia, кліент маніторынгу можа чытаць атрыбуты JMX праз звычайны прамы HTTP-проксі. Кліент размаўляе з Jolokia па HTTP, а Jolokia выконвае аперацыю JMX на баку праграмы.
monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean
Гэты шлях патрабуе канчатковай кропкі кіравання з падтрымкай HTTP. Напрамкі нязменнага ўбудаванага кліента JMX на вэб-проксі не ствараюць яе.
Напрыклад, чытанне выкарыстання купы JVM можна выразіць як POST-запыт:
curl --proxy http://proxy.example.net:8080 \
--header 'Content-Type: application/json' \
--data '{"type":"read","mbean":"java.lang:type=Memory","attribute":"HeapMemoryUsage","path":"used"}' \
https://monitor.example.net/jolokia/
Канчатковая кропка і проксі — гэта запаўняльнікі. Тут выкарыстоўваецца аперацыя чытання; метад HTTP POST пераносіць JSON-запыт Jolokia, а не азначае запіс JMX. Jolokia таксама падтрымлівае GET-запыты для простых аперацый, а JSON POST пазбягае часткі экранавання URL, патрэбнага для складаных імён MBean.
Для канчатковай кропкі кіравання HTTPS прамы проксі павінен дазваляць адпаведны прызначаны вузел тунеля. TLS усё яшчэ павінен правяраць monitor.example.net. Уласнае імя хоста і сертыфікат проксі, калі само злучэнне з проксі выкарыстоўвае TLS, апісваюць асобны пераход.
Трымайце два рашэнні аўтэнтыфікацыі асобна. Опцыі аўтэнтыфікацыі проксі ў curl даюць уліковы запіс проксі. Аўтэнтыфікацыя канчатковай кропкі дае ідэнтычнасць кіравання, а палітыка Jolokia вызначае, да якіх MBean і аперацый ёсць доступ. Дазвол на выкарыстанне прамога проксі не з'яўляецца дазволам на адміністраванне JVM.
Адказ таксама мае два ўзроўні: стан транспарту HTTP і вынік JSON-аперацыі Jolokia. Правярайце вернутыя status і value, а не прымайце любое цела за паспяховую метрыку. Памылкі проксі, збоі аўтэнтыфікацыі канчатковай кропкі і адсутныя MBean патрабуюць розных змен.
Калі разгортванне прадстаўляе толькі ўбудаваны канэктар JMX, выберыце маршрут, сумяшчальны з гэтым канэктарам, або арганізуйце зацверджаную канчатковую кропку кіравання HTTP. Лакальнае перанакіраванне SSH — гэта іншы дызайн транспарту, але яно застаецца злучэннем з убудаванай службай; яно не змяняе яго пратакол на HTTP API Jolokia.