Ha egy Java-telepítés már közzétesz egy engedélyezett Jolokia végpontot, egy monitorozó kliens egy közönséges előremenő HTTP-proxyn keresztül olvashat JMX-attribútumokat. A kliens HTTP-n beszél a Jolokiával, amely az alkalmazás oldalán végzi el a JMX-műveletet.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Ehhez az útvonalhoz HTTP-képes kezelési végpont kell. Egy változatlan natív JMX-kliens webproxyra irányítása nem hoz létre ilyet.

Például a JVM heap-használatának olvasása POST-kérésként fejezhető ki:

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/

A végpont és a proxy helyőrzők. Ez olvasási műveletet használ; a HTTP POST metódus a Jolokia JSON-kérését továbbítja, nem pedig JMX-írásra utal. A Jolokia egyszerű műveletekhez GET-kéréseket is támogat, míg a JSON POST elkerüli az összetett MBean-nevekhez szükséges URL-escape egy részét.

HTTPS kezelési végpont esetén az előremenő proxynak engedélyeznie kell az adott alagút-célpontot. A TLS-nek továbbra is ellenőriznie kell a(z) monitor.example.net értéket. A proxy saját hosztneve és tanúsítványa, ha maga a proxykapcsolat TLS-t használ, külön ugrást ír le.

Tartsa külön a két hitelesítési döntést. A curl proxy-hitelesítési beállításai proxyfiókot adnak. A végpont hitelesítése adja a kezelési identitást, és a Jolokia szabályzata határozza meg, mely MBeanekhez és műveletekhez lehet hozzáférni. Az előremenő proxy használatára vonatkozó engedély nem engedély a JVM igazgatására.

A válasznak is két rétege van: a HTTP-szállítási állapot és a Jolokia JSON-műveletének eredménye. Vizsgálja meg a visszakapott status és value értékeket, ahelyett hogy bármely törzset sikeres mérőszámként fogadna el. A proxyhibák, a végpont hitelesítési hibái és a hiányzó MBeanek eltérő változtatásokat igényelnek.

Ha a telepítés csak natív JMX-összekötőt tesz elérhetővé, válasszon ahhoz illeszkedő útvonalat, vagy alakítson ki jóváhagyott HTTP kezelési végpontot. Az SSH helyi továbbítás más szállítási kialakítás, de továbbra is kapcsolat a natív szolgáltatáshoz; nem alakítja annak protokollját a Jolokia HTTP API-jává.

Kapcsolódó cikkek