কিভাবে নিরীক্ষণ করা যায়

এই নথিটি প্রাইভেট ক্লাউডের জন্য Apigee Edge-এর অন-প্রিমিস স্থাপন দ্বারা সমর্থিত উপাদানগুলির নিরীক্ষণের কৌশলগুলি বর্ণনা করে।

ওভারভিউ

এজ পরিষেবাগুলির বিবরণ পাওয়ার পাশাপাশি তাদের স্থিতি পরীক্ষা করার জন্য বিভিন্ন উপায় সমর্থন করে। নিম্নলিখিত সারণীতে প্রতিটি যোগ্য পরিষেবাতে আপনি যে ধরণের চেকগুলি সম্পাদন করতে পারেন তার তালিকা রয়েছে:

Mgmt API
কম্পোনেন্ট মেমরি ব্যবহার [JMX * ] সার্ভিস চেক ব্যবহারকারী/সংস্থা/ স্থাপনার স্থিতি axstatus ডাটাবেস চেক apigee-service স্থিতি apigee-monit **
ম্যানেজমেন্ট সার্ভার
বার্তা প্রসেসর
রাউটার
Qpid
পোস্টগ্রেস
আরো তথ্য আরো তথ্য আরো তথ্য আরো তথ্য আরো তথ্য আরো তথ্য আরো তথ্য

* আপনি JMX ব্যবহার করার আগে, আপনাকে অবশ্যই এটি সক্ষম করতে হবে, যেমন JMX সক্ষম করুন -এ বর্ণিত হয়েছে।

** apigee-monit পরিষেবাটি পরীক্ষা করে যে একটি কম্পোনেন্ট চালু আছে কিনা এবং না থাকলে এটি পুনরায় চালু করার চেষ্টা করবে। আরও তথ্যের জন্য, এপিজি-মনিটের সাথে স্ব নিরাময় দেখুন।

পোর্ট এবং কনফিগারেশন ফাইল নিরীক্ষণ

প্রতিটি উপাদান বিভিন্ন পোর্টে জাভা ম্যানেজমেন্ট এক্সটেনশন (জেএমএক্স) এবং ম্যানেজমেন্ট এপিআই মনিটরিং কল সমর্থন করে। নিম্নলিখিত সারণীতে প্রতিটি ধরনের সার্ভারের জন্য JMX এবং ম্যানেজমেন্ট API পোর্ট এবং কনফিগারেশন ফাইলের অবস্থানগুলি তালিকাভুক্ত করা হয়েছে:

কম্পোনেন্ট জেএমএক্স পোর্ট ব্যবস্থাপনা 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
পোস্টগ্রেস 1103 8084 $APIGEE_ROOT/customer/application/postgres-server.properties

উপাদান নিরীক্ষণ JMX ব্যবহার করুন

নিম্নলিখিত বিভাগগুলি ব্যাখ্যা করে কিভাবে এজ উপাদানগুলি নিরীক্ষণ করতে JMX ব্যবহার করতে হয়।

JMX সক্ষম করুন

প্রমাণীকরণ বা SSL ভিত্তিক যোগাযোগ ছাড়া JMX সক্ষম করতে, নীচের পদক্ষেপগুলি সম্পাদন করুন৷ দ্রষ্টব্য: প্রোডাকশন সিস্টেমে, নিরাপত্তার জন্য এনক্রিপ্ট করা প্রমাণীকরণ এবং SSL উভয়ই সক্ষম করা উচিত।

  1. উপযুক্ত কনফিগারেশন ফাইল সম্পাদনা করুন ( কনফিগারেশন ফাইল রেফারেন্স দেখুন)। কনফিগারেশন ফাইলটি তৈরি করুন যদি এটি বিদ্যমান না থাকে।
    conf_system_jmxremote_enable=true
  2. কনফিগারেশন ফাইলটি সংরক্ষণ করুন এবং নিশ্চিত করুন যে এটি apigee:apigee এর মালিকানাধীন।
  3. উপযুক্ত এজ কম্পোনেন্ট রিস্টার্ট করুন
    apigee-service edge-management-server restart

JMX নিষ্ক্রিয় করতে, হয় conf_system_jmxremote_enable প্রপার্টি মুছে দিন অথবা এর মান false এ পরিবর্তন করুন। তারপরে উপযুক্ত এজ উপাদানটি পুনরায় চালু করুন।

JMX এ প্রমাণীকরণ

ব্যক্তিগত ক্লাউডের জন্য এজ ফাইলগুলিতে সংরক্ষিত বিবরণ ব্যবহার করে পাসওয়ার্ড ভিত্তিক প্রমাণীকরণ সমর্থন করে। অতিরিক্ত নিরাপত্তার জন্য আপনি হ্যাশ হিসাবে পাসওয়ার্ড সংরক্ষণ করতে পারেন।

  1. একটি প্রান্ত-* উপাদানে 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 এর মালিকানাধীন।
  2. পাসওয়ার্ডের একটি SHA256 হ্যাশ তৈরি করুন:
    echo -n '' | openssl dgst -sha256
  3. JMX ব্যবহারকারীর শংসাপত্র সহ একটি jmxremote.password ফাইল তৈরি করুন:
    1. আপনার $JAVA_HOME ডিরেক্টরি থেকে নিম্নলিখিত ফাইলগুলি /opt/apigee/customer/application/<component>/ ডিরেক্টরিতে অনুলিপি করুন :
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
    2. ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিত সিনট্যাক্স ব্যবহার করে আপনার JMX ব্যবহারকারীর নাম এবং পাসওয়ার্ড যোগ করুন:
      USERNAME <HASH-PASSWORD>
    3. নিশ্চিত করুন যে ফাইলটি apigee মালিকানাধীন এবং ফাইলের মোডটি 400:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
  4. JMX ব্যবহারকারীর অনুমতি নিয়ে একটি jmxremote.access ফাইল তৈরি করুন:
    1. আপনার $JAVA_HOME ডিরেক্টরি থেকে নিম্নলিখিত ফাইলগুলি /opt/apigee/customer/application/<component>/ ডিরেক্টরিতে অনুলিপি করুন
      
      cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
    2. ফাইলটি সম্পাদনা করুন এবং একটি অনুমতির পরে আপনার JMX ব্যবহারকারীর নাম যোগ করুন (READONLY/READWRITE)
      USERNAME READONLY
    3. নিশ্চিত করুন যে ফাইলটি apigee মালিকানাধীন এবং ফাইলের মোডটি 400:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
  5. উপযুক্ত প্রান্ত উপাদান পুনরায় আরম্ভ করুন:
    apigee-service edge-management-server restart

