Jolokia ਨਾਲ HTTP ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ JMX ਪੜ੍ਹੋ
ਜਦੋਂ ਮਾਨੀਟਰਿੰਗ ਕਲਾਇੰਟ ਨੂੰ ਫ਼ਾਰਵਰਡ ਵੈੱਬ ਪ੍ਰੌਕਸੀ ਲੰਘਣਾ ਪਵੇ ਤਾਂ Jolokia ਦਾ HTTP ਇੰਟਰਫ਼ੇਸ ਵਰਤੋ, ਪ੍ਰੌਕਸੀ ਅਤੇ ਪ੍ਰਬੰਧਨ ਲਈ ਵੱਖਰੇ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨਾਲ।
ਜੇ ਕੋਈ Java ਡਿਪਲੌਇਮੈਂਟ ਪਹਿਲਾਂ ਹੀ ਅਧਿਕਾਰਤ Jolokia ਐਂਡਪੌਇੰਟ ਦਿਖਾ ਰਿਹਾ ਹੈ, ਤਾਂ ਮਾਨੀਟਰਿੰਗ ਕਲਾਇੰਟ ਆਮ HTTP ਫ਼ਾਰਵਰਡ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ JMX ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪੜ੍ਹ ਸਕਦਾ ਹੈ। ਕਲਾਇੰਟ HTTP ਵਿੱਚ Jolokia ਨਾਲ ਗੱਲ ਕਰਦਾ ਹੈ, ਅਤੇ 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 ਬੇਨਤੀਆਂ ਵੀ ਸਮਰਥਿਤ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ JSON POST ਗੁੰਝਲਦਾਰ MBean ਨਾਵਾਂ ਲਈ ਲੋੜੀਂਦੀ URL escaping ਦਾ ਕੁਝ ਹਿੱਸਾ ਟਾਲਦਾ ਹੈ।
HTTPS ਪ੍ਰਬੰਧਨ ਐਂਡਪੌਇੰਟ ਲਈ ਫ਼ਾਰਵਰਡ ਪ੍ਰੌਕਸੀ ਨੂੰ ਸੰਬੰਧਿਤ ਟਨਲ ਟਿਕਾਣੇ ਦੀ ਆਗਿਆ ਦੇਣੀ ਚਾਹੀਦੀ ਹੈ। TLS ਨੂੰ ਅਜੇ ਵੀ monitor.example.net ਦੀ ਪੁਸ਼ਟੀ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਪ੍ਰੌਕਸੀ ਦਾ ਆਪਣਾ ਹੋਸਟਨਾਮ ਅਤੇ ਸਰਟੀਫਿਕੇਟ, ਜੇ ਪ੍ਰੌਕਸੀ ਕਨੈਕਸ਼ਨ ਆਪ ਹੀ TLS ਵਰਤਦਾ ਹੈ, ਇੱਕ ਵੱਖਰੀ ਛਾਲ ਦਰਸਾਉਂਦੇ ਹਨ।
ਦੋਵੇਂ ਪ੍ਰਮਾਣੀਕਰਨ ਫ਼ੈਸਲੇ ਵੱਖਰੇ ਰੱਖੋ। curl ਦੇ ਪ੍ਰੌਕਸੀ-ਪ੍ਰਮਾਣੀਕਰਨ ਵਿਕਲਪ ਪ੍ਰੌਕਸੀ ਖਾਤਾ ਦਿੰਦੇ ਹਨ। ਐਂਡਪੌਇੰਟ ਦਾ ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਬੰਧਨ ਪਛਾਣ ਦਿੰਦਾ ਹੈ, ਅਤੇ Jolokia ਦੀ ਨੀਤੀ ਤੈਅ ਕਰਦੀ ਹੈ ਕਿ ਕਿਹੜੇ MBean ਅਤੇ ਕਾਰਵਾਈਆਂ ਤੱਕ ਪਹੁੰਚ ਹੈ। ਫ਼ਾਰਵਰਡ ਪ੍ਰੌਕਸੀ ਵਰਤਣ ਦੀ ਆਗਿਆ JVM ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ।
ਜਵਾਬ ਦੇ ਵੀ ਦੋ ਪੱਧਰ ਹਨ: HTTP ਆਵਾਜਾਈ ਸਥਿਤੀ ਅਤੇ Jolokia ਦਾ JSON ਕਾਰਵਾਈ ਨਤੀਜਾ। ਵਾਪਸ ਆਏ status ਅਤੇ value ਦੀ ਜਾਂਚ ਕਰੋ, ਕਿਸੇ ਵੀ body ਨੂੰ ਸਫਲ ਮੈਟ੍ਰਿਕ ਮੰਨਣ ਦੀ ਥਾਂ। ਪ੍ਰੌਕਸੀ ਗਲਤੀਆਂ, ਐਂਡਪੌਇੰਟ ਪ੍ਰਮਾਣੀਕਰਨ ਅਸਫਲਤਾਵਾਂ ਅਤੇ ਗੁੰਮ MBean ਲਈ ਵੱਖਰੀਆਂ ਤਬਦੀਲੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ।
ਜੇ ਡਿਪਲੌਇਮੈਂਟ ਸਿਰਫ਼ ਨੇਟਿਵ JMX ਕਨੈਕਟਰ ਦਿਖਾਉਂਦਾ ਹੈ, ਤਾਂ ਉਸ ਕਨੈਕਟਰ ਨਾਲ ਅਨੁਕੂਲ ਰਾਹ ਚੁਣੋ ਜਾਂ ਮਨਜ਼ੂਰਸ਼ੁਦਾ HTTP ਪ੍ਰਬੰਧਨ ਐਂਡਪੌਇੰਟ ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ। SSH ਸਥਾਨਕ ਫ਼ਾਰਵਰਡਿੰਗ ਇੱਕ ਹੋਰ ਆਵਾਜਾਈ ਡਿਜ਼ਾਈਨ ਹੈ, ਪਰ ਇਹ ਨੇਟਿਵ ਸੇਵਾ ਨਾਲ ਕਨੈਕਸ਼ਨ ਹੀ ਰਹਿੰਦਾ ਹੈ; ਇਹ ਇਸਦੇ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ Jolokia ਦੇ HTTP API ਵਿੱਚ ਨਹੀਂ ਬਦਲਦਾ।