Jolokia ഉപയോഗിച്ച് HTTP പ്രോക്സിയിലൂടെ JMX വായിക്കുക
നിരീക്ഷണ ക്ലയന്റ് ഫോർവേഡ് വെബ് പ്രോക്സി കടക്കേണ്ടിവരുമ്പോൾ Jolokia-യുടെ HTTP ഇന്റർഫേസ് ഉപയോഗിക്കുക, പ്രോക്സിക്കും മാനേജ്മെന്റിനും വെവ്വേറെ ക്രെഡൻഷ്യലുകളോടെ.
ഒരു Java വിന്യാസം ഇതിനകം അംഗീകൃത Jolokia എൻഡ്പോയിന്റ് വെളിപ്പെടുത്തുന്നുണ്ടെങ്കിൽ, ഒരു നിരീക്ഷണ ക്ലയന്റിന് സാധാരണ HTTP ഫോർവേഡ് പ്രോക്സിയിലൂടെ JMX ആട്രിബ്യൂട്ടുകൾ വായിക്കാം. ക്ലയന്റ് Jolokia-യുമായി HTTP-യിൽ സംസാരിക്കുന്നു, Jolokia അപ്ലിക്കേഷൻ വശത്ത് JMX പ്രവർത്തനം നിർവഹിക്കുന്നു.
monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean
ഈ വഴിക്ക് HTTP പിന്തുണയുള്ള മാനേജ്മെന്റ് എൻഡ്പോയിന്റ് ആവശ്യമാണ്. മാറ്റമില്ലാത്ത നേറ്റീവ് JMX ക്ലയന്റിനെ വെബ് പ്രോക്സിയിലേക്ക് ചൂണ്ടിയാൽ അത് ഉണ്ടാകില്ല.
ഉദാഹരണത്തിന്, JVM-ന്റെ heap ഉപയോഗം വായിക്കുന്നത് ഒരു POST അഭ്യർത്ഥനയായി പ്രകടിപ്പിക്കാം:
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/
എൻഡ്പോയിന്റും പ്രോക്സിയും പ്ലേസ്ഹോൾഡറുകളാണ്. ഇത് ഒരു വായനാ പ്രവർത്തനം ഉപയോഗിക്കുന്നു; HTTP രീതി POST JMX എഴുത്ത് സൂചിപ്പിക്കുന്നതിനുപകരം Jolokia-യുടെ JSON അഭ്യർത്ഥന വഹിക്കുന്നു. ലളിതമായ പ്രവർത്തനങ്ങൾക്ക് Jolokia GET അഭ്യർത്ഥനകളും പിന്തുണയ്ക്കുന്നു, അതേസമയം സങ്കീർണ്ണമായ MBean നാമങ്ങൾക്ക് ആവശ്യമായ URL എസ്കേപ്പിംഗിന്റെ ഒരു ഭാഗം JSON POST ഒഴിവാക്കുന്നു.
HTTPS മാനേജ്മെന്റ് എൻഡ്പോയിന്റിന് ഫോർവേഡ് പ്രോക്സി ബന്ധപ്പെട്ട ടണൽ ലക്ഷ്യസ്ഥാനം അനുവദിക്കണം. TLS ഇപ്പോഴും monitor.example.net പരിശോധിക്കണം. പ്രോക്സിയുടെ സ്വന്തം ഹോസ്റ്റ്നാമും സർട്ടിഫിക്കറ്റും, പ്രോക്സി കണക്ഷൻ തന്നെ TLS ഉപയോഗിക്കുന്നുവെങ്കിൽ, വേറിട്ടൊരു ഹോപ്പ് വിവരിക്കുന്നു.
രണ്ട് ഓതന്റിക്കേഷൻ തീരുമാനങ്ങളും വേർതിരിച്ച് നിർത്തുക. curl-ന്റെ പ്രോക്സി-ഓതന്റിക്കേഷൻ ഓപ്ഷനുകൾ ഒരു പ്രോക്സി അക്കൗണ്ട് നൽകുന്നു. എൻഡ്പോയിന്റിന്റെ ഓതന്റിക്കേഷൻ മാനേജ്മെന്റ് ഐഡന്റിറ്റി നൽകുന്നു, Jolokia-യുടെ നയം ഏത് MBean-കളിലേക്കും പ്രവർത്തനങ്ങളിലേക്കും പ്രവേശനമുണ്ടെന്ന് നിർണ്ണയിക്കുന്നു. ഫോർവേഡ് പ്രോക്സി ഉപയോഗിക്കാനുള്ള അനുമതി JVM കൈകാര്യം ചെയ്യാനുള്ള അനുമതിയല്ല.
പ്രതികരണത്തിനും രണ്ട് പാളികളുണ്ട്: HTTP ഗതാഗത നിലയും Jolokia-യുടെ JSON പ്രവർത്തന ഫലവും. മടങ്ങിവന്ന status, value എന്നിവ പരിശോധിക്കുക, ഏതെങ്കിലും ബോഡി വിജയകരമായ മെട്രിക് ആയി സ്വീകരിക്കാതെ. പ്രോക്സി പിശകുകൾ, എൻഡ്പോയിന്റ് ഓതന്റിക്കേഷൻ പരാജയങ്ങൾ, കാണാത്ത MBean-കൾ എന്നിവയ്ക്ക് വ്യത്യസ്ത മാറ്റങ്ങൾ ആവശ്യമാണ്.
വിന്യാസം നേറ്റീവ് JMX കണക്ടർ മാത്രം വെളിപ്പെടുത്തുന്നുവെങ്കിൽ, ആ കണക്ടറുമായി പൊരുത്തപ്പെടുന്ന വഴി തിരഞ്ഞെടുക്കുകയോ അംഗീകൃത HTTP മാനേജ്മെന്റ് എൻഡ്പോയിന്റ് ക്രമീകരിക്കുകയോ ചെയ്യുക. SSH ലോക്കൽ ഫോർവേഡിംഗ് മറ്റൊരു ഗതാഗത രൂപകൽപ്പനയാണ്, പക്ഷേ അത് നേറ്റീവ് സേവനത്തിലേക്കുള്ള കണക്ഷനായി തുടരുന്നു; അതിന്റെ പ്രോട്ടോക്കോളിനെ Jolokia-യുടെ HTTP API ആക്കി മാറ്റുന്നില്ല.