Ако Java имплементација већ излаже овлашћену Jolokia крајњу тачку, клијент за надзор може да чита JMX атрибуте кроз обичан напредни HTTP прокси. Клијент говори HTTP са Jolokijom, која изводи 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 носи Jolokijin JSON захтев уместо да подразумева JMX упис. Jolokia подржава и GET захтеве за једноставне операције, док JSON POST избегава део URL escaping-а потребног за сложена MBean имена.

За HTTPS управљачку крајњу тачку напредни прокси мора да дозволи одредиште тунела. TLS би ипак требало да провери monitor.example.net. Сопствено име хоста и сертификат проксија, ако сама прокси веза користи TLS, описују одвојен скок.

Држите две одлуке о аутентификацији одвојено. curl-ове опције proxy аутентификације дају proxy рачун. Аутентификација крајње тачке даје управљачки идентитет, а Jolokijina политика одређује којима MBean-овима и операцијама може да приступи. Дозвола за коришћење напредног проксија није дозвола за администрацију JVM-а.

Одговор такође има два слоја: HTTP транспортни статус и Jolokijin JSON резултат операције. Проверите враћене status и value уместо да прихватите било које тело као успешну метрику. Грешке проксија, неуспеси аутентификације крајње тачке и недостајући MBean-ови захтевају различите промене.

Ако имплементација излаже само изворни JMX конектор, одаберите путању компатибилну са тим конектором или обезбедите одобрену HTTP управљачку крајњу тачку. SSH локално прослеђивање је други транспортни дизајн, али остаје веза са изворном услугом; не мења њен протокол у Jolokijin HTTP API.

Повезани чланци