Читање на JMX преку HTTP прокси со Jolokia
Користете го HTTP интерфејсот на Jolokia кога клиент за следење мора да помине низ напреден веб-прокси, со одделни акредитиви за прокси и за управување.
Ако распоредувањето на Java веќе изложува овластена крајна точка на Jolokia, клиент за следење може да чита JMX атрибути преку обичен напреден HTTP прокси. Клиентот зборува HTTP со Jolokia, која ја извршува JMX операцијата на страната на апликацијата.
monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean
Оваа патека бара крајна точка за управување способна за HTTP. Насочување на непроменет вграден JMX клиент кон веб-проксито не создава таква.
На пример, читање на користењето на heap-от на 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 escaping-от потребен за сложени имиња на MBean.
За HTTPS крајна точка за управување, напредното прокси мора да ја дозволи соодветната дестинација на тунелот. TLS сепак треба да го проверува monitor.example.net. Сопственото име на домаќин и сертификат на проксито, ако самата прокси врска користи TLS, опишуваат одделен скок.
Држете ги двете одлуки за автентикација одделно. Опциите за прокси автентикација на curl обезбедуваат прокси сметка. Автентикацијата на крајната точка го обезбедува идентитетот за управување, а политиката на Jolokia одредува до кои MBean-и и операции може да се пристапи. Дозволата за користење на напредното прокси не е дозвола за администрирање на JVM.
Одговорот исто така има два слоја: HTTP транспорт статус и резултат од JSON операцијата на Jolokia. Проверете ги вратените status и value наместо да прифатите било кое тело како успешна метрика. Грешките на проксито, неуспесите при автентикација на крајната точка и MBean-ите што недостасуваат бараат различни промени.
Ако распоредувањето изложува само вграден JMX конектор, изберете патека компатибилна со тој конектор или обезбедете одобрена HTTP крајна точка за управување. Локалното пренасочување преку SSH е друг транспорт дизајн, но останува врска со вградената услуга; не го менува нејзиниот протокол во HTTP API на Jolokia.