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 ಎಸ್ಕೇಪಿಂಗ್ನ ಒಂದು ಭಾಗವನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
HTTPS ನಿರ್ವಹಣಾ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಫಾರ್ವರ್ಡ್ ಪ್ರಾಕ್ಸಿ ಸಂಬಂಧಿತ ಟನಲ್ ಗಮ್ಯಸ್ಥಾನವನ್ನು ಅನುಮತಿಸಬೇಕು. TLS ಇನ್ನೂ monitor.example.net ಪರಿಶೀಲಿಸಬೇಕು. ಪ್ರಾಕ್ಸಿಯ ಸ್ವಂತ ಹೋಸ್ಟ್ನೇಮ್ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ, ಪ್ರಾಕ್ಸಿ ಸಂಪರ್ಕವೇ TLS ಬಳಸಿದರೆ, ಪ್ರತ್ಯೇಕ ಹಾಪ್ ಅನ್ನು ವಿವರಿಸುತ್ತವೆ.
ಎರಡು ದೃಢೀಕರಣ ನಿರ್ಧಾರಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ. curl ನ ಪ್ರಾಕ್ಸಿ-ದೃಢೀಕರಣ ಆಯ್ಕೆಗಳು ಪ್ರಾಕ್ಸಿ ಖಾತೆಯನ್ನು ಒದಗಿಸುತ್ತವೆ. ಎಂಡ್ಪಾಯಿಂಟ್ನ ದೃಢೀಕರಣವು ನಿರ್ವಹಣಾ ಗುರುತನ್ನು ಒದಗಿಸುತ್ತದೆ, ಮತ್ತು Jolokia ನ ನೀತಿ ಯಾವ MBean ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಪ್ರವೇಶವಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಫಾರ್ವರ್ಡ್ ಪ್ರಾಕ್ಸಿ ಬಳಸುವ ಅನುಮತಿ JVM ನಿರ್ವಹಿಸುವ ಅನುಮತಿಯಲ್ಲ.
ಪ್ರತಿಕ್ರಿಯೆಯೂ ಎರಡು ಪದರಗಳನ್ನು ಹೊಂದಿದೆ: HTTP ಸಾಗಣೆ ಸ್ಥಿತಿ ಮತ್ತು Jolokia ನ JSON ಕಾರ್ಯಾಚರಣೆಯ ಫಲಿತಾಂಶ. ಹಿಂತಿರುಗಿಸಿದ status ಮತ್ತು value ಪರಿಶೀಲಿಸಿ, ಯಾವುದೇ ಬಾಡಿಯನ್ನು ಯಶಸ್ವಿ ಮಾಪನವೆಂದು ಸ್ವೀಕರಿಸುವ ಬದಲು. ಪ್ರಾಕ್ಸಿ ದೋಷಗಳು, ಎಂಡ್ಪಾಯಿಂಟ್ ದೃಢೀಕರಣ ವೈಫಲ್ಯಗಳು ಮತ್ತು ಕಾಣೆಯಾದ MBean ಗಳಿಗೆ ವಿಭಿನ್ನ ಬದಲಾವಣೆಗಳು ಬೇಕು.
ನಿಯೋಜನೆ ಕೇವಲ ಸ್ಥಳೀಯ JMX ಕನೆಕ್ಟರ್ ಬಹಿರಂಗಪಡಿಸಿದರೆ, ಆ ಕನೆಕ್ಟರ್ಗೆ ಹೊಂದುವ ಮಾರ್ಗವನ್ನು ಆಯ್ಕೆಮಾಡಿ ಅಥವಾ ಅನುಮೋದಿತ HTTP ನಿರ್ವಹಣಾ ಎಂಡ್ಪಾಯಿಂಟ್ ವ್ಯವಸ್ಥೆ ಮಾಡಿ. SSH ಸ್ಥಳೀಯ ಫಾರ್ವರ್ಡ್ ಇನ್ನೊಂದು ಸಾಗಣೆ ವಿನ್ಯಾಸ, ಆದರೆ ಅದು ಸ್ಥಳೀಯ ಸೇವೆಗೆ ಸಂಪರ್ಕವಾಗಿಯೇ ಉಳಿಯುತ್ತದೆ; ಅದರ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು Jolokia ನ HTTP API ಆಗಿ ಬದಲಾಯಿಸುವುದಿಲ್ಲ.