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 तपासा, कोणतेही body यशस्वी मेट्रिक मानण्याऐवजी. प्रॉक्सी त्रुटी, एंडपॉइंट प्रमाणीकरण अयशस्वी आणि गहाळ MBean साठी वेगवेगळे बदल आवश्यक आहेत.

उपयोजन केवळ नेटिव्ह JMX कनेक्टर उघड करत असल्यास, त्या कनेक्टरशी सुसंगत मार्ग निवडा किंवा मंजूर HTTP व्यवस्थापन एंडपॉइंटची व्यवस्था करा. SSH स्थानिक फॉरवर्ड ही दुसरी वाहतूक रचना आहे, परंतु ते नेटिव्ह सेवेशी कनेक्शनच राहते; ते तिचे प्रोटोकॉल Jolokia च्या HTTP API मध्ये बदलत नाही.

संबंधित लेख