Ako Java implementacija već izlaže ovlaštenu Jolokia završnu točku, klijent za nadzor može čitati JMX atribute kroz obični prednji HTTP proxy. Klijent govori HTTP s Jolokijom, koja izvodi JMX operaciju na strani aplikacije.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Ovaj put zahtijeva upravljačku završnu točku koja podržava HTTP. Usmjeravanje nepromijenjenog izvornog JMX klijenta na web proxy ne stvara ju.

Na primjer, čitanje zauzetosti heap-a JVM-a može se izraziti kao POST zahtjev:

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/

Završna točka i proxy su zamjenske vrijednosti. Ovo koristi operaciju čitanja; HTTP metoda POST nosi Jolokijin JSON zahtjev umjesto da podrazumijeva JMX upis. Jolokia podržava i GET zahtjeve za jednostavne operacije, dok JSON POST izbjegava dio URL escapinga potrebnog za složena MBean imena.

Za HTTPS upravljačku završnu točku prednji proxy mora dopustiti odredište tunela. TLS bi ipak trebao provjeriti monitor.example.net. Vlastito ime hosta i certifikat proxyja, ako sama proxy veza koristi TLS, opisuju odvojeni skok.

Držite dvije odluke o autentikaciji odvojeno. curl-ove opcije proxy autentikacije daju proxy račun. Autentikacija završne točke daje upravljački identitet, a Jolokijina politika određuje kojim MBean-ovima i operacijama može pristupiti. Dopuštenje za korištenje prednjeg proxyja nije dopuštenje za administraciju JVM-a.

Odgovor također ima dva sloja: HTTP transportni status i Jolokijin JSON rezultat operacije. Provjerite vraćene status i value umjesto da prihvatite bilo koje tijelo kao uspješnu metriku. Pogreške proxyja, neuspjesi autentikacije završne točke i nedostajući MBean-ovi zahtijevaju različite promjene.

Ako implementacija izlaže samo izvorni JMX konektor, odaberite put kompatibilan s tim konektorom ili osigurajte odobrenu HTTP upravljačku završnu točku. SSH lokalno prosljeđivanje drugi je transportni dizajn, ali ostaje veza s izvornom uslugom; ne mijenja njezin protokol u Jolokijin HTTP API.

Povezani članci