এই ডকুমেন্টটি Private Cloud-এর জন্য Apigee Edge-এর অন-প্রিমিস ডিপ্লয়মেন্ট দ্বারা সমর্থিত কম্পোনেন্টগুলির মনিটরিং টেকনিক বর্ণনা করে।
এক নজরে
Edge-এ পরিষেবা সম্পর্কে বিবরণ পাওয়ার পাশাপাশি সেগুলির স্ট্যাটাস চেক করার জন্য একাধিক পদ্ধতি কাজ করে। নিচের সারণীতে প্রতিটি উপযুক্ত পরিষেবার উপর আপনি যে ধরনের চেক করতে পারবেন তার তালিকা দেওয়া হল:
| Mgmt API | |||||||
| কম্পোনেন্ট | মেমরির ব্যবহার [JMX*] | পরিষেবা চেক | ব্যবহারকারী/সংস্থা/ ডেপ্লয়মেন্ট স্ট্যাটাস | axstatus | ডেটাবেস চেক | apigee-service স্ট্যাটাস |
apigee-monit** |
| ম্যানেজমেন্ট সার্ভার | |||||||
| মেসেজ প্রসেসর | |||||||
| রাউটার | |||||||
| Qpid | |||||||
| Postgres | |||||||
| আরও তথ্য | আরও তথ্য | আরও তথ্য | আরও তথ্য | আরও তথ্য | আরও তথ্য | আরও তথ্য | |
|
* JMX ব্যবহার করার আগে, আপনাকে অবশ্যই এটি চালু করতে হবে, যেমন JMX চালু করুন নিবন্ধে বর্ণনা করা হয়েছে। ** |
|||||||
পোর্ট ও কনফিগারেশন ফাইল মনিটর করা
প্রতিটি কম্পোনেন্ট Java Management Extensions (JMX) এবং ম্যানেজমেন্ট API মনিটরিং কলকে বিভিন্ন পোর্টে সাপোর্ট করে। নিচের টেবিলে প্রতিটি ধরনের সার্ভারের জন্য JMX ও ম্যানেজমেন্ট API পোর্ট এবং কনফিগারেশন ফাইলের লোকেশন তালিকাভুক্ত করা আছে:
| কম্পোনেন্ট | JMX পোর্ট | ম্যানেজমেন্ট API পোর্ট | কনফিগারেশন ফাইলের লোকেশন |
|---|---|---|---|
| ম্যানেজমেন্ট সার্ভার | 1099 | 8080 | $APIGEE_ROOT/customer/application/management-server.properties |
| মেসেজ প্রসেসর | 1101 | 8082 | $APIGEE_ROOT/customer/application/message-processor.properties |
| রাউটার | 1100 | 8081 | $APIGEE_ROOT/customer/application/router.properties |
| Qpid | 1102 | 8083 | $APIGEE_ROOT/customer/application/qpid-server.properties |
| Postgres | 1103 | 8084 | $APIGEE_ROOT/customer/application/postgres-server.properties |
কম্পোনেন্ট মনিটর করতে JMX ব্যবহার করা
Edge কম্পোনেন্ট মনিটর করার জন্য কীভাবে JMX ব্যবহার করতে হয় তা নিম্নলিখিত বিভাগ থেকে জানতে পারবেন।
JMX চালু করুন
যাচাইকরণ বা SSL ভিত্তিক কমিউনিকেশন ছাড়া JMX চালু করতে, নিচের ধাপগুলি অনুসরণ করুন। মনে রাখবেন: প্রোডাকশন সিস্টেমে, নিরাপত্তার জন্য এনক্রিপ্ট করা যাচাইকরণ এবং SSL, দুটিই চালু করা উচিত।
- উপযুক্ত কনফিগারেশন ফাইল এডিট করুন (
কনফিগারেশন ফাইল রেফারেন্স দেখুন)। কনফিগারেশন ফাইল না থাকলে, সেটি তৈরি করুন।
conf_system_jmxremote_enable=true
- কনফিগারেশন ফাইল সেভ করুন এবং নিশ্চিত করুন যে এটির মালিকানা
apigee:apigee-এর কাছে আছে। - উপযুক্ত Edge কম্পোনেন্ট রিস্টার্ট করুন
apigee-service edge-management-server restart
JMX বন্ধ করতে, হয় conf_system_jmxremote_enable প্রপার্টি সরিয়ে দিন অথবা
এর ভ্যালু পরিবর্তন করে false করুন। তারপর উপযুক্ত Edge কম্পোনেন্ট রিস্টার্ট করুন।
JMX-এ যাচাইকরণ
প্রাইভেট ক্লাউডের জন্য Edge, ফাইলে সেভ করা বিবরণ ব্যবহার করে পাসওয়ার্ড ভিত্তিক যাচাইকরণ কাজ করে। অতিরিক্ত নিরাপত্তার জন্য আপনি পাসওয়ার্ড হ্যাশ হিসেবে সেভ করতে পারবেন।
- edge-* কম্পোনেন্টে JMX যাচাইকরণ চালু করতে, উপযুক্ত কনফিগারেশন ফাইল এডিট করুন
(
কনফিগারেশন ফাইল রেফারেন্স দেখুন)। কনফিগারেশন ফাইল না থাকলে সেটি তৈরি করুন:
কনফিগারেশন ফাইল সেভ করুন এবং নিশ্চিত করুন যে এটির মালিকconf_system_jmxremote_enable=true conf_system_jmxremote_authenticate=true conf_system_jmxremote_encrypted_auth=true conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
apigee:apigee। - পাসওয়ার্ডের SHA256 হ্যাশ তৈরি করুন:
echo -n '
' | openssl dgst -sha256 - JMX ব্যবহারকারীর ক্রেডেনশিয়াল সহ
jmxremote.passwordফাইল তৈরি করুন:- আপনার
$JAVA_HOMEডিরেক্টরি থেকে নিম্নলিখিত ফাইলগুলি/opt/apigee/customer/application/<component>/ডিরেক্টরিতে কপি করুন:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password - ফাইল এডিট করুন এবং নিম্নলিখিত সিনট্যাক্স ব্যবহার করে আপনার JMX ইউজারনেম ও পাসওয়ার্ড যোগ করুন:
USERNAME <HASH-PASSWORD>
- দেখে নিন যে ফাইলটির মালিক
apigeeএবং ফাইল মোড যেন 400 হয়:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- আপনার
- JMX ব্যবহারকারীর অনুমতি সহ একটি
jmxremote.accessফাইল তৈরি করুন:- আপনার $JAVA_HOME ডিরেক্টরি থেকে নিম্নলিখিত ফাইলগুলি
/opt/apigee/customer/application/<component>/ডিরেক্টরিতে কপি করুনcp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/customer/application/management-server/jmxremote.access - ফাইলটি এডিট করুন এবং আপনার JMX ইউজারনেম যোগ করে তার পরে অনুমতি (READONLY/READWRITE) যোগ করুন
USERNAME READONLY
- দেখে নিন যে ফাইলটির মালিক
apigeeএবং ফাইল মোড যেন 400 হয়:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.access chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
- আপনার $JAVA_HOME ডিরেক্টরি থেকে নিম্নলিখিত ফাইলগুলি
- উপযুক্ত Edge কম্পোনেন্ট রিস্টার্ট করুন:
apigee-service edge-management-server restart
JMX যাচাইকরণ বন্ধ করতে, হয় conf_system_jmxremote_authenticate প্রপার্টি সরিয়ে দিন
অথবা ভ্যালু পরিবর্তন করে false করুন এবং
উপযুক্ত Edge কম্পোনেন্ট রিস্টার্ট করুন।
JMX-এ SSL
edge-* কম্পোনেন্টে SSL ভিত্তিক JMX চালু করতে:
- উপযুক্ত কনফিগারেশন ফাইল এডিট করুন
(
কনফিগারেশন ফাইল রেফারেন্স দেখুন)। কনফিগারেশন ফাইল না থাকলে সেটি তৈরি করুন:
কনফিগারেশন ফাইল সেভ করুন এবং নিশ্চিত করুন যে এটির মালিকানাconf_system_jmxremote_enable=true conf_system_jmxremote_ssl=true conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore conf_system_javax_net_ssl_keystorepassword=<keystore-password>
apigee:apigee-এর কাছে আছে। - সার্ভার কী সহ একটি কীস্টোর তৈরি করুন এবং উপরে দেওয়া কনফিগারেশন
conf_system_javax_net_ssl_keystore-এর পাথে এটি রাখুন।apigee:apigee-এর মাধ্যমে কীস্টোর ফাইল পড়া যাচ্ছে কিনা তা নিশ্চিত করুন। - উপযুক্ত Edge কম্পোনেন্ট রিস্টার্ট করুন:
apigee-service edge-management-server restart
SSL-ভিত্তিক JMX বন্ধ করতে, প্রপার্টি conf_system_jmxremote_ssl
সরিয়ে দিন অথবা ভ্যালু পরিবর্তন করে false করুন। উপযুক্ত Edge কম্পোনেন্ট রিস্টার্ট করুন।
JConsole-এর মাধ্যমে মনিটর করা
JConsole (JMX-এর সাথে মানানসই টুল) ব্যবহার করে হেলথ চেক ও প্রসেস সংক্রান্ত পরিসংখ্যান ম্যানেজ ও মনিটর করুন। JConsole-এর সাহায্যে, আপনার সার্ভার দ্বারা প্রকাশ করা JMX পরিসংখ্যান ব্যবহার করতে এবং সেগুলি গ্রাফিক্যাল ইন্টারফেসে দেখাতে পারবেন। আরও তথ্যের জন্য, JConsole ব্যবহার করা দেখুন।
JMX-এর জন্য SSL চালু করা থাকলে, আপনাকে ট্রাস্টস্টোর এবং ট্রাস্টস্টোর পাসওয়ার্ড সহ JConsole শুরু করতে হবে। JConsole ব্যবহার করা দেখুন।
JMX অ্যাট্রিবিউট (MBeans) মনিটর করার জন্য JConsole নিম্নলিখিত পরিষেবা URL ব্যবহার করে যা JMX-এর মাধ্যমে অফার করা হয়:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
যেখানে:
- IP_address হল সেই সার্ভারের IP অ্যাড্রেস যেটি আপনি মনিটর করতে চান।
- port_number হল আপনি যে সার্ভার মনিটর করতে চান সেটির JMX পোর্ট নম্বর।
যেমন, ম্যানেজমেন্ট সার্ভার মনিটর করতে, নিম্নলিখিত কমান্ডের মতো একটি কমান্ড ইস্যু করুন (ধরে নেওয়া হচ্ছে যে সার্ভারের IP অ্যাড্রেস হল 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
মনে রাখবেন, এই উদাহরণে পোর্ট ১০৯৯ নির্দিষ্ট করা হয়েছে, এটি হল ম্যানেজমেন্ট সার্ভার JMX পোর্ট। অন্যান্য পোর্টের জন্য, JMX এবং ম্যানেজমেন্ট API মনিটরিং পোর্ট দেখুন।
নিচের সারণীতে সাধারণ JMX পরিসংখ্যান দেখানো হয়েছে:
| JMX MBeans | JMX অ্যাট্রিবিউট |
|---|---|
|
মেমরি |
HeapMemoryUsage |
|
NonHeapMemoryUsage |
|
|
ব্যবহার |
|
কনফিগারেশন ফাইল রেফারেন্স
JMX সম্পর্কিত কনফিগারেশনের জন্য Edge কম্পোনেন্ট কনফিগারেশন ফাইলে আপনাকে যেসব পরিবর্তন করতে হতে পারে, তা নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে। আরও তথ্যের জন্য পোর্ট ও কনফিগারেশন ফাইল মনিটর করা দেখুন।
উপযুক্ত কম্পোনেন্টের কনফিগারেশন ফাইলে JMX কনফিগারেশন যোগ করতে হবে
- এজ-কম্পোনেন্টে JMX এজেন্ট চালু করুন। ডিফল্ট হিসেবে মিথ্যা।
conf_system_jmxremote_enable=true
পাসওয়ার্ড ভিত্তিক যাচাইকরণের জন্য কনফিগারেশন
- পাসওয়ার্ড ভিত্তিক যাচাইকরণ চালু করুন। ডিফল্ট হিসেবে মিথ্যা।
conf_system_jmxremote_authenticate=true
- ফাইল অ্যাক্সেস করার পাথ। শুধুমাত্র Apigee ব্যবহারকারীর মালিকানাধীন এবং পাঠযোগ্য হতে হবে।
conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
- পাসওয়ার্ড ফাইলের পাথ। শুধুমাত্র Apigee ব্যবহারকারীর মালিকানাধীন ও তার কাছে পাঠযোগ্য হতে হবে।
conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
- এনক্রিপ্টেড ফর্ম্যাটে পাসওয়ার্ড সেভ করার সুবিধা চালু করুন। ডিফল্ট হিসেবে False থাকে।
conf_system_jmxremote_encrypted_auth=true
SSL ভিত্তিক JMX-এর জন্য কনফিগারেশন
- JMX কমিউনিকেশনের জন্য SSL চালু করুন। ডিফল্ট হিসেবে মিথ্যা।
conf_system_jmxremote_ssl=true
- কীস্টোরের পাথ। শুধুমাত্র Apigee ব্যবহারকারীর মালিকানাধীন এবং পাঠযোগ্য হতে হবে।
conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
- Keystore পাসওয়ার্ড:
conf_system_javax_net_ssl_keystorepassword=changeme
ঐচ্ছিক JMX কনফিগারেশন
তালিকায় দেখানো ভ্যালু হল ডিফল্ট ভ্যালু এবং এটি পরিবর্তন করা যেতে পারে।
- JMX পোর্ট। ডিফল্ট ভ্যালু নিচের টেবিলে তালিকাভুক্ত করা আছে।
conf_system_jmxremote_port=
- JMX RMI পোর্ট। ডিফল্ট হিসেবে, Java প্রসেস একটি র্যান্ডম পোর্ট বেছে নেবে।
conf_system_jmxremote_rmi_port=
- রিমোট স্টাবের জন্য হোস্টের নাম। লোকালহোস্টের ডিফল্ট IP অ্যাড্রেস।
conf_system_java_rmi_server_hostname=
- SSL-এর মাধ্যমে JMX রেজিস্ট্রি সুরক্ষিত করুন। ডিফল্ট মান হল false. SSL চালু থাকলে তবেই প্রযোজ্য।
conf_system_jmxremote_registry_ssl=false
Management API-এর মাধ্যমে মনিটর করা
Edge-এ বেশ কিছু API আছে যেগুলি ব্যবহার করে আপনি নিজের সার্ভারে পরিষেবা চেক করতে পারবেন এবং আপনার ব্যবহারকারী, সংস্থা ও ডেপ্লয়মেন্ট চেক করতে পারবেন। এই বিভাগে এইসব API সম্পর্কে বর্ণনা করা হয়েছে।
পরিষেবা চেক করা
আপনার পরিষেবায় সমস্যা মনিটর ও ডায়াগনসিস করার জন্য Management API একাধিক এন্ডপয়েন্ট প্রদান করে। এইসব এন্ডপয়েন্টের মধ্যে রয়েছে:
| এন্ডপয়েন্ট | বিবরণ |
|---|---|
/servers/self/up |
কোনও পরিষেবা চলছে কিনা তা চেক করে। এই API কলের জন্য আপনাকে যাচাইকরণ করতে হবে না। পরিষেবা চালু থাকলে, এই এন্ডপয়েন্ট নিম্নলিখিত উত্তর দেয়: <ServerField> <Up>true</Up> </ServerField> পরিষেবাটি চালু না থাকলে, আপনি নিম্নলিখিত উত্তরের মতো একটি উত্তর পাবেন (এটি কোন পরিষেবা এবং আপনি কীভাবে এটি চেক করেছেন তার উপর নির্ভর করে): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self |
পরিষেবা সম্পর্কে তথ্য প্রদান করে, যার মধ্যে অন্তর্ভুক্ত:
এই API কলের জন্য আপনাকে Apigee অ্যাডমিন ক্রেডেনশিয়াল দিয়ে যাচাইকরণ করতে হবে। |
এইসব এন্ডপয়েন্ট ব্যবহার করতে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করে এমন কমান্ডের সাহায্যে curl-এর মতো ইউটিলিটি
ইনভোক করুন:
curl http://host:port_number/v1/servers/self/up -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password -H "Accept: [application/json|application/xml]"যেখানে:
- host হল সেই সার্ভারের IP অ্যাড্রেস যা আপনি চেক করতে চান। আপনি সার্ভারে লগ-ইন করে থাকলে, "localhost" ব্যবহার করতে পারবেন; অন্যথায়, সার্ভারের IP অ্যাড্রেস এবং ইউজারনেম ও পাসওয়ার্ড উল্লেখ করুন।
- আপনি যে সার্ভার চেক করতে চান তার ম্যানেজমেন্ট API পোর্ট হল port_number। এটি প্রতিটি ধরনের কম্পোনেন্টের জন্য আলাদা পোর্ট। যেমন, ম্যানেজমেন্ট সার্ভারের ম্যানেজমেন্ট API পোর্ট হল ৮০৮০। ব্যবহার করার জন্য ম্যানেজমেন্ট API পোর্ট নম্বরের তালিকা পেতে, এখানে দেখুন: JMX এবং ম্যানেজমেন্ট API মনিটরিং পোর্ট
উত্তরের ফর্ম্যাট পরিবর্তন করতে, আপনি Accept হেডারকে
"application/json" বা "application/xml" হিসেবে নির্দিষ্ট করতে পারেন।
নিচের উদাহরণটি লোকালহোস্টে (পোর্ট 8081) রাউটারের স্ট্যাটাস পায়:
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
নিম্নলিখিত উদাহরণটি 216.3.128.12 (পোর্ট 8082)-এ মেসেজ প্রসেসর সম্পর্কে তথ্য পায়:
curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password -H "Accept: application/xml"
ব্যবহারকারী, সংস্থা এবং ডিপ্লয়মেন্ট স্ট্যাটাস মনিটর করুন
আপনি ম্যানেজমেন্ট API ব্যবহার করে ম্যানেজমেন্ট সার্ভার এবং মেসেজ প্রসেসরে আপনার প্রক্সির ব্যবহারকারী, সংস্থা এবং ডিপ্লয়মেন্ট স্ট্যাটাস মনিটর করতে পারেন। এর জন্য নিম্নলিখিত কমান্ডগুলি ইস্যু করতে হবে:
curl http://host:port_number/v1/users -u sysAdminEmail:passwordcurl http://host:port_number/v1/organizations -u sysAdminEmail:passwordcurl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password
যেখানে port_number হল ম্যানেজমেন্ট সার্ভারের জন্য ৮০৮০ অথবা মেসেজ প্রসেসরের জন্য ৮০৮২।
এই কলের জন্য আপনার সিস্টেম অ্যাডমিনিস্ট্রেটর ইউজারনেম ও পাসওয়ার্ড দিয়ে যাচাই করতে হবে।
সার্ভারকে সব কলের জন্য "ডেপ্লয় করা হয়েছে" স্ট্যাটাস দেখাতে হবে। এগুলি কাজ না করলে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- কোনও সমস্যা হয়েছে কিনা তা জানতে সার্ভার লগ চেক করুন। লগ এখানে আছে:
- ম্যানেজমেন্ট সার্ভার:
opt/apigee/var/log/edge-management-server - মেসেজ প্রসেসর:
opt/apigee/var/log/edge-message-processor
- ম্যানেজমেন্ট সার্ভার:
- এটি সঠিকভাবে কাজ করছে কিনা তা চেক করতে সার্ভারের বিরুদ্ধে কল করুন।
- ELB থেকে সার্ভারটি সরান এবং তারপরে এটি রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
service_name কোথায় আছে:
edge-management-serveredge-message-processor
apigee-service কমান্ডের মাধ্যমে স্ট্যাটাস চেক করা
পরিষেবা চালু থাকা সার্ভারে লগ-ইন করার পরে apigee-service কমান্ড ব্যবহার করে আপনি Edge পরিষেবা সংক্রান্ত সমস্যার সমাধান করতে পারবেন।
apigee-service-এর মাধ্যমে কোনও পরিষেবার স্ট্যাটাস চেক করতে:
- সার্ভারে লগ-ইন করে এই কমান্ড রান করুন:
/opt/apigee/apigee-service/bin/apigee-service service_name status
যেখানে service_name হল নিম্নলিখিতগুলির মধ্যে একটি:
- ম্যানেজমেন্ট সার্ভার:
edge-management-server - মেসেজ প্রসেসর:
edge-message-processor - Postgres:
edge-postgres-server - Qpid:
edge-qpid-server - রাউটার:
edge-router
যেমন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- ম্যানেজমেন্ট সার্ভার:
- পরিষেবা চালু না থাকলে, এটি চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- পরিষেবা রিস্টার্ট করার পরে, এটি কাজ করছে কিনা তা চেক করুন, হয় আপনার আগে ব্যবহার করা
apigee-service statusকমান্ড ব্যবহার করে অথবা ম্যানেজমেন্ট API-এর মাধ্যমে মনিটর করুন-এ বর্ণিত ম্যানেজমেন্ট API ব্যবহার করে।যেমন:
curl -v http://localhost:port_number/v1/servers/self/up
যেখানে port_number হল পরিষেবার ম্যানেজমেন্ট API পোর্ট।
এই উদাহরণে ধরে নেওয়া হয়েছে যে আপনি সার্ভারে লগ-ইন করেছেন এবং হোস্টনেম হিসেবে "localhost" ব্যবহার করতে পারবেন। ম্যানেজমেন্ট API-এর মাধ্যমে রিমোট লোকেশন থেকে স্ট্যাটাস চেক করতে, আপনাকে সার্ভারের IP অ্যাড্রেস উল্লেখ করতে হবে এবং API কলে সিস্টেম অ্যাডমিনিস্ট্রেটরের ইউজারনেম ও পাসওয়ার্ড অন্তর্ভুক্ত করতে হবে।
Postgres মনিটরিং
Postgres-এ এমন অনেক ইউটিলিটি কাজ করে যা আপনি এর স্ট্যাটাস চেক করার জন্য ব্যবহার করতে পারেন। এইসব ইউটিলিটি পরবর্তী বিভাগে বর্ণনা করা হয়েছে।
Postgres-এ প্রতিষ্ঠান এবং পরিবেশ চেক করুন
আপনি Postgres সার্ভারে অনবোর্ড করা প্রতিষ্ঠান এবং পরিবেশের নাম চেক করতে পারেন
নিম্নলিখিত curl কমান্ড জারি করে:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
সিস্টেমে সংস্থা ও এনভায়রনমেন্টের নাম দেখানো উচিত।
Analytics স্ট্যাটাস যাচাই করা
আপনি নিম্নলিখিত
curl কমান্ড ইস্যু করে Postgres এবং Qpid অ্যানালিটিক্স সার্ভারের স্ট্যাটাস যাচাই করতে পারবেন:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
নিচের উদাহরণে যেমন দেখানো হয়েছে, সিস্টেমের সব অ্যানালিটিক্স সার্ভারের জন্য 'সফল' স্ট্যাটাস দেখানো উচিত:
{
"environments" : [ {
"components" : [ {
"message" : "success at Thu Feb 28 10:27:38 CET 2013",
"name" : "pg",
"status" : "SUCCESS",
"uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]"
}, {
"message" : "success at Thu Feb 28 10:29:03 CET 2013",
"name" : "qs",
"status" : "SUCCESS",
"uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]"
} ],
"message" : "",
"name" : "prod"
} ],
"organization" : "acme",
"status" : "SUCCESS"
}PostgreSQL ডেটাবেস
এই বিভাগে, Postgres ডেটাবেস মনিটর করার জন্য আপনি যেসব কৌশল ব্যবহার করতে পারেন তার বিবরণ দেওয়া হয়েছে।
check_postgres.pl স্ক্রিপ্ট ব্যবহার করুন
PostgreSQL ডেটাবেস মনিটর করতে, আপনি একটি স্ট্যান্ডার্ড মনিটরিং স্ক্রিপ্ট ব্যবহার করতে পারেন,
check_postgres.pl। আরও তথ্যের জন্য, http://bucardo.org/wiki/Check_postgres দেখুন।
স্ক্রিপ্ট রান করার আগে:
- আপনাকে প্রতিটি Postgres নোডে check_postgres.pl স্ক্রিপ্ট ইনস্টল করতে হবে।
perl-Time-HiRes.x86_64ইনস্টল করা আছে কিনা তা নিশ্চিত করুন, এটি একটি Perl মডিউল যা হাই রেজোলিউশন অ্যালার্ম, স্লিপ, gettimeofday এবং ইন্টারভ্যাল টাইমার প্রয়োগ করে। যেমন, আপনি নিম্নলিখিত কমান্ড ব্যবহার করে এটি ইনস্টল করতে পারেন:
yum install perl-Time-HiRes.x86_64
- CentOS 7: CentOS v7-এ check_postgres.pl ব্যবহার করার আগে,
perl-Data-Dumper.x86_64RPM ইনস্টল করুন।
check_postgres.pl আউটপুট
check_postgres.pl ব্যবহার করে API কলের ডিফল্ট আউটপুট Nagios-এর সাথে
মানানসই। স্ক্রিপ্ট ইনস্টল করার পরে, নিম্নলিখিত বিষয়গুলি চেক করুন:
- ডেটাবেসের সাইজ চেক করুন:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
- ডেটাবেসে ইনকামিং কানেকশনের সংখ্যা চেক করে এবং সর্বাধিক অনুমোদিত কানেকশনের সাথে তুলনা করে:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- ডেটাবেস চলছে এবং উপলভ্য আছে কিনা তা চেক করুন:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- ডিস্ক স্পেস চেক করুন:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- Postgres নোডে অনবোর্ড করা সংস্থা এবং পরিবেশের সংখ্যা চেক করুন:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer
ডেটাবেস চেক রান করুন
আপনি যাচাই করে দেখতে পারেন যে PostgreSQL ডেটাবেসে সঠিক টেবিল তৈরি করা হয়েছে কিনা। এই কমান্ড ব্যবহার করে PostgreSQL ডেটাবেসে লগ-ইন করুন:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
তারপর এটি রান করান:
\d analytics."org.env.fact"
postgres প্রসেসের হেলথ স্ট্যাটাস চেক করা
আপনি নিম্নলিখিত curl
কমান্ড ব্যবহার করে Postgres মেশিনে API চেক করতে পারবেন:
curl -v http://postgres_IP:8084/v1/servers/self/health
postgres প্রসেস অ্যাক্টিভ থাকলে এই কমান্ড ACTIVE স্ট্যাটাস রিটার্ন করে। Postgres প্রসেস চালু না থাকলে, এটি INACTIVE স্ট্যাটাস রিটার্ন করে।
Postgres রিসোর্স
Postgres পরিষেবা মনিটর করা সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিতগুলি দেখুন:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
Apache Cassandra
Cassandra-র জন্য JMX ডিফল্ট হিসেবে চালু করা থাকে এবং Cassandra-তে রিমোট JMX অ্যাক্সেসের জন্য পাসওয়ার্ডের প্রয়োজন হয় না।
Cassandra-র জন্য JMX যাচাইকরণ চালু করা
আপনি Cassandra-র জন্য JMX যাচাইকরণ চালু করতে পারবেন। এটি করার পরে, আপনাকে nodetool ইউটিলিটিতে করা সমস্ত কলের জন্য একটি ইউজারনেম ও পাসওয়ার্ড দিতে হবে।
Cassandra-র জন্য JMX যাচাইকরণ চালু করতে:
cassandra.propertiesফাইল তৈরি ও এডিট করুন:/opt/apigee/customer/application/cassandra.propertiesফাইল এডিট করুন। ফাইলটি না থাকলে, এটি তৈরি করুন।- ফাইলে নিম্নলিখিত তথ্য যোগ করুন:
conf_cassandra_env_com.sun.management.jmxremote.authenticate=true conf_cassandra_env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.password conf_cassandra_env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.access
cassandra.propertiesফাইলটি সেভ করুন।- নিচের উদাহরণে যেমন দেখানো হয়েছে, সেইভাবে ফাইলের মালিকানা পরিবর্তন করে
apigee:apigee-কে দিন:chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
টোকেন সেট করার জন্য প্রপার্টি ফাইল ব্যবহার করার ব্যাপারে আরও তথ্যের জন্য, কীভাবে Edge কনফিগার করবেন দেখুন।
jmx_auth.shতৈরি ও এডিট করুন:- নিম্নলিখিত লোকেশনে ফাইল না থাকলে, একটি ফাইল তৈরি করুন:
/opt/apigee/customer/application/jmx_auth.sh
- ফাইলে নিম্নলিখিত প্রপার্টি যোগ করুন:
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
jmx_auth.shফাইল সেভ করুন।- ফাইল সোর্স করুন:
source /opt/apigee/customer/application/jmx_auth.sh
- নিম্নলিখিত লোকেশনে ফাইল না থাকলে, একটি ফাইল তৈরি করুন:
jmxremote.passwordফাইল কপি ও এডিট করুন:- আপনার
$JAVA_HOMEডিরেক্টরি থেকে নিম্নলিখিত ফাইলটি/opt/apigee/customer/application/apigee-cassandra/-এ কপি করুন:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password jmxremote.passwordফাইল এডিট করুন এবং নিম্নলিখিত সিনট্যাক্স ব্যবহার করে আপনার JMX ইউজারনেম এবং পাসওয়ার্ড যোগ করুন:JMX_USERNAME JMX_PASSWORD
যেখানে JMX_USERNAME এবং JMX_PASSWORD হল JMX ইউজারনেম এবং আপনার আগে সেট করা পাসওয়ার্ড।
- "apigee" ফাইলের মালিক কিনা এবং ফাইল মোড ৪০০ কিনা তা নিশ্চিত করুন:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
- আপনার
jmxremote.accessফাইল কপি ও এডিট করুন:- আপনার
$JAVA_HOMEডিরেক্টরি থেকে নিম্নলিখিত ফাইলটি কপি করে/opt/apigee/customer/application/apigee-cassandra/-এ পেস্ট করুন:cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access jmxremote.accessফাইল এডিট করে নিম্নলিখিত ভূমিকা যোগ করুন:JMX_USERNAME readwrite
- "apigee" ফাইলের মালিক কিনা এবং ফাইল মোড ৪০০ কিনা তা নিশ্চিত করুন:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
- আপনার
- Cassandra-তে
configureরান করান:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Cassandra রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- অন্যান্য সব Cassandra নোডে এই প্রসেসটি রিপিট করুন।
JMX পাসওয়ার্ড এনক্রিপশন চালু করা
JMX পাসওয়ার্ড এনক্রিপশন চালু করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
source/conf/casssandra-env.shফাইলটি খুলুন।cassandra.propertiesফাইল তৈরি ও এডিট করুন:/opt/apigee/customer/application/cassandra.propertiesফাইল এডিট করুন। যদি ফাইলটি না থাকে, তাহলে এটি তৈরি করুন।- ফাইলে নিম্নলিখিত তথ্য যোগ করুন:
conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
- cassandra.properties ফাইলটি সেভ করুন।
- নিচের উদাহরণে দেখানো মতো, ফাইলের মালিককে apigee:apigee হিসেবে পরিবর্তন করুন:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- কমান্ড লাইনে,
echo -n 'Secret' | openssl dgst -sha1লিখে পছন্দসই পাসওয়ার্ডের SHA1 হ্যাশ জেনারেট করুন $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password-এ (আগের বিভাগে তৈরি করা) ইউজারনেমের জন্য পাসওয়ার্ড সেট করুন।- Cassandra-তে কনফিগার রান করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Cassandra রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- অন্যান্য সব Cassandra নোডে এই প্রসেসটি রিপিট করুন।
Cassandra-র জন্য SSL সহ JMX চালু করুন
SSL-এর সাথে JMX চালু করলে, Cassandra-র সাথে JMX-ভিত্তিক কমিউনিকেশনের জন্য অতিরিক্ত নিরাপত্তা ও এনক্রিপশন প্রদান করে। SSL-এর সাথে JMX চালু করতে, SSL-ভিত্তিক JMX কানেকশন গ্রহণ করার জন্য আপনাকে Cassandra-কে একটি কী ও সার্টিফিকেট দিতে হবে। এছাড়াও, SSL-এর জন্য আপনাকে nodetool (এবং JMX-এর মাধ্যমে Cassandra-র সাথে যোগাযোগ করে এমন অন্যান্য টুল) কনফিগার করতে হবে।
SSL চালু JMX, প্লেনটেক্সট ও এনক্রিপটেড JMX পাসওয়ার্ড, দু'টিই সাপোর্ট করে।
Cassandra-র জন্য SSL সহ JMX চালু করতে, নিম্নলিখিত পদ্ধতি ব্যবহার করুন:
- JMX চালু করুন। প্রয়োজন হলে পাসওয়ার্ড এনক্রিপশন চালু করুন।
- Cassandra-র জন্য JMX যাচাইকরণ চালু করুন।
উপরে করা উল্লেখ মতো। কনফিগার করা ইউজারনেম ও পাসওয়ার্ডের সাথে nodetool কাজ করছে কিনা তা
নিশ্চিত করুন।
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
কীস্টোর ও ট্রাস্টস্টোর প্রস্তুত করুন।
কীস্টোরে একটি কী এবং সার্টিফিকেট থাকতে হবে, এবং Cassandra সার্ভার কনফিগার করতে ব্যবহৃত হয়। কীস্টোরে একাধিক কী পেয়ার থাকলে, SSL চালু করতে Cassandra প্রথম কী পেয়ার ব্যবহার করে।
মনে রাখবেন, কীস্টোর ও কী-এর পাসওয়ার্ড একই হতে হবে (keytool ব্যবহার করে কী তৈরি করলে এটি ডিফল্ট হিসেবে সেট করা হয়)।
- Truststore-এ শুধুমাত্র সার্টিফিকেট থাকতে হবে এবং JMX-এর মাধ্যমে কানেক্ট করার জন্য ক্লায়েন্টরা (apigee-পরিষেবা ভিত্তিক কমান্ড বা nodetool) এটি ব্যবহার করে।
উপরে উল্লেখ করা প্রয়োজনীয়তা যাচাই করার পরে:
/opt/apigee/customer/application/apigee-cassandra/-এ keystore ফাইলটি রাখুন।- শুধুমাত্র Apigee ব্যবহারকারী যাতে কীস্টোর ফাইল পড়তে পারেন তা নিশ্চিত করতে
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- নিম্নলিখিত ধাপগুলি অনুসরণ করে SSL সহ JMX-এর জন্য Cassandra কনফিগার করুন:
- এটি লিখে Cassandra নোড বন্ধ করুন
apigee-service apigee-cassandra stop
- Cassandra-তে SSL চালু করতে
/opt/apigee/customer/application/cassandra.propertiesফাইলটি খুলুন এবং নিম্নলিখিত লাইনগুলি যোগ করুন:conf_cassandra_env_com.sun.management.jmxremote.ssl=true conf_cassandra_env_javax.net.ssl.keyStore=/opt/apigee/customer/application/apigee-cassandra/keystore.node1 conf_cassandra_env_javax.net.ssl.keyStorePassword=keystore-password
- ফাইলের মালিককে apigee:apigee-তে পরিবর্তন করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Cassandra-তে কনফিগারেশন রান করান:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Cassandra রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- অন্য সব Cassandra নোডে এই প্রসেস রিপিট করুন।
- Cassandra নোড চালু করতে এটি লিখুন
apigee-service apigee-cassandra start
- এটি লিখে Cassandra নোড বন্ধ করুন
apigee-serviceCassandra কমান্ড কনফিগার করুন।apigee-serviceকমান্ড রান করার সময় আপনাকে নির্দিষ্ট কিছু এনভায়রনমেন্ট ভেরিয়েবল সেট করতে হবে, যার মধ্যে নিচে উল্লেখ করা কমান্ডগুলিও রয়েছে:apigee-service apigee-cassandra stop apigee-service apigee-cassandra wait_for_ready apigee-service apigee-cassandra ring apigee-service apigee-cassandra backup
apigee-service-এর জন্য JMX যাচাইকরণ এবং SSL কনফিগার করার জন্য একাধিক বিকল্প আছে। ব্যবহারযোগ্যতা ও আপনার নিরাপত্তা সংক্রান্ত অভ্যাসের উপর ভিত্তি করে একটি বিকল্প বেছে নিন।- বিকল্প ১ (SSL আর্গুমেন্ট ফাইলে সেভ করা আছে)
- বিকল্প ২ (এনভায়রনমেন্ট ভেরিয়েবলে SSL আর্গুমেন্ট স্টোর করা আছে)
- বিকল্প ৩ (SSL আর্গুমেন্ট সরাসরি
apigee-service-এ পাস করা হয়েছে)
বিকল্প ১ (SSL আর্গুমেন্ট ফাইলে স্টোর করা আছে)
নিম্নলিখিত এনভায়রনমেন্ট ভেরিয়েবেল সেট করুন:
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y
Apigee ব্যবহারকারীর হোম ডিরেক্টরিতে (
/opt/apigee) একটি ফাইল তৈরি করুন।$HOME/.cassandra/nodetool-ssl.properties
ফাইলটি এডিট করে নিম্নলিখিত লাইন যোগ করুন:
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Djavax.net.ssl.trustStoreType=PKCS12
Apigee ব্যবহারকারী ট্রাস্টস্টোর ফাইল পড়তে পারছেন কিনা তা নিশ্চিত করুন।
নিম্নলিখিত
apigee-serviceকমান্ড রান করুন। এটি কোনও সমস্যা ছাড়াই রান করলে, আপনার কনফিগারেশন সঠিক আছে।apigee-service apigee-cassandra ring
বিকল্প ২ (এনভায়রনমেন্ট ভেরিয়েবলে SSL আর্গুমেন্ট স্টোর করা আছে)
নিম্নলিখিত এনভায়রনমেন্ট ভেরিয়েবেল সেট করুন:
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y # Ensure the truststore file is accessible by Apigee user. export CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> export CASS_JMX_TRUSTSTORE_PASSWORD=<truststore-password> # If you are using a non standard truststore type, export truststore type as well # Possible values are JKS, PKCS12, BCFKS export CASS_JMX_TRUSTSTORE_TYPE=PKCS12
নিম্নলিখিত
apigee-serviceকমান্ড রান করুন। এটি কোনও সমস্যা ছাড়াই রান করলে, আপনার কনফিগারেশন সঠিক আছে।apigee-service apigee-cassandra ring
বিকল্প ৩ (SSL আর্গুমেন্ট সরাসরি
apigee-service-এ পাস করা হয়েছে)নিচে দেখানো উদাহরণের মতো যেকোনও
apigee-serviceকমান্ড রান করুন। আপনাকে কোনও এনভায়রনমেন্ট ভেরিয়েবল কনফিগার করতে হবে না।CASS_JMX_USERNAME=ADMIN CASS_JMX_PASSWORD=PASSWORD CASS_JMX_SSL=Y CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> CASS_JMX_TRUSTSTORE_PASSWORD=<trustore-password> CASS_JMX_TRUSTSTORE_TYPE=PKCS12 /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
nodetool সেট-আপ করুন। Nodetool-এর জন্য JMX প্যারামিটার পাস করতে হবে। SSL চালু JMX-এর সাথে চালানোর জন্য nodetool কনফিগার করার দুটি উপায় আছে। নিচে কনফিগারেশন বিকল্পের বর্ণনা দেওয়া হল:
SSL সম্পর্কিত কনফিগারেশন nodetool-এ যেভাবে পাস করা হয় তার উপর ভিত্তি করে বিকল্পগুলি আলাদা হয়। দুটি ক্ষেত্রেই, যে ব্যবহারকারী nodetool চালাচ্ছেন তার truststore ফাইলে READ অনুমতি থাকতে হবে। ব্যবহারযোগ্যতা এবং আপনার নিরাপত্তা সংক্রান্ত অনুশীলনের উপর ভিত্তি করে একটি উপযুক্ত বিকল্প বেছে নিন।
nodetool প্যারামিটার সম্পর্কে আরও জানতে, Apache Cassandra nodetool ডকুমেন্টেশন দেখুন।
কনফিগারেশন বিকল্প ১
nodetool রান করছে এমন ব্যবহারকারীর হোম ডিরেক্টরিতে একটি ফাইল তৈরি করুন।
$HOME/.cassandra/nodetool-ssl.properties
ফাইলে নিম্নলিখিত লাইনগুলি যোগ করুন:
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Djavax.net.ssl.trustStoreType=PKCS12
nodetool রান করছেন এমন যেকোনও ব্যবহারকারীর উপরে উল্লেখ করা ট্রাস্টস্টোর পাথ অ্যাক্সেস করতে পারা উচিত।
--sslবিকল্পের সাহায্যেnodetoolরান করুন।/opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
কনফিগারেশন বিকল্প ২
নিচে তালিকাভুক্ত অতিরিক্ত প্যারামিটার সহ একটি কমান্ড হিসেবে
nodetoolরান করুন।/opt/apigee/apigee-cassandra/bin/nodetool -Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Djavax.net.ssl.trustStoreType=PKCS12 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
SSL কনফিগারেশন আগের অবস্থায় ফিরিয়ে আনা
উপরে বর্ণিত পদ্ধতিতে SSL কনফিগারেশন আগের অবস্থায় ফিরিয়ে আনতে চাইলে নিচের ধাপগুলি অনুসরণ করুন:
apigee-cassandraবন্ধ করুন, এর জন্য লিখুনapigee-service apigee-cassandra stop
/opt/apigee/customer/application/cassandra.propertiesফাইল থেকেconf_cassandra-env_com.sun.management.jmxremote.ssl=trueলাইনটি সরিয়ে দাও।/opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh-এ নিম্নলিখিত লাইনগুলি কমেন্ট হিসেবে চিহ্নিত করুন# JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/opt/apigee/data/apigee-cassandra/keystore.node0" # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=keypass" # JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true”
apigee-cassandraশুরু করতে- এনভায়রনমেন্ট ভেরিয়েবেল
CASS_JMX_SSLসেট করা থাকলে তা সরিয়ে দিন।unset CASS_JMX_SSL
apigee-service-ভিত্তিক কমান্ড যেমনring,stop,backupইত্যাদি কাজ করছে কিনা তা চেক করুন।- nodetool-এর সাথে
--sslসুইচ ব্যবহার করা বন্ধ করুন
apigee-service apigee-cassandra start
Cassandra-র জন্য JMX যাচাইকরণ বন্ধ করুন
Cassandra-র জন্য JMX যাচাইকরণ বন্ধ করতে:
/opt/apigee/customer/application/cassandra.propertiesএডিট করুন।- ফাইল থেকে নিম্নলিখিত লাইনটি সরিয়ে দিন:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- Cassandra-তে কনফিগারেশন রান করান:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Cassandra রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- অন্য সব Cassandra নোডে এই প্রসেস রিপিট করুন।
JConsole ব্যবহার করুন: টাস্কের পরিসংখ্যান মনিটর করুন
JMX-এর মাধ্যমে অফার করা JMX অ্যাট্রিবিউট (MBeans) মনিটর করতে JConsole এবং নিম্নলিখিত পরিষেবা URL ব্যবহার করুন:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
যেখানে IP_address হল Cassandra সার্ভারের IP.
Cassandra JMX পরিসংখ্যান
| JMX MBeans | JMX অ্যাট্রিবিউট |
|---|---|
|
ColumnFamilies/apprepo/environments ColumnFamilies/apprepo/organizations ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/audit/audits ColumnFamilies/audit/audits_ref |
PendingTasks |
|
MemtableColumnsCount |
|
|
MemtableDataSize |
|
|
ReadCount |
|
|
RecentReadLatencyMicros |
|
|
TotalReadLatencyMicros |
|
|
WriteCount |
|
|
RecentWriteLatencyMicros |
|
|
TotalWriteLatencyMicros |
|
|
TotalDiskSpaceUsed |
|
|
LiveDiskSpaceUsed |
|
|
LiveSSTableCount |
|
|
BloomFilterFalsePositives |
|
|
RecentBloomFilterFalseRatio |
|
|
BloomFilterFalseRatio |
ক্লাস্টার নোড ম্যানেজ করতে nodetool ব্যবহার করুন
nodetool ইউটিলিটি হল Cassandra-র জন্য একটি কমান্ড লাইন ইন্টারফেস যা ক্লাস্টার নোড ম্যানেজ করে।
/opt/apigee/apigee-cassandra/bin-এ ইউটিলিটি খুঁজে পাওয়া যাবে।
Cassandra ক্লাস্টারের সব নোডে নিম্নলিখিত কল করা যেতে পারে:
- সাধারণ রিং সংক্রান্ত তথ্য (সিঙ্গেল Cassandra নোডের জন্যও সম্ভব): সব নোডের জন্য
"Up" এবং "Normal" খুঁজুন।
nodetool [-u username -pw password] -h localhost ring
আপনি Cassandra-র জন্য JMX যাচাইকরণ চালু করলে শুধুমাত্র আপনার ইউজারনেম ও পাসওয়ার্ড পাস করতে হবে।
উপরের কমান্ডের আউটপুট নিচে দেখানো হয়েছে:
Datacenter: dc-1 ========== Address Rack Status State Load Owns Token 192.168.124.201 ra1 Up Normal 1.67 MB 33,33% 0 192.168.124.202 ra1 Up Normal 1.68 MB 33,33% 5671...5242 192.168.124.203 ra1 Up Normal 1.67 MB 33,33% 1134...0484
- নোড সম্পর্কে সাধারণ তথ্য (প্রতিটি নোডের জন্য কল)
nodetool [-u username -pw password] -h localhost info
উপরের কমান্ডের আউটপুটটি নিম্নলিখিতগুলির মতো দেখতে লাগে:
ID : e2e42793-4242-4e82-bcf0-oicu812 Gossip active : true Thrift active : true Native Transport active: true Load : 273.71 KB Generation No : 1234567890 Uptime (seconds) : 687194 Heap Memory (MB) : 314.62 / 3680.00 Off Heap Memory (MB) : 0.14 Data Center : dc-1 Rack : ra-1 Exceptions : 0 Key Cache : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds Row Cache : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds Counter Cache : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds Token : 0
- থ্রিফ্ট সার্ভারের স্ট্যাটাস (ক্লায়েন্ট API পরিবেশন করা)
nodetool [-u username -pw password] -h localhost statusthrift
উপরের কমান্ডের আউটপুটটি নিম্নলিখিতগুলির মতো দেখায়:
running
- ডেটা স্ট্রিমিং অপারেশনের স্ট্যাটাস: ক্যাসান্ড্রা নোডের জন্য ট্রাফিক পর্যবেক্ষণ করুন:
nodetool [-u username -pw password] -h localhost netstats
উপরের কমান্ডের আউটপুট নিম্নলিখিতটির মতো দেখায়:
Mode: NORMAL Not sending any streams. Read Repair Statistics: Attempted: 151612 Mismatch (Blocking): 0 Mismatch (Background): 0 Pool Name Active Pending Completed Dropped Commands n/a 0 0 0 Responses n/a 0 0 n/a
nodetool ব্যবহার করা সম্পর্কে আরও জানতে, nodetool ইউটিলিটি সম্পর্কে দেখুন।
Cassandra রিসোর্স
নিম্নলিখিত URL দেখুন: Cassandra মনিটরিং।
Apache Qpid Broker-J মনিটর করা
আপনি Qpid ম্যানেজমেন্ট কনসোল থেকে Qpid Broker-J মনিটর করতে পারবেন। এই বিভাগে ব্যাখ্যা করা হয়েছে কীভাবে কনসোল অ্যাক্সেস করতে হয় এবং বেসিক মনিটরিং ফাংশন পারফর্ম করার জন্য এটি ব্যবহার করতে হয়। ম্যানেজমেন্ট কনসোল ব্যবহার করা সম্পর্কে আরও বিস্তারিত তথ্য পেতে, Apache Qpid ডকুমেন্টেশনে ওয়েব ম্যানেজমেন্ট কনসোল দেখুন।
ম্যানেজমেন্ট কনসোল অ্যাক্সেস করা
ডিফল্ট ম্যানেজমেন্ট কনসোল পোর্ট হল ৮০৯০। এই ডিফল্ট পোর্টে কনসোল অ্যাক্সেস করতে, আপনার ওয়েব ব্রাউজারকে এখানে পয়েন্ট করুন:
http://QPID_NODE_IP:8090
কনসোলে লগ-ইন করতে, Apigee-এর সেট করা ডিফল্ট ক্রেডেনশিয়াল বা Edge কনফিগারেশন ফাইলে সেট করা ক্রেডেনশিয়াল ব্যবহার করুন। বিস্তারিত জানতে, Edge কনফিগারেশন ফাইল রেফারেন্স দেখুন।
কিউ ও মেসেজ মনিটর করা
বাঁদিকের নেভিগেশন প্যানেলে, Java-Broker > virtualhosts > queues বিকল্পে নেভিগেট করুন। UI-এর মূল অংশে কোনও সারির বিবরণ দেখতে সেটি বেছে নিন। 'বিবরণ' ভিউতে, আপনি কিউ অ্যাট্রিবিউট ও পরিসংখ্যান দেখতে পাবেন, এর মধ্যে ডেলিভার করা, এনকিউ করা মেসেজ, মেসেজ রেট ইত্যাদি সম্পর্কিত তথ্য অন্তর্ভুক্ত।
লগ ফাইল দেখুন ও ডাউনলোড করুন
বাঁদিকের নেভিগেশন প্যানেলে, Java-Broker > brokerloggers > logfile বিকল্পে যান। প্রধান UI-এর বিবরণ ভিউতে, আপনি লগ ফাইলের বিবরণ দেখতে এবং লগ ফাইল ডাউনলোড করতে পারবেন।
Qpid ম্যানেজমেন্ট API ব্যবহার করা
ম্যানেজমেন্ট টাস্ক অটোমেট করতে এবং ব্রোকার মনিটর করতে আপনি Apache Qpid Broker-J REST API ব্যবহার করতে পারবেন। বিস্তারিত জানতে, Apache Qpid Broker REST API ডকুমেন্টেশন দেখুন।
এছাড়াও, আপনি ব্রোকার মনিটর করার জন্য কমান্ড লাইন টুল ব্যবহার করতে পারেন। যেমন:
curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"
Qpid-এর জন্য SSL সহ মনিটরিং চালু করুন
মনিটর ও ম্যানেজ করার জন্য অতিরিক্ত নিরাপত্তা প্রদান করতে, Qpid-এর ম্যানেজমেন্ট পোর্টাল ও Qpid-এর ম্যানেজমেন্ট API-তে SSL চালু করুন। কী ও সার্টিফিকেট প্রদান করতে নিচে উল্লেখ করা নির্দেশিকা অনুসরণ করুন।
Qpid-এ ফাইল কীস্টোরের বিকল্প আছে, যা Apigee-তে চালু করা আছে। এই ধরনের ক্ষেত্রে স্ট্যান্ডার্ড JKS কীস্টোর ফর্ম্যাট গ্রহণ করা হয় যা Java এবং keytool-এর মতো Java টুল বুঝতে পারে। এছাড়াও, এটি PKCS12 কীস্টোর গ্রহণ করতে পারে, যা OpenSSL-এর মতো টুল ব্যবহার করে তৈরি করা যেতে পারে।
Keystore তৈরি করা
কীস্টোর তৈরি করার জন্য, Java Keytool ডকুমেন্টেশন দেখুন।
PKCS12 কীস্টোর তৈরি করার জন্য, OpenSSL ডকুমেন্টেশন দেখুন।
প্রয়োজনীয়তা যাচাই করার পরে
/opt/apigee/customer/application/apigee-qpidd-এ keystore ফাইলটি রাখুন।- নিশ্চিত করুন যে কীস্টোর ফাইলটি শুধুমাত্র Apigee ব্যবহারকারী পড়তে পারবেন:
chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
Qpid-এ SSL চালু করা
একবারে একটি Qpid নোডে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
/opt/apigee/customer/application/qpidd.properties ফাইলটি খুলুন এবং নিম্নলিখিত লাইনগুলি যোগ করুন:
conf_qpidd_qpid_management.https.enabled=true conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/qpidd.keystore conf_qpidd_qpid.keystore.password=keystore-password conf_qpidd_qpid.keystore.certificateAlias=certificate-alias ## If you are using a PKCS12 keystore, specify the keystore type conf_qpidd_qpid.keystore.keyStoreType=PKCS12
- ফাইলের মালিককে apigee:apigee-তে পরিবর্তন করুন:
chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
- Qpidd কনফিগার করুন:
apigee-service apigee-qpidd configure
- Qpidd রিস্টার্ট করুন:
apigee-service apigee-qpidd restart
- wait_for_ready-এর মাধ্যমে স্ট্যাটাস চেক করুন:
apigee-service apigee-qpidd wait_for_ready
SSL কনফিগারেশন আগের অবস্থায় ফিরিয়ে আনুন
/opt/apigee/customer/application/qpidd.properties ফাইল থেকে প্রপার্টি সরান বা কমেন্ট হিসেবে চিহ্নিত করুন:
conf_qpidd_qpid_management.https.enabled=true conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/keystore
- Qpidd কনফিগার করুন:
apigee-service apigee-qpidd configure
- Qpidd রিস্টার্ট করুন:
apigee-service apigee-qpidd restart
- wait_for_ready-এর মাধ্যমে স্ট্যাটাস চেক করুন:
apigee-service apigee-qpidd wait_for_ready
Apache ZooKeeper
ZooKeeper-এর স্ট্যাটাস চেক করা
- ZooKeeper প্রসেস চলছে কিনা তা নিশ্চিত করুন। ZooKeeper একটি PID ফাইলকে
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid-এ লেখে। - ZooKeeper পোর্ট টেস্ট করে নিশ্চিত করুন যে আপনি প্রতিটি ZooKeeper সার্ভারে 2181 এবং 3888 পোর্টে TCP কানেকশন স্থাপন করতে পারবেন।
- ZooKeeper ডেটাবেস থেকে আপনি ভ্যালু পড়তে পারছেন কিনা তা নিশ্চিত করুন। ZooKeeper ক্লায়েন্ট লাইব্রেরি (বা
/opt/apigee/apigee-zookeeper/bin/zkCli.sh) ব্যবহার করে কানেক্ট করুন এবং ডেটাবেস থেকে ভ্যালু পড়ুন। - স্ট্যাটাস চেক করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ZooKeeper-এর চার অক্ষরের শব্দ ব্যবহার করুন
ZooKeeper-কে ছোট সেট কমান্ডের (চার অক্ষরের শব্দ) মাধ্যমে মনিটর করা যেতে পারে যা netcat (nc) বা telnet ব্যবহার করে পোর্ট 2181-এ পাঠানো হয়।
ZooKeeper কমান্ড সম্পর্কে আরও তথ্যের জন্য, দেখুন: Apache ZooKeeper কমান্ড রেফারেন্স।
যেমন:
srvr: সার্ভারের সম্পূর্ণ বিবরণ তালিকাভুক্ত করে।stat: সার্ভার ও কানেক্ট করা ক্লায়েন্টের সংক্ষিপ্ত বিবরণ তালিকাভুক্ত করে।
ZooKeeper পোর্টে নিম্নলিখিত কমান্ড ইস্যু করা যেতে পারে:
- সার্ভারটি কোনও সমস্যা ছাড়াই চলছে কিনা তা পরীক্ষা করতে, চার অক্ষরের কমান্ড ruok চালান। A
সঠিক উত্তর পেলে "imok" রিটার্ন করে।
echo ruok | nc host 2181
ফেরত:
imok
- সার্ভারের পারফর্ম্যান্স ও কানেক্ট করা
ক্লায়েন্ট সংক্রান্ত পরিসংখ্যানের তালিকা পেতে,
stat, এই চারটি অক্ষরের কমান্ড রান করান:echo stat | nc host 2181
ফেরত:
Zookeeper version: 3.8.5-19f1842d4b6ee1f82cc8b05284959b26c6ae507d, built on 2025-09-18 17:23 UTC Clients: /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0) /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433) /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347) /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692) Latency min/avg/max: 0/0/128 Received: 26144 Sent: 26160 Connections: 4 Outstanding: 0 Zxid: 0x2000002c2 Mode: follower Node count: 283
- netcat (nc) উপলভ্য না থাকলে, আপনি বিকল্প হিসেবে python ব্যবহার করতে পারবেন।
zookeeper.pyনামে একটি ফাইল তৈরি করুন যার মধ্যে নিম্নলিখিত তথ্য থাকবে:import time, socket, sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM) c.connect((sys.argv[1], 2181)) c.send(sys.argv[2]) time.sleep(0.1) print c.recv(512)
এখন নিম্নলিখিত Python লাইনগুলি রান করুন:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
LDAP লেভেল টেস্ট
নির্দিষ্ট অনুরোধ সঠিকভাবে পূরণ করা হচ্ছে কিনা তা দেখতে আপনি SymasLDAP মনিটর করতে পারেন। অন্য কথায়, সঠিক ফলাফল দেয় এমন নির্দিষ্ট সার্চ চেক করুন।
- সিস্টেম অ্যাডমিনের এন্ট্রি
কোয়েরি করতে
ldapsearch(yum install symasldap-clients) ব্যবহার করুন। সব API কল যাচাই করতে এই এন্ট্রি ব্যবহার করা হয়।/opt/symas/bin/ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL
তারপরে আপনাকে LDAP অ্যাডমিন পাসওয়ার্ড দিতে বলা হবে:
Enter LDAP Password:
পাসওয়ার্ড লেখার পরে, আপনি এই ফর্ম্যাটে উত্তর দেখতে পাবেন:
dn: uid=admin,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top uid: admin cn: admin sn: admin userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ= = mail: opdk@google.com
- ম্যানেজমেন্ট সার্ভার এখনও LDAP-এর সাথে কানেক্ট করা আছে কিনা তা নিম্নলিখিত কমান্ডের সাহায্যে চেক করুন:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
ফেরত:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
এছাড়াও, আপনি SymasLDAP ক্যাশে মনিটর করতে পারেন, যা ডিস্ক অ্যাক্সেসের সংখ্যা কমাতে সাহায্য করে
এবং এর ফলে সিস্টেমের পারফর্ম্যান্স উন্নত হয়। SymasLDAP সার্ভারে ক্যাশের সাইজ মনিটর ও টিউন করলে,
ডিরেক্টরি সার্ভারের পারফর্ম্যান্সের উপর তা গভীর প্রভাব ফেলতে পারে। ক্যাশে সম্পর্কে তথ্য পেতে আপনি লগ
ফাইল (opt/apigee/var/log) দেখতে পারেন।