JMX প্রমাণীকরণ নিষ্ক্রিয় করতে, হয় conf_system_jmxremote_authenticate প্রপার্টি মুছে ফেলুন অথবা মানকে false পরিবর্তন করুন এবং উপযুক্ত এজ উপাদান পুনরায় চালু করুন।

JMX এ SSL

একটি প্রান্ত-* উপাদানে SSL ভিত্তিক JMX সক্ষম করতে:

  1. উপযুক্ত কনফিগারেশন ফাইল সম্পাদনা করুন ( কনফিগারেশন ফাইল রেফারেন্স দেখুন)। কনফিগারেশন ফাইলটি তৈরি করুন যদি এটি বিদ্যমান না থাকে:
    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 এর মালিকানাধীন।
  2. সার্ভার কী সম্বলিত একটি কীস্টোর প্রস্তুত করুন এবং উপরের কনফিগারেশন conf_system_javax_net_ssl_keystore এ প্রদত্ত পাথে রাখুন। নিশ্চিত করুন কীস্টোর ফাইলটি apigee:apigee দ্বারা পাঠযোগ্য।
  3. উপযুক্ত প্রান্ত উপাদান পুনরায় আরম্ভ করুন:
    apigee-service edge-management-server restart

SSL-ভিত্তিক JMX নিষ্ক্রিয় করতে, হয় conf_system_jmxremote_ssl প্রপার্টি মুছে ফেলুন অথবা মানটিকে false এ পরিবর্তন করুন। উপযুক্ত এজ উপাদানটি পুনরায় চালু করুন।

Jconsole এর মাধ্যমে পর্যবেক্ষণ

jconsole-এর মাধ্যমে নিরীক্ষণের নির্দেশাবলী https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole-এ বর্ণিত হিসাবে একই থাকে৷

একটি লাইন যোগ করা যেতে পারে যে "যদি JMX এর জন্য SSL সক্ষম করা থাকে তবে jconsole ট্রাস্টস্টোর এবং ট্রাস্টস্টোর পাসওয়ার্ড দিয়ে শুরু করতে হবে।" রেফারেন্স: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html

JConsole দিয়ে মনিটর করুন

স্বাস্থ্য পরীক্ষা এবং পরিসংখ্যান প্রক্রিয়াকরণের জন্য JConsole (একটি JMX অনুগত টুল) ব্যবহার করুন। JConsole-এর সাহায্যে, আপনি আপনার সার্ভার দ্বারা প্রকাশিত JMX পরিসংখ্যান ব্যবহার করতে পারেন এবং একটি গ্রাফিকাল ইন্টারফেসে প্রদর্শন করতে পারেন। আরও তথ্যের জন্য, JConsole ব্যবহার করা দেখুন।

JMX এর জন্য SSL সক্রিয় থাকলে আপনাকে ট্রাস্টস্টোর এবং ট্রাস্টস্টোর পাসওয়ার্ড দিয়ে JConsole শুরু করতে হবে। JConsole ব্যবহার করা দেখুন।

JConsole JMX এর মাধ্যমে দেওয়া JMX বৈশিষ্ট্য (MBeans) নিরীক্ষণ করতে নিম্নলিখিত পরিষেবা URL ব্যবহার করে:

service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi

কোথায়:

  • IP_address হল সার্ভারের IP ঠিকানা যা আপনি নিরীক্ষণ করতে চান।
  • port_number হল সার্ভারের JMX পোর্ট নম্বর যা আপনি নিরীক্ষণ করতে চান।

উদাহরণস্বরূপ, ম্যানেজমেন্ট সার্ভার নিরীক্ষণ করতে, নিম্নলিখিত মত একটি কমান্ড ইস্যু করুন (সার্ভারের আইপি ঠিকানা 216.3.128.12 ধরে নিলাম):

service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi

মনে রাখবেন যে এই উদাহরণটি পোর্ট 1099 নির্দিষ্ট করে, যা ম্যানেজমেন্ট সার্ভার JMX পোর্ট। অন্যান্য পোর্টের জন্য, JMX এবং ম্যানেজমেন্ট API মনিটরিং পোর্টগুলি দেখুন।

নিম্নলিখিত সারণী জেনেরিক JMX পরিসংখ্যান দেখায়:

JMX MBeans JMX গুণাবলী

স্মৃতি

HeapMemoryUsage

নন-হেপমেমোরি ব্যবহার

ব্যবহার

কনফিগারেশন ফাইল রেফারেন্স

JMX সম্পর্কিত কনফিগারেশনের জন্য এজ কম্পোনেন্ট কনফিগারেশন ফাইলগুলিতে আপনাকে যে পরিবর্তনগুলি করতে হবে তা নিম্নলিখিত বিভাগগুলি বর্ণনা করে৷ আরও তথ্যের জন্য মনিটরিং পোর্ট এবং কনফিগারেশন ফাইল দেখুন।

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
  • এনক্রিপ্ট করা বিন্যাসে পাসওয়ার্ড সংরক্ষণ সক্ষম করুন. ডিফল্টরূপে মিথ্যা।
    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
  • কীস্টোর পাসওয়ার্ড:
    conf_system_javax_net_ssl_keystorepassword=changeme

ঐচ্ছিক JMX কনফিগারেশন

তালিকাভুক্ত মানগুলি ডিফল্ট মান এবং পরিবর্তন করা যেতে পারে৷

  • জেএমএক্স পোর্ট। ডিফল্ট মান নীচের সারণিতে তালিকাভুক্ত করা হয়.
    conf_system_jmxremote_port=
  • JMX RMI পোর্ট। ডিফল্টরূপে, জাভা প্রক্রিয়া একটি র্যান্ডম পোর্ট বাছাই করবে।
    conf_system_jmxremote_rmi_port=
  • দূরবর্তী স্টাবগুলির জন্য হোস্টের নাম। লোকালহোস্টের ডিফল্ট আইপি ঠিকানা।
    conf_system_java_rmi_server_hostname=
  • SSL দিয়ে JMX রেজিস্ট্রি সুরক্ষিত করুন। ডিফল্ট মিথ্যা. শুধুমাত্র SSL সক্রিয় থাকলেই প্রযোজ্য।
    conf_system_jmxremote_registry_ssl=false

ম্যানেজমেন্ট এপিআই দিয়ে মনিটর করুন

এজ-এ বেশ কয়েকটি API অন্তর্ভুক্ত রয়েছে যা আপনি আপনার সার্ভারে পরিষেবা পরীক্ষা করার পাশাপাশি আপনার ব্যবহারকারী, সংস্থা এবং স্থাপনাগুলি পরীক্ষা করতে ব্যবহার করতে পারেন। এই বিভাগে এই APIs বর্ণনা.

পরিষেবা চেক সঞ্চালন

ম্যানেজমেন্ট API আপনার পরিষেবাগুলির সাথে সমস্যাগুলি পর্যবেক্ষণ এবং নির্ণয়ের জন্য বেশ কয়েকটি শেষ পয়েন্ট প্রদান করে। এই শেষ পয়েন্ট অন্তর্ভুক্ত:

শেষবিন্দু বর্ণনা
/servers/self/up

একটি পরিষেবা চলছে কিনা তা পরীক্ষা করে। এই API কলের জন্য আপনাকে প্রমাণীকরণের প্রয়োজন নেই।

পরিষেবাটি চলমান থাকলে, এই শেষ পয়েন্টটি নিম্নলিখিত প্রতিক্রিয়া প্রদান করে:

<ServerField>
  <Up>true</Up>
</ServerField>

যদি পরিষেবাটি চালু না হয়, তাহলে আপনি নিম্নলিখিতগুলির মতো একটি প্রতিক্রিয়া পাবেন (এটি কোন পরিষেবা এবং আপনি কীভাবে এটি পরীক্ষা করেছেন তার উপর নির্ভর করে):

curl: Failed connect to localhost:port_number; Connection refused
/servers/self

পরিষেবা সম্পর্কে তথ্য প্রদান করে, সহ:

  • কনফিগারেশন বৈশিষ্ট্য
  • শুরুর সময় এবং আপ সময়
  • বিল্ড, RPM, এবং UUID তথ্য
  • অভ্যন্তরীণ এবং বহিরাগত হোস্টনাম এবং আইপি ঠিকানা
  • অঞ্চল এবং শুঁটি
  • <isUp> সম্পত্তি, পরিষেবাটি চলছে কিনা তা নির্দেশ করে

এই 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 হল সার্ভারের আইপি ঠিকানা যা আপনি পরীক্ষা করতে চান। আপনি সার্ভারে লগ ইন করা থাকলে, আপনি "localhost" ব্যবহার করতে পারেন; অন্যথায়, সার্ভারের IP ঠিকানার পাশাপাশি ব্যবহারকারীর নাম এবং পাসওয়ার্ড উল্লেখ করুন।
  • port_number হল ম্যানেজমেন্ট API পোর্ট যার সার্ভার আপনি পরীক্ষা করতে চান। এটি প্রতিটি ধরনের উপাদানের জন্য একটি ভিন্ন পোর্ট। উদাহরণস্বরূপ, ম্যানেজমেন্ট সার্ভারের ম্যানেজমেন্ট এপিআই পোর্ট হল 8080। ব্যবহার করার জন্য ম্যানেজমেন্ট এপিআই পোর্ট নম্বরগুলির একটি তালিকার জন্য, জেএমএক্স এবং ম্যানেজমেন্ট এপিআই মনিটরিং পোর্টগুলি দেখুন

প্রতিক্রিয়ার বিন্যাস পরিবর্তন করতে, আপনি "অ্যাপ্লিকেশন/json" বা "অ্যাপ্লিকেশন/xml" হিসাবে Accept শিরোনামটি নির্দিষ্ট করতে পারেন।

নিম্নলিখিত উদাহরণটি লোকালহোস্টে রাউটারের স্থিতি পায় (পোর্ট 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:password
curl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password

যেখানে port_number হয় ম্যানেজমেন্ট সার্ভারের জন্য 8080 অথবা মেসেজ প্রসেসরের জন্য 8082।

এই কলের জন্য আপনাকে আপনার সিস্টেম প্রশাসনের ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে প্রমাণীকরণ করতে হবে।

সার্ভারের সকল কলের জন্য একটি "নিয়োজিত" অবস্থা ফেরত দেওয়া উচিত। এইগুলি ব্যর্থ হলে, নিম্নলিখিতগুলি করুন:

  1. কোনো ত্রুটির জন্য সার্ভার লগ চেক করুন. লগগুলি এখানে অবস্থিত:
    • ম্যানেজমেন্ট সার্ভার: opt/apigee/var/log/edge-management-server
    • বার্তা প্রসেসর: opt/apigee/var/log/edge-message-processor
  2. এটি সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করতে সার্ভারের বিরুদ্ধে একটি কল করুন।
  3. ELB থেকে সার্ভারটি সরান এবং তারপর এটি পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service service_name restart

    যেখানে service_name হল:

    • edge-management-server
    • edge-message-processor

apigee-service কমান্ড দিয়ে স্থিতি পরীক্ষা করুন

আপনি যখন পরিষেবাটি চলমান সার্ভারে লগ ইন করেন তখন apigee-service কমান্ড ব্যবহার করে আপনার এজ পরিষেবাগুলির সমস্যা সমাধান করতে পারেন৷

apigee-service সহ একটি পরিষেবার স্থিতি পরীক্ষা করতে:

  1. সার্ভারে লগ ইন করুন এবং নিম্নলিখিত কমান্ডটি চালান:
    /opt/apigee/apigee-service/bin/apigee-service service_name status

    যেখানে service_name নিম্নলিখিতগুলির মধ্যে একটি:

    • ম্যানেজমেন্ট সার্ভার: edge-management-server
    • বার্তা প্রসেসর: edge-message-processor
    • পোস্টগ্রেস: edge-postgres-server
    • Qpid: edge-qpid-server
    • রাউটার: edge-router

    যেমন:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
  2. পরিষেবা চালু না হলে, পরিষেবা শুরু করুন:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. পরিষেবা পুনঃসূচনা করার পরে, এটি কাজ করছে কিনা তা পরীক্ষা করুন, হয় আপনার পূর্বে ব্যবহৃত apigee-service status কমান্ড ব্যবহার করে অথবা ম্যানেজমেন্ট API-এর সাথে মনিটরে বর্ণিত ম্যানেজমেন্ট API ব্যবহার করে।

    যেমন:

    curl -v http://localhost:port_number/v1/servers/self/up

    যেখানে port_number হল পরিষেবার জন্য ম্যানেজমেন্ট API পোর্ট

    এই উদাহরণটি ধরে নেয় যে আপনি সার্ভারে লগ ইন করেছেন এবং হোস্টনাম হিসাবে "স্থানীয় হোস্ট" ব্যবহার করতে পারেন। ম্যানেজমেন্ট এপিআই-এর সাথে দূরবর্তীভাবে স্থিতি পরীক্ষা করতে, আপনাকে অবশ্যই সার্ভারের আইপি ঠিকানা উল্লেখ করতে হবে এবং আপনার API কলে সিস্টেম প্রশাসকের ব্যবহারকারীর নাম এবং পাসওয়ার্ড অন্তর্ভুক্ত করতে হবে।

পোস্টগ্রেস পর্যবেক্ষণ

Postgres বেশ কয়েকটি ইউটিলিটি সমর্থন করে যা আপনি এর স্থিতি পরীক্ষা করতে ব্যবহার করতে পারেন। এই ইউটিলিটিগুলি অনুসরণ করা বিভাগগুলিতে বর্ণনা করা হয়েছে।

Postgres-এ প্রতিষ্ঠান এবং পরিবেশ পরীক্ষা করুন

আপনি নিম্নলিখিত curl কমান্ডটি জারি করে পোস্টগ্রেস সার্ভারে অনবোর্ড করা সংস্থা এবং পরিবেশের নামগুলি পরীক্ষা করতে পারেন:

curl -v http://postgres_IP:8084/v1/servers/self/organizations

সিস্টেমের সংগঠন এবং পরিবেশের নাম প্রদর্শন করা উচিত।

বিশ্লেষণ স্থিতি যাচাই করুন

আপনি নিম্নলিখিত 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 ডাটাবেস

এই বিভাগে কৌশলগুলি বর্ণনা করা হয়েছে যা আপনি পোস্টগ্রেস ডাটাবেস নিরীক্ষণের জন্য বিশেষভাবে ব্যবহার করতে পারেন।

check_postgres.pl স্ক্রিপ্ট ব্যবহার করুন

PostgreSQL ডাটাবেস নিরীক্ষণ করতে, আপনি একটি স্ট্যান্ডার্ড মনিটরিং স্ক্রিপ্ট ব্যবহার করতে পারেন, check_postgres.pl । আরও তথ্যের জন্য, http://bucardo.org/wiki/Check_postgres দেখুন।

আপনি স্ক্রিপ্ট চালানোর আগে:

  1. আপনাকে অবশ্যই প্রতিটি Postgres নোডে check_postgres.pl স্ক্রিপ্ট ইনস্টল করতে হবে।
  2. নিশ্চিত করুন যে আপনি perl-Time-HiRes.x86_64 ইনস্টল করেছেন, একটি পার্ল মডিউল যা উচ্চ রেজোলিউশন অ্যালার্ম, ঘুম, গেটটাইম অফ ডে এবং ইন্টারভাল টাইমার প্রয়োগ করে৷ উদাহরণস্বরূপ, আপনি নিম্নলিখিত কমান্ড ব্যবহার করে এটি ইনস্টল করতে পারেন:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: CentOS v7 এ check_postgres.pl ব্যবহার করার আগে, perl-Data-Dumper.x86_64 RPM ইনস্টল করুন।

check_postgres.pl আউটপুট

check_postgres.pl ব্যবহার করে API কলের ডিফল্ট আউটপুট Nagios সামঞ্জস্যপূর্ণ। আপনি স্ক্রিপ্ট ইনস্টল করার পরে, নিম্নলিখিত চেকগুলি করুন:

  1. ডাটাবেসের আকার পরীক্ষা করুন:
    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'
  2. ডাটাবেসে আগত সংযোগের সংখ্যা পরীক্ষা করুন এবং সর্বাধিক অনুমোদিত সংযোগের সাথে তুলনা করুন:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. ডাটাবেস চলমান এবং উপলব্ধ কিনা তা পরীক্ষা করুন:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. ডিস্কের স্থান পরীক্ষা করুন:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
  5. পোস্টগ্রেস নোডে অনবোর্ড করা সংস্থা এবং পরিবেশের সংখ্যা পরীক্ষা করুন:
    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 ডাটাবেসে লগ ইন করুন:

psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee

তারপর চালান:

\d analytics."org.env.fact"

পোস্টগ্রেস প্রক্রিয়ার স্বাস্থ্যের অবস্থা পরীক্ষা করুন

আপনি নিম্নলিখিত curl কমান্ডটি ব্যবহার করে পোস্টগ্রেস মেশিনে API চেক করতে পারেন:

curl -v http://postgres_IP:8084/v1/servers/self/health

পোস্টগ্রেস প্রক্রিয়া সক্রিয় থাকাকালীন এই কমান্ডটি ACTIVE অবস্থা প্রদান করে। Postgres প্রক্রিয়া চালু না হলে, এটি INACTIVE অবস্থা ফিরিয়ে দেয়।

পোস্টগ্রেস সম্পদ

Postgres পরিষেবা নিরীক্ষণ সম্পর্কে অতিরিক্ত তথ্যের জন্য, নিম্নলিখিত দেখুন:

অ্যাপাচি ক্যাসান্দ্রা

জেএমএক্স ক্যাসান্দ্রার জন্য ডিফল্টরূপে সক্রিয় থাকে এবং ক্যাসান্দ্রার দূরবর্তী জেএমএক্স অ্যাক্সেসের জন্য পাসওয়ার্ডের প্রয়োজন হয় না।

ক্যাসান্দ্রার জন্য JMX প্রমাণীকরণ সক্ষম করুন

আপনি ক্যাসান্দ্রার জন্য JMX প্রমাণীকরণ সক্ষম করতে পারেন। এটি করার পরে, আপনাকে নোডটুল ইউটিলিটিতে সমস্ত কলের জন্য একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড পাস করতে হবে।

ক্যাসান্দ্রার জন্য JMX প্রমাণীকরণ সক্ষম করতে:

  1. cassandra.properties ফাইল তৈরি এবং সম্পাদনা করুন:
    1. /opt/apigee/customer/application/cassandra.properties ফাইলটি সম্পাদনা করুন। যদি ফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করুন।
    2. ফাইলে নিম্নলিখিত যোগ করুন:
      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
    3. cassandra.properties ফাইলটি সংরক্ষণ করুন।
    4. ফাইলের মালিককে apigee:apigee তে পরিবর্তন করুন, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties

    টোকেন সেট করতে বৈশিষ্ট্য ফাইল ব্যবহার করার বিষয়ে আরও তথ্যের জন্য, এজ কনফিগার করার পদ্ধতি দেখুন।

  2. jmx_auth.sh তৈরি এবং সম্পাদনা করুন:
    1. নিম্নলিখিত অবস্থানে একটি ফাইল তৈরি করুন যদি এটি বিদ্যমান না থাকে:
      /opt/apigee/customer/application/jmx_auth.sh
    2. ফাইলে নিম্নলিখিত বৈশিষ্ট্য যোগ করুন:
      export CASS_JMX_USERNAME=JMX_USERNAME
      export CASS_JMX_PASSWORD=JMX_PASSWORD
    3. jmx_auth.sh ফাইলটি সংরক্ষণ করুন।
    4. ফাইলের উৎস:
      source /opt/apigee/customer/application/jmx_auth.sh
  3. jmxremote.password ফাইলটি অনুলিপি করুন এবং সম্পাদনা করুন:
    1. আপনার $JAVA_HOME ডিরেক্টরি থেকে নিম্নলিখিত ফাইলটি অনুলিপি করুন /opt/apigee/customer/application/apigee-cassandra/ :
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
    2. jmxremote.password ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিত সিনট্যাক্স ব্যবহার করে আপনার JMX ব্যবহারকারীর নাম এবং পাসওয়ার্ড যোগ করুন:
      JMX_USERNAME JMX_PASSWORD

      যেখানে JMX_USERNAME এবং JMX_PASSWORD হল JMX ব্যবহারকারীর নাম এবং পাসওয়ার্ড আপনি আগে সেট করেছেন৷

    3. নিশ্চিত করুন যে ফাইলটি "apigee" এর মালিকানাধীন এবং ফাইলের মোডটি 400:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
  4. jmxremote.access ফাইলটি অনুলিপি এবং সম্পাদনা করুন:
    1. আপনার $JAVA_HOME ডিরেক্টরি থেকে নিম্নলিখিত ফাইলটি অনুলিপি করুন /opt/apigee/customer/application/apigee-cassandra/ :
      cp ${JAVA_HOME}/lib/management/jmxremote.access
      $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
    2. jmxremote.access ফাইলটি সম্পাদনা করুন এবং নিম্নলিখিত ভূমিকা যোগ করুন:
      JMX_USERNAME readwrite
    3. নিশ্চিত করুন যে ফাইলটি "apigee" এর মালিকানাধীন এবং ফাইলের মোডটি 400:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
  5. ক্যাসান্দ্রায় configure চালান:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. ক্যাসান্দ্রা পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. অন্যান্য সমস্ত ক্যাসান্ড্রা নোডগুলিতে এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।

JMX পাসওয়ার্ড এনক্রিপশন সক্ষম করুন

JMX পাসওয়ার্ড এনক্রিপশন সক্ষম করতে, নিম্নলিখিত পদক্ষেপগুলি করুন:

  1. source/conf/casssandra-env.sh ফাইলটি খুলুন।
  2. cassandra.properties ফাইল তৈরি এবং সম্পাদনা করুন:
    1. /opt/apigee/customer/application/cassandra.properties ফাইলটি সম্পাদনা করুন। যদি ফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করুন।
    2. ফাইলে নিম্নলিখিত যোগ করুন:
      conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
    3. cassandra.properties ফাইলটি সংরক্ষণ করুন।
    4. ফাইলের মালিককে apigee:apigee-তে পরিবর্তন করুন, নিম্নলিখিত উদাহরণটি দেখায়:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  3. কমান্ড লাইনে, echo -n 'Secret' | openssl dgst -sha1
  4. $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password এ ব্যবহারকারীর নামের বিপরীতে পাসওয়ার্ড(গুলি) সেট করুন (আগের বিভাগে তৈরি)।
  5. ক্যাসান্দ্রায় কনফিগার চালান:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. ক্যাসান্দ্রা পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. অন্যান্য সমস্ত ক্যাসান্ড্রা নোডগুলিতে এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।

ক্যাসান্দ্রার জন্য SSL দিয়ে JMX সক্ষম করুন

SSL এর সাথে JMX সক্ষম করা ক্যাসান্দ্রার সাথে JMX-ভিত্তিক যোগাযোগের জন্য অতিরিক্ত নিরাপত্তা এবং এনক্রিপশন প্রদান করে। SSL-এর সাথে JMX সক্ষম করতে, SSL-ভিত্তিক JMX সংযোগগুলি গ্রহণ করার জন্য আপনাকে ক্যাসান্দ্রাকে একটি কী এবং একটি শংসাপত্র প্রদান করতে হবে৷ আপনাকে SSL-এর জন্য নোডটুল (এবং অন্য কোনও সরঞ্জাম যা জেএমএক্সের উপর ক্যাসান্দ্রার সাথে যোগাযোগ করে) কনফিগার করতে হবে।

SSL-সক্ষম JMX প্লেইনটেক্সট এবং এনক্রিপ্ট করা JMX পাসওয়ার্ড উভয়ই সমর্থন করে।

ক্যাসান্দ্রার জন্য SSL এর সাথে JMX সক্ষম করতে, নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন:

  1. JMX সক্ষম করুন । প্রয়োজন হলে পাসওয়ার্ড এনক্রিপশন সক্রিয় করুন।
  2. ক্যাসান্দ্রার জন্য JMX প্রমাণীকরণ সক্ষম করুন । উপরে বর্ণিত হিসাবে। নিশ্চিত করুন যে nodetool কনফিগার করা ব্যবহারকারীর নাম এবং পাসওয়ার্ডের সাথে কাজ করছে।
    /opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
  3. কীস্টোর এবং ট্রাস্টস্টোর প্রস্তুত করুন।

    • কীস্টোরে একটি কী এবং শংসাপত্র থাকা উচিত এবং ক্যাসান্দ্রা সার্ভার কনফিগার করতে ব্যবহৃত হয়। যদি কীস্টোরে একাধিক কী জোড়া থাকে, ক্যাসান্দ্রা SSL সক্ষম করতে প্রথম কী জোড়া ব্যবহার করে।

      লক্ষ্য করুন যে কীস্টোর এবং কী-এর পাসওয়ার্ড একই হওয়া উচিত (যখন আপনি কী-টুল ব্যবহার করে কী তৈরি করেন তখন ডিফল্ট)।

    • ট্রাস্টস্টোরে শুধুমাত্র শংসাপত্র থাকা উচিত এবং ক্লায়েন্টরা (এপিজি-সার্ভিস ভিত্তিক কমান্ড বা নোডটুল) JMX-এর সাথে সংযোগ করতে ব্যবহার করে।

    উপরের প্রয়োজনীয়তা যাচাই করার পরে:

    1. কীস্টোর ফাইলটি /opt/apigee/customer/application/apigee-cassandra/ -এ রাখুন।
    2. নিশ্চিত করুন কীস্টোর ফাইলটি শুধুমাত্র প্রবেশ করে Apigee ব্যবহারকারীর দ্বারা পাঠযোগ্য
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
  4. নিম্নলিখিত পদক্ষেপগুলি করে SSL এর সাথে JMX এর জন্য Cassandra কনফিগার করুন:
    1. প্রবেশ করে ক্যাসান্দ্রা নোড বন্ধ করুন
      apigee-service apigee-cassandra stop
    2. /opt/apigee/customer/application/cassandra.properties ফাইলটি খুলে এবং নিম্নলিখিত লাইনগুলি যোগ করে ক্যাসান্দ্রায় SSL সক্ষম করুন:
      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
      ## On FIPS enabled systems, when you are using non standard keystore, set the following:
      ## These can be skipped otherwise
      ## Possible values are JKS, PKCS12, BCFKS
      conf_cassandra_env_javax.net.ssl.keyStoreType=PKCS12
      conf_cassandra_env_javax.net.ssl.keyStoreAlias=cassjmx-tls-alias
    3. ফাইলের মালিককে apigee:apigee-তে পরিবর্তন করুন, নিম্নলিখিত উদাহরণটি দেখায়:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    4. ক্যাসান্দ্রায় কনফিগার চালান:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    5. ক্যাসান্দ্রা পুনরায় চালু করুন:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. অন্যান্য সমস্ত ক্যাসান্ড্রা নোডগুলিতে এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।
    7. প্রবেশ করে ক্যাসান্দ্রা নোড শুরু করুন
      apigee-service apigee-cassandra start
  5. apigee-service ক্যাসান্দ্রা কমান্ড কনফিগার করুন। apigee-service কমান্ড চালানোর সময় আপনাকে নির্দিষ্ট পরিবেশের ভেরিয়েবল সেট করতে হবে, নীচেরগুলি সহ:
    apigee-service apigee-cassandra stop
    apigee-service apigee-cassandra wait_for_ready
    apigee-service apigee-cassandra ring
    apigee-service apigee-cassandra backup

    JMX প্রমাণীকরণ এবং SSL-এর জন্য apigee-service কনফিগার করার জন্য বেশ কয়েকটি বিকল্প রয়েছে। ব্যবহারযোগ্যতা এবং আপনার নিরাপত্তা অনুশীলনের উপর ভিত্তি করে একটি বিকল্প চয়ন করুন।

    বিকল্প 1 (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
    ## If you are using a non standard truststore, set below, otherwise skip
    ## Possible values are JKS, PKCS12, BCFKS
    -Djavax.net.ssl.trustStoreType=PKCS12

    নিশ্চিত করুন যে ট্রাস্টোর ফাইলটি Apigee ব্যবহারকারী দ্বারা পাঠযোগ্য।

    নিম্নলিখিত apigee-service কমান্ডটি চালান। যদি এটি ত্রুটি ছাড়াই চলে তবে আপনার কনফিগারেশন সঠিক।

    apigee-service apigee-cassandra ring

    বিকল্প 2 (পরিবেশ ভেরিয়েবলে সংরক্ষিত 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

    বিকল্প 3 (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
  6. নোডটুল সেট আপ করুন। Nodetool এর জন্য JMX পরামিতি পাস করতে হবে। নিচের কনফিগারেশন বিকল্পগুলিতে বর্ণিত হিসাবে SSL-সক্ষম JMX-এর সাথে চালানোর জন্য আপনি দুটি উপায়ে নোডটুল কনফিগার করতে পারেন:

    SSL সম্পর্কিত কনফিগারেশনগুলি nodetool-এ পাস করার পদ্ধতিতে বিকল্পগুলি আলাদা। উভয় ক্ষেত্রেই, নোডটুল চালানো ব্যবহারকারীর ট্রাস্টস্টোর ফাইলে READ অনুমতি থাকা উচিত। ব্যবহারযোগ্যতা এবং আপনার নিরাপত্তা অনুশীলনের উপর ভিত্তি করে একটি উপযুক্ত বিকল্প বেছে নিন।

    nodetool প্যারামিটার সম্পর্কে আরও জানতে, DataStax ডকুমেন্টেশন দেখুন।

    কনফিগারেশন বিকল্প 1

    নোডটুল চলমান ব্যবহারকারীর হোম ডিরেক্টরিতে একটি ফাইল তৈরি করুন।

    $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
    ## If you are using a non standard truststore, set below, otherwise skip
    ## Possible values are JKS, PKCS12, BCFKS
    -Djavax.net.ssl.trustStoreType=PKCS12

    উপরে উল্লিখিত ট্রাস্টস্টোর পাথ নোডটুল চলমান যেকোনো ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য হওয়া উচিত।

    --ssl বিকল্পের সাথে nodetool চালান।

    /opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

    কনফিগারেশন বিকল্প 2

    নীচে তালিকাভুক্ত অতিরিক্ত পরামিতি সহ একটি একক কমান্ড হিসাবে 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 কনফিগারেশনগুলিকে প্রত্যাবর্তন করতে চান তবে নিম্নলিখিত পদক্ষেপগুলি করুন:

  1. apigee-cassandra প্রবেশ করে থামুন
    apigee-service apigee-cassandra stop
  2. /opt/apigee/customer/application/cassandra.properties ফাইল থেকে conf_cassandra-env_com.sun.management.jmxremote.ssl=true লাইনটি সরান।
  3. নিম্নলিখিত লাইনগুলি /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”
  4. প্রবেশ করে apigee-cassandra শুরু করুন
  5. apigee-service apigee-cassandra start
  6. পরিবেশ পরিবর্তনশীল CASS_JMX_SSL যদি সেট করা থাকে তা সরান।

    unset CASS_JMX_SSL
  7. ring , stop , backup ইত্যাদির মতো apigee-service ভিত্তিক কমান্ডগুলি কাজ করছে কিনা তা পরীক্ষা করুন৷
  8. nodetool সহ --ssl সুইচ ব্যবহার করা বন্ধ করুন

ক্যাসান্দ্রার জন্য JMX প্রমাণীকরণ অক্ষম করুন

ক্যাসান্দ্রার জন্য JMX প্রমাণীকরণ নিষ্ক্রিয় করতে:

  1. /opt/apigee/customer/application/cassandra.properties সম্পাদনা করুন।
  2. ফাইলে নিম্নলিখিত লাইনটি সরান:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. ক্যাসান্দ্রায় কনফিগার চালান:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. ক্যাসান্দ্রা পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. অন্যান্য সমস্ত ক্যাসান্ড্রা নোডগুলিতে এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।

JConsole ব্যবহার করুন: টাস্ক পরিসংখ্যান নিরীক্ষণ করুন

JMX এর মাধ্যমে অফার করা JMX বৈশিষ্ট্য (MBeans) নিরীক্ষণ করতে JConsole এবং নিম্নলিখিত পরিষেবা URL ব্যবহার করুন:

service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi

যেখানে IP_address হল Cassandra সার্ভারের IP।

ক্যাসান্দ্রা জেএমএক্স পরিসংখ্যান

JMX MBeans JMX গুণাবলী

কলাম পরিবার/অ্যাপ্রেপো/পরিবেশ

কলাম পরিবার/অ্যাপ্রেপো/সংস্থা

ColumnFamilies/apprepo/apiproxy_revisions

কলাম পরিবার/অ্যাপ্রেপো/এপিপ্রক্সি

কলাম পরিবার/অডিট/অডিট

ColumnFamilies/audit/audits_ref

পেন্ডিং টাস্ক

MemtableColumns Count

মেমটেবল ডেটা সাইজ

রিডকাউন্ট

RecentReadLatencyMicros

TotalReadLatencyMicros

রাইট কাউন্ট

RecentWriteLatencyMicros

TotalWriteLatencyMicros

টোটাল ডিস্কস্পেস ব্যবহার করা হয়েছে

লাইভডিস্কস্পেস ব্যবহার করা হয়েছে

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

ক্লাস্টার নোডগুলি পরিচালনা করতে nodetool ব্যবহার করুন

নোডটুল ইউটিলিটি হল ক্যাসান্দ্রার জন্য একটি কমান্ড লাইন ইন্টারফেস যা ক্লাস্টার নোডগুলি পরিচালনা করে। ইউটিলিটিটি /opt/apigee/apigee-cassandra/bin এ পাওয়া যাবে।

সমস্ত ক্যাসান্দ্রা ক্লাস্টার নোডগুলিতে নিম্নলিখিত কলগুলি করা যেতে পারে:

  1. সাধারণ রিং তথ্য (একক ক্যাসান্ড্রা নোডের জন্যও সম্ভব): সমস্ত নোডের জন্য "আপ" এবং "সাধারণ" সন্ধান করুন।
    nodetool [-u username -pw password] -h localhost ring

    আপনি যদি ক্যাসান্দ্রার জন্য 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
  2. নোড সম্পর্কে সাধারণ তথ্য (নোড প্রতি কল)
    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
  3. থ্রিফ্ট সার্ভারের স্থিতি (ক্লায়েন্ট API পরিবেশন করা)
    nodetool [-u username -pw password] -h localhost statusthrift

    উপরের কমান্ডের আউটপুট নিম্নলিখিত মত দেখায়:

    running
  4. ডেটা স্ট্রিমিং অপারেশনের স্থিতি : ক্যাসান্ড্রা নোডের জন্য ট্র্যাফিক পর্যবেক্ষণ করুন:
    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

নোডটুল সম্পর্কে আরও তথ্যের জন্য, নোডটুল ইউটিলিটি সম্পর্কে দেখুন।

ক্যাসান্দ্রা সম্পদ

নিম্নলিখিত URL দেখুন: http://www.datastax.com/docs/1.0/operations/monitoring

Apache Qpid ব্রোকার-জে মনিটরিং

আপনি Qpid ম্যানেজমেন্ট কনসোল থেকে Qpid Broker-J নিরীক্ষণ করতে পারেন। এই বিভাগটি ব্যাখ্যা করে যে কীভাবে কনসোল অ্যাক্সেস করতে হয় এবং এটি মৌলিক পর্যবেক্ষণ ফাংশন সম্পাদন করতে ব্যবহার করতে হয়। ম্যানেজমেন্ট কনসোল ব্যবহার করার বিষয়ে আরও বিস্তারিত তথ্যের জন্য, Apache Qpid ডকুমেন্টেশনে ওয়েব ম্যানেজমেন্ট কনসোল দেখুন।

ম্যানেজমেন্ট কনসোল অ্যাক্সেস করুন

ডিফল্ট ম্যানেজমেন্ট কনসোল পোর্ট হল 8090। এই ডিফল্ট পোর্টে কনসোল অ্যাক্সেস করতে, আপনার ওয়েব ব্রাউজারকে নির্দেশ করুন:

http://QPID_NODE_IP:8090

কনসোলে লগ ইন করতে, Apigee দ্বারা সেট করা ডিফল্ট শংসাপত্রগুলি বা এজ কনফিগারেশন ফাইলে সেট করাগুলি ব্যবহার করুন৷ বিস্তারিত জানার জন্য, এজ কনফিগারেশন ফাইল রেফারেন্স দেখুন।

সারি এবং বার্তা নিরীক্ষণ

বাম-নেভিগেশন প্যানেলে, Java-Broker > virtualhosts > quees- এ নেভিগেট করুন। 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 কীস্টোর ফর্ম্যাট গ্রহণ করে। এটি একটি PKCS12 কীস্টোরও গ্রহণ করতে পারে, যা OpenSSL এর মতো টুল ব্যবহার করে তৈরি করা যেতে পারে।

কীস্টোর প্রস্তুতি

কীস্টোর তৈরি করার জন্য, জাভা কীটুল ডকুমেন্টেশন দেখুন।

PKCS12 কীস্টোর তৈরি করার জন্য, OpenSSL ডকুমেন্টেশন দেখুন।

প্রয়োজনীয়তা যাচাই করার পরে

  1. কীস্টোর ফাইলটি /opt/apigee/customer/application/apigee-qpidd এ রাখুন।
  2. নিশ্চিত করুন কীস্টোর ফাইলটি শুধুমাত্র 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
  1. ফাইলের মালিককে এপিজি:এপিজিতে পরিবর্তন করুন:
    chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
  2. Qpidd কনফিগার করুন:
    apigee-service apigee-qpidd configure
  3. Qpidd পুনরায় চালু করুন:
    apigee-service apigee-qpidd restart
  4. অপেক্ষার জন্য_প্রস্তুত সহ স্থিতি পরীক্ষা করুন:
    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
  1. Qpidd কনফিগার করুন:
    apigee-service apigee-qpidd configure
  2. Qpidd পুনরায় চালু করুন:
    apigee-service apigee-qpidd restart
  3. অপেক্ষার জন্য_প্রস্তুত সহ স্থিতি পরীক্ষা করুন:
    apigee-service apigee-qpidd wait_for_ready

Apache ZooKeeper

চিড়িয়াখানার স্থিতি পরীক্ষা করুন

  1. ZooKeeper প্রক্রিয়া চলছে তা নিশ্চিত করুন। ZooKeeper opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid করতে একটি PID ফাইল লেখে।
  2. আপনি প্রতিটি ZooKeeper সার্ভারে 2181 এবং 3888 পোর্টে একটি TCP সংযোগ স্থাপন করতে পারেন তা নিশ্চিত করতে ZooKeeper পোর্ট পরীক্ষা করুন।
  3. আপনি ZooKeeper ডাটাবেস থেকে মান পড়তে পারেন তা নিশ্চিত করুন। একটি ZooKeeper ক্লায়েন্ট লাইব্রেরি (বা /opt/apigee/apigee-zookeeper/bin/zkCli.sh ) ব্যবহার করে সংযোগ করুন এবং ডাটাবেস থেকে একটি মান পড়ুন।
  4. স্থিতি পরীক্ষা করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

ZooKeeper চার অক্ষরের শব্দ ব্যবহার করুন

নেটক্যাট (এনসি) বা টেলনেট ব্যবহার করে 2181 পোর্টে পাঠানো কমান্ডের (চার-অক্ষরের শব্দ) একটি ছোট সেটের মাধ্যমে ZooKeeper-কে পর্যবেক্ষণ করা যেতে পারে।

ZooKeeper কমান্ড সম্পর্কে আরও তথ্যের জন্য, দেখুন: Apache ZooKeeper কমান্ড রেফারেন্স

যেমন:

  • srvr : সার্ভারের জন্য সম্পূর্ণ বিবরণ তালিকাভুক্ত করে।
  • stat : সার্ভার এবং সংযুক্ত ক্লায়েন্টদের জন্য সংক্ষিপ্ত বিবরণ তালিকাভুক্ত করে।

ZooKeeper পোর্টে নিম্নলিখিত কমান্ড জারি করা যেতে পারে:

  1. সার্ভারটি ত্রুটিহীন অবস্থায় চলছে কিনা তা পরীক্ষা করতে চার-অক্ষরের কমান্ড রুক চালান। একটি সফল প্রতিক্রিয়া "imok" ফেরত দেয়।
    echo ruok | nc host 2181

    রিটার্ন:

    imok
  2. সার্ভার কর্মক্ষমতা এবং সংযুক্ত ক্লায়েন্ট পরিসংখ্যান তালিকাভুক্ত করতে চার-অক্ষরের কমান্ড, stat চালান:
    echo stat | nc host 2181

    রিটার্ন:

    Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
    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
  3. যদি netcat (nc) উপলব্ধ না হয়, আপনি একটি বিকল্প হিসাবে পাইথন ব্যবহার করতে পারেন। 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 zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

LDAP স্তরের পরীক্ষা

নির্দিষ্ট অনুরোধগুলি সঠিকভাবে পরিবেশিত হয়েছে কিনা তা দেখতে আপনি OpenLDAP নিরীক্ষণ করতে পারেন। অন্য কথায়, একটি নির্দিষ্ট অনুসন্ধানের জন্য পরীক্ষা করুন যা সঠিক ফলাফল প্রদান করে।

  1. সিস্টেম অ্যাডমিনের এন্ট্রি জিজ্ঞাসা করতে ldapsearch ( yum install openldap-clients ) ব্যবহার করুন। এই এন্ট্রিটি সমস্ত API কল প্রমাণীকরণ করতে ব্যবহৃত হয়।
    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
  2. ম্যানেজমেন্ট সার্ভার এখনও নিম্নলিখিত কমান্ডের সাথে LDAP এর সাথে সংযুক্ত কিনা তা পরীক্ষা করুন:
    curl -u userEMail:password http://localhost:8080/v1/users/ADMIN

    রিটার্ন:

    {
      "emailId" : ADMIN,
      "firstName" : "admin",
      "lastName" : "admin"
    }

আপনি OpenLDAP ক্যাশেও নিরীক্ষণ করতে পারেন, যা ডিস্ক অ্যাক্সেসের সংখ্যা কমাতে সাহায্য করে এবং তাই সিস্টেমের কর্মক্ষমতা উন্নত করে। ওপেনএলডিএপি সার্ভারে ক্যাশের আকার পর্যবেক্ষণ করা এবং তারপরে টিউন করা ডিরেক্টরি সার্ভারের কার্যকারিতাকে ব্যাপকভাবে প্রভাবিত করতে পারে। ক্যাশে সম্পর্কে তথ্য পেতে আপনি লগ ফাইলগুলি দেখতে পারেন ( opt/apigee/var/log )।