Se Java-deplojo jam elmontras rajtigitan finpunkton de Jolokia, monitorada kliento povas legi JMX-atributojn tra ordinara antaŭa HTTP-prokurilo. La kliento parolas HTTP kun Jolokia, kiu plenumas la JMX-operacion ĉe la aplikaĵa flanko.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Ĉi tiu vojo bezonas administran finpunkton kapablan je HTTP. Direkti neŝanĝitan denaskan JMX-klienton al la retprokurilo ne kreas unu.

Ekzemple, legado de la heap-uzado de la JVM esprimeblas kiel POST-peto:

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/

La finpunkto kaj prokurilo estas anstataŭigiloj. Ĉi tio uzas legoperacion; la HTTP-metodo POST portas la JSON-peton de Jolokia anstataŭ implici JMX-skribon. Jolokia ankaŭ subtenas GET-petojn por simplaj operacioj, dum JSON POST evitas parton de la URL-escaping necesa por kompleksaj MBean-nomoj.

Por HTTPS-administra finpunkto, la antaŭa prokurilo devas permesi la koncernan tunelan celon. TLS ankoraŭ devus kontroli monitor.example.net. La propra gastigantnomo kaj atestilo de la prokurilo, se la prokurila konekto mem uzas TLS, priskribas apartan salton.

Tenu la du aŭtentigajn decidojn aparte. La prokurilaj aŭtentigaj opcioj de curl provizas prokurilan konton. La aŭtentigo de la finpunkto provizas la administran identecon, kaj la politiko de Jolokia determinas al kiuj MBeans kaj operacioj ĝi povas aliri. Permeso uzi la antaŭan prokurilon ne estas permeso administri la JVM.

Ankaŭ la respondo havas du tavolojn: HTTP-transporta stato kaj la JSON-operacia rezulto de Jolokia. Kontrolu la redonitajn status kaj value anstataŭ akcepti ajnan korpon kiel sukcesan metrikon. Prokurilaj eraroj, aŭtentigaj malsukcesoj de la finpunkto kaj mankantaj MBeans postulas malsamajn ŝanĝojn.

Se la deplojo elmontras nur denaskan JMX-konektilon, elektu vojon kongruan kun tiu konektilo aŭ aranĝu aprobitan HTTP-administran finpunkton. Loka SSH-plusendo estas alia transporta dezajno, sed ĝi restas konekto al la denaska servo; ĝi ne ŝanĝas ĝian protokolon en la HTTP-API de Jolokia.

Rilataj artikoloj