Kung ang isang deployment ng Java ay naglalantad na ng awtorisadong Jolokia endpoint, makakabasa ang isang monitoring client ng mga JMX attribute sa pamamagitan ng ordinaryong forward HTTP proxy. Nagsasalita ang client ng HTTP sa Jolokia, na nagsasagawa ng JMX operation sa panig ng application.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Kailangan ng rutang ito ng endpoint ng pamamahala na kayang gumawa ng HTTP. Ang pagturo ng hindi binagong native JMX client sa web proxy ay hindi lumilikha nito.

Halimbawa, ang pagbasa ng paggamit ng heap ng JVM ay maaaring ipahayag bilang POST request:

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/

Ang endpoint at proxy ay mga placeholder. Gumagamit ito ng operasyon ng pagbasa; ang HTTP method na POST ay nagdadala ng JSON request ng Jolokia sa halip na magpahiwatig ng JMX write. Sinusuportahan din ng Jolokia ang mga GET request para sa simpleng operasyon, habang iniiwasan ng JSON POST ang bahagi ng URL escaping na kailangan para sa kumplikadong MBean na pangalan.

Para sa HTTPS na endpoint ng pamamahala, kailangang pahintulutan ng forward proxy ang kaugnay na destinasyon ng tunnel. Dapat pa ring i-verify ng TLS ang monitor.example.net. Ang hostname at sertipiko ng proxy mismo, kung ang koneksyon ng proxy ay gumagamit ng TLS, ay naglalarawan ng hiwalay na hop.

Paghiwalayin ang dalawang desisyon sa pagpapatotoo. Ang mga opsyon sa proxy authentication ng curl ay nagbibigay ng proxy account. Ang pagpapatotoo ng endpoint ay nagbibigay ng pagkakakilanlan sa pamamahala, at tinutukoy ng patakaran ng Jolokia kung aling MBean at operasyon ang maaaring maabot. Ang pahintulot na gamitin ang forward proxy ay hindi pahintulot na pamahalaan ang JVM.

May dalawa ring layer ang tugon: ang katayuan ng transportasyon ng HTTP at ang resulta ng JSON operation ng Jolokia. Suriin ang ibinalik na status at value sa halip na tanggapin ang anumang body bilang matagumpay na metriko. Ang mga error sa proxy, pagkabigo sa pagpapatotoo sa endpoint, at nawawalang MBean ay nangangailangan ng iba't ibang pagbabago.

Kung ang deployment ay naglalantad lamang ng native JMX connector, pumili ng rutang tugma sa connector na iyon o maghanda ng aprubadong HTTP endpoint ng pamamahala. Ang lokal na pagpapasa ng SSH ay isa pang disenyo ng transportasyon, ngunit nananatili itong koneksyon sa native na serbisyo; hindi nito binabago ang protocol nito sa HTTP API ng Jolokia.

Kaugnay na mga artikulo