Jei Java diegimas jau atskleidžia autorizuotą Jolokia pabaigos tašką, stebėjimo klientas gali skaityti JMX atributus per įprastą priešakinį HTTP tarpinį serverį. Klientas kalba HTTP su Jolokia, kuri atlieka JMX operaciją programos pusėje.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Šiam keliui reikia HTTP palaikančio valdymo pabaigos taško. Nepakeisto vietinio JMX kliento nukreipimas į žiniatinklio tarpinį serverį jo nesukuria.

Pavyzdžiui, JVM krūvos naudojimo skaitymas gali būti išreikštas POST užklausa:

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/

Pabaigos taškas ir tarpinis serveris yra vietos žymekliai. Tai naudoja skaitymo operaciją; HTTP metodas POST perduoda Jolokia JSON užklausą, o ne reiškia JMX rašymą. Jolokia taip pat palaiko GET užklausas paprastoms operacijoms, o JSON POST išvengia dalies URL escape, reikalingo sudėtingiems MBean pavadinimams.

HTTPS valdymo pabaigos taškui priešakinis tarpinis serveris turi leisti atitinkamą tunelio paskirties vietą. TLS vis tiek turėtų tikrinti monitor.example.net. Paties tarpinio serverio pagrindinio kompiuterio vardas ir sertifikatas, jei pats tarpinio serverio ryšys naudoja TLS, apibūdina atskirą šuolį.

Laikykite du autentifikavimo sprendimus atskirai. curl tarpinio serverio autentifikavimo parinktys suteikia tarpinio serverio paskyrą. Pabaigos taško autentifikavimas suteikia valdymo tapatybę, o Jolokia politika nustato, kuriuos MBean ir operacijas galima pasiekti. Leidimas naudoti priešakinį tarpinį serverį nėra leidimas administruoti JVM.

Atsakymas taip pat turi du sluoksnius: HTTP transporto būseną ir Jolokia JSON operacijos rezultatą. Tikrinkite grąžintus status ir value, o ne priimkite bet kokį turinį kaip sėkmingą metriką. Tarpinio serverio klaidos, pabaigos taško autentifikavimo triktys ir trūkstami MBean reikalauja skirtingų pakeitimų.

Jei diegimas atskleidžia tik vietinį JMX jungtį, pasirinkite su ja suderinamą kelią arba sutvarkykite patvirtintą HTTP valdymo pabaigos tašką. SSH vietinis perdavimas yra kitas transporto sprendimas, tačiau jis lieka ryšiu su vietine paslauga; jis nekeičia jos protokolo į Jolokia HTTP API.

Susiję straipsniai