JMX:n lukeminen HTTP-välityspalvelimen kautta Jolokialla
Käytä Jolokian HTTP-rajapintaa, kun valvontaklientin on kuljettava edessä olevan verkkopalvelinvälityksen kautta, erillisillä välityspalvelimen ja hallinnan tunnuksilla.
Jos Java-julkaisu tarjoaa jo valtuutetun Jolokia-päätepisteen, valvontaklientti voi lukea JMX-määritteitä tavallisen edessä olevan HTTP-välityspalvelimen kautta. Klientti puhuu HTTP:tä Jolokialle, joka suorittaa JMX-toiminnon sovelluksen puolella.
monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean
Tämä reitti vaatii HTTP-kykyisen hallintapäätepisteen. Muuttamattoman natiivin JMX-klientin osoittaminen verkkopalvelinvälitykseen ei luo sellaista.
Esimerkiksi JVM:n keon käytön lukeminen voidaan ilmaista POST-pyyntönä:
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/
Päätepiste ja välityspalvelin ovat paikkamerkkejä. Tämä käyttää lukutoimintoa; HTTP-menetelmä POST kuljettaa Jolokian JSON-pyynnön sen sijaan, että se merkitsisi JMX-kirjoitusta. Jolokia tukee myös GET-pyyntöjä yksinkertaisiin toimintoihin, kun taas JSON POST välttää osan URL-koodauksesta, jota monimutkaiset MBean-nimet vaativat.
HTTPS-hallintapäätepisteelle edessä olevan välityspalvelimen on sallittava kyseinen tunnelikohde. TLS:n tulisi edelleen vahvistaa monitor.example.net. Välityspalvelimen oma isäntänimi ja varmenne, jos välityspalvelinyhteys itse käyttää TLS:ää, kuvaavat erillistä hyppyä.
Pidä kaksi todennusratkaisua erillään. curlin välityspalvelimen todennusasetukset antavat välityspalvelintilin. Päätepisteen todennus antaa hallinnan identiteetin, ja Jolokian käytäntö määrää, mihin MBeaneihin ja toimintoihin sillä on pääsy. Lupa käyttää edessä olevaa välityspalvelinta ei ole lupa hallita JVM:ää.
Myös vastauksessa on kaksi kerrosta: HTTP-siirtotila ja Jolokian JSON-toiminnon tulos. Tarkista palautetut status ja value sen sijaan, että hyväksyisit minkä tahansa rungon onnistuneeksi mittariksi. Välityspalvelinvirheet, päätepisteen todennusvirheet ja puuttuvat MBeanit vaativat erilaisia muutoksia.
Jos julkaisu tarjoaa vain natiivin JMX-liittimen, valitse kyseisen liittimen kanssa yhteensopiva reitti tai järjestä hyväksytty HTTP-hallintapäätepiste. SSH-paikallinen edelleenohjaus on toinen siirtoratkaisu, mutta se pysyy yhteytenä natiiviin palveluun; se ei muuta sen protokollaa Jolokian HTTP-API:ksi.