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 ব্যবহার করে, আলাদা hop বর্ণনা করে।
দুটি প্রমাণীকরণ সিদ্ধান্ত আলাদা রাখুন। curl-এর প্রক্সি-প্রমাণীকরণ বিকল্প প্রক্সি অ্যাকাউন্ট দেয়। এন্ডপয়েন্টের প্রমাণীকরণ ব্যবস্থাপনা পরিচয় দেয়, আর Jolokia-র নীতি নির্ধারণ করে কোন MBean ও অপারেশনে প্রবেশ করা যায়। ফরোয়ার্ড প্রক্সি ব্যবহারের অনুমতি JVM পরিচালনার অনুমতি নয়।
প্রতিক্রিয়ারও দুটি স্তর আছে: HTTP পরিবহন অবস্থা এবং Jolokia-র JSON অপারেশন ফলাফল। ফিরে আসা status ও value পরীক্ষা করুন, যেকোনো body-কে সফল মেট্রিক হিসেবে গ্রহণ না করে। প্রক্সি ত্রুটি, এন্ডপয়েন্ট প্রমাণীকরণ ব্যর্থতা ও অনুপস্থিত MBean ভিন্ন পরিবর্তন দাবি করে।
যদি ডিপ্লয়মেন্ট কেবল নেটিভ JMX সংযোগকারী প্রকাশ করে, তবে সেই সংযোগকারীর সাথে সামঞ্জস্যপূর্ণ পথ বেছে নিন বা অনুমোদিত HTTP ব্যবস্থাপনা এন্ডপয়েন্টের ব্যবস্থা করুন। SSH স্থানীয় ফরোয়ার্ড আরেকটি পরিবহন নকশা, কিন্তু এটি নেটিভ সেবার সাথে সংযোগই থাকে; এটি তার প্রোটোকলকে Jolokia-র HTTP API-তে বদলায় না।