Dacă o implementare Java expune deja un punct final Jolokia autorizat, un client de monitorizare poate citi atribute JMX printr-un proxy HTTP frontal obișnuit. Clientul vorbește HTTP cu Jolokia, care efectuează operația JMX pe partea aplicației.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Această rută necesită un punct final de administrare compatibil HTTP. Direcționarea unui client JMX nativ neschimbat către proxy-ul web nu creează unul.

De exemplu, o citire a utilizării heap-ului JVM poate fi exprimată ca o cerere 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/

Punctul final și proxy-ul sunt substituenți. Aceasta folosește o operație de citire; metoda HTTP POST transportă cererea JSON a Jolokia în loc să implice o scriere JMX. Jolokia acceptă și cereri GET pentru operații simple, iar JSON POST evită o parte din escaparea URL necesară pentru nume MBean complexe.

Pentru un punct final de administrare HTTPS, proxy-ul frontal trebuie să permită destinația de tunel relevantă. TLS ar trebui să verifice în continuare monitor.example.net. Numele de gazdă și certificatul proxy-ului însuși, dacă conexiunea proxy folosește TLS, descriu un salt separat.

Păstrați separate cele două decizii de autentificare. Opțiunile de autentificare proxy ale curl furnizează un cont proxy. Autentificarea punctului final furnizează identitatea de administrare, iar politica Jolokia determină la ce MBean-uri și operații se poate accesa. Permisiunea de a folosi proxy-ul frontal nu este permisiunea de a administra JVM-ul.

Răspunsul are și el două straturi: starea transportului HTTP și rezultatul operației JSON a Jolokia. Examinați status și value returnate în loc să acceptați orice corp ca metrică reușită. Erorile de proxy, eșecurile de autentificare la punctul final și MBean-urile lipsă necesită modificări diferite.

Dacă implementarea expune doar un conector JMX nativ, alegeți o rută compatibilă cu acel conector sau pregătiți un punct final de administrare HTTP aprobat. Redirecționarea locală SSH este un alt design de transport, dar rămâne o conexiune la serviciul nativ; nu îi schimbă protocolul în API-ul HTTP al Jolokia.

Articole similare