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

প্রাইভেট ক্লাউড v4.18.05 এর জন্য এজ

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

ওভারভিউ

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

সেবা JMX: *
মেমরি ব্যবহার
Mgmt API:
সার্ভিস চেক
Mgmt API:
ব্যবহারকারী/সংস্থা/ স্থাপনার স্থিতি
Mgmt API:
axstatus
ডাটাবেস চেক apigee-service স্থিতি
ম্যানেজমেন্ট সার্ভার
বার্তা প্রসেসর
পোস্টগ্রেস
Qpid
রাউটার
অধিক তথ্য অধিক তথ্য অধিক তথ্য অধিক তথ্য অধিক তথ্য অধিক তথ্য
* আপনি JMX ব্যবহার করার আগে, আপনাকে অবশ্যই এটি সক্ষম করতে হবে, যেমন JMX সক্ষম করুন- এ বর্ণিত হয়েছে।

জেএমএক্স এবং ম্যানেজমেন্ট এপিআই মনিটরিং পোর্ট

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

উপাদান জেএমএক্স পোর্ট ব্যবস্থাপনা API পোর্ট
ম্যানেজমেন্ট সার্ভার 1099 8080
রাউটার 1100 8081
বার্তা প্রসেসর 1101 8082
Qpid 1102 8083
পোস্টগ্রেস 1103 8084

JMX ব্যবহার করুন

ম্যানেজমেন্ট সার্ভার, মেসেজ প্রসেসর, Qpid, এবং Postgres-এর জন্য নিরীক্ষণ প্রক্রিয়া সকল JMX ব্যবহার করে। যাইহোক, জেএমএক্স শুধুমাত্র ক্যাসান্দ্রার জন্য ডিফল্টরূপে সক্ষম, এবং অন্যান্য সমস্ত এজ উপাদানগুলির জন্য ডিফল্টরূপে নিষ্ক্রিয়। তাই আপনি তাদের নিরীক্ষণ করার আগে প্রতিটি উপাদানের জন্য পৃথকভাবে JMX সক্ষম করতে হবে।

JMX প্রমাণীকরণ ডিফল্টরূপে সক্রিয় করা হয় না। আপনি ক্যাসান্ড্রা ছাড়া সমস্ত উপাদানের জন্য JMX প্রমাণীকরণ সক্ষম করতে পারেন।

JMX সক্ষম করুন

জেএমএক্স শুধুমাত্র ক্যাসান্দ্রার জন্য ডিফল্টরূপে সক্ষম, এবং অন্যান্য সমস্ত এজ উপাদানগুলির জন্য ডিফল্টরূপে নিষ্ক্রিয়। এই বিভাগটি বর্ণনা করে কিভাবে অন্যান্য এজ উপাদানগুলির জন্য JMX সক্ষম করতে হয়।

JMX সক্ষম করতে:

  1. কম্পোনেন্টের কনফিগারেশন ফাইল এডিট করুন। এই ফাইলটি opt/apigee/edge- component_name /bin/start এ অবস্থিত। উত্পাদন পরিবেশে, এই কনফিগারেশন ফাইলগুলি বিভিন্ন মেশিনে থাকবে।

    প্রতিটি সার্ভারে নিম্নলিখিত ফাইল অবস্থান থেকে চয়ন করুন:

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

    উদাহরণস্বরূপ, এর সার্ভারে ম্যানেজমেন্ট সার্ভারের কনফিগারেশন ফাইলটি /opt/apigee/edge-management-server/bin/start এ রয়েছে।

  2. exec লাইনে নিম্নলিখিত com.sun.management.jmxremote বিকল্পগুলি যোগ করুন যা উপাদানটি শুরু করে:
    -Dcom.sun.management.jmxremote \
      -Dcom.sun.management.jmxremote.port=port_number \
      -Dcom.sun.management.jmxremote.local.only=false \
      -Dcom.sun.management.jmxremote.authenticate=false \
      -Dcom.sun.management.jmxremote.ssl=false

    যেখানে port_number হল পরিষেবার জন্য JMX পোর্ট। আপনার পরিষেবার JMX পোর্ট নম্বর পেতে, JMX এবং ম্যানেজমেন্ট API মনিটরিং পোর্টগুলি দেখুন৷

    উদাহরণস্বরূপ, ম্যানেজমেন্ট সার্ভারে JMX সক্ষম করতে, ম্যানেজমেন্ট সার্ভারের কনফিগারেশন ফাইলে নিম্নলিখিতগুলি যুক্ত করুন:

    exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \
      -Djava.security.auth.login.config=$conf_path/jaas.config \
      -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \
      -Ddata.dir=$data_dir \
      -Dcom.sun.management.jmxremote \
      -Dcom.sun.management.jmxremote.port=1099 \
      -Dcom.sun.management.jmxremote.local.only=false \
      -Dcom.sun.management.jmxremote.authenticate=false \
      -Dcom.sun.management.jmxremote.ssl=false \
      $* $debug_options com.apigee.kernel.MicroKernel

    এই উদাহরণটি ম্যানেজমেন্ট সার্ভারের জন্য পোর্ট 1099 নির্দিষ্ট করে। পূর্বে বলা হয়েছে, প্রতিটি পরিষেবার নিজস্ব পোর্ট নম্বর রয়েছে।

    কনফিগারেশন ফাইলে সম্পাদিত লাইন নিম্নলিখিত মত দেখায়:

    exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
  3. কনফিগারেশন ফাইল সংরক্ষণ করুন।
  4. restart কমান্ড দিয়ে কম্পোনেন্ট রিস্টার্ট করুন।

    উদাহরণস্বরূপ, ম্যানেজমেন্ট সার্ভার পুনরায় চালু করতে, নিম্নলিখিত কমান্ডটি চালান:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

JMX-এর জন্য প্রমাণীকরণ ডিফল্টরূপে সক্রিয় করা হয় না। আপনি ক্যাসান্ড্রা ছাড়া সমস্ত উপাদানের জন্য JMX প্রমাণীকরণ সক্ষম করতে পারেন, যেমন JMX প্রমাণীকরণ সক্ষম করুন এ বর্ণিত।

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

JMX প্রমাণীকরণ ডিফল্টরূপে সক্রিয় করা হয় না। আপনি ক্যাসান্ড্রা ছাড়া সমস্ত উপাদানের জন্য JMX প্রমাণীকরণ সক্ষম করতে পারেন।

JMX প্রমাণীকরণ সক্ষম করতে, সমস্ত নোডে নিম্নলিখিত change_jmx_auth অ্যাকশনটি চালান:

/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]

কোথায়:

  • component নিম্নলিখিত একটি:
    • edge-management-server
    • edge-message-processor
    • edge-postgres-server
    • edge-qpid-server
    • edge-router
  • options নিম্নলিখিতগুলি নির্দিষ্ট করে:
    • -u username
    • -p password
    • -e [y|n] (সক্ষম বা নিষ্ক্রিয়)
  • config_file একটি কনফিগারেশন ফাইলের অবস্থান নির্দিষ্ট করে যেখানে আপনি নিম্নলিখিতগুলি সংজ্ঞায়িত করেন:
    • JMX_USERNAME= username
    • JMX_ENABLED=y|n
    • JMX_PASSWORD= password (যদি সেট না করা হয় বা -p দিয়ে পাস না করা হয় তবে আপনাকে অনুরোধ করা হবে)

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

নিম্নলিখিত উদাহরণটি কমান্ড লাইন বিকল্পগুলি ব্যবহার করে পরিচালনা সার্ভারের জন্য JMX প্রমাণীকরণ সক্ষম করে:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -u foo -p bar -e y

নিম্নলিখিত উদাহরণটি কমান্ড লাইন বিকল্পগুলির পরিবর্তে একটি কনফিগারেশন ফাইল ব্যবহার করে:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -f /tmp/my-config-file

আপনি যদি একাধিক নোডে এজ চালাচ্ছেন, একই ব্যবহারকারীর নাম এবং পাসওয়ার্ড উল্লেখ করে সমস্ত নোডে কমান্ডটি চালান।

কমান্ড লাইনে JMX প্রমাণীকরণ নিষ্ক্রিয় করতে, "-en" বিকল্পটি ব্যবহার করুন, নিম্নলিখিত উদাহরণটি দেখায়:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -e n

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

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

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

ব্যবহার

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

এজ-এ বেশ কয়েকটি 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 পরিষেবা নিরীক্ষণ সম্পর্কে অতিরিক্ত তথ্যের জন্য, নিম্নলিখিত দেখুন:

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

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 ব্যবহার করুন

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

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

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

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

    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 -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 -h localhost statusthrift

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

    running
  4. ডেটা স্ট্রিমিং অপারেশনের স্থিতি : ক্যাসান্ড্রা নোডের জন্য ট্র্যাফিক পর্যবেক্ষণ করুন:
    nodetool -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 সম্পর্কে আরও তথ্যের জন্য, নোডটুল ইউটিলিটি সম্পর্কে দেখুন।

ক্যাসান্ড্রা পর্যবেক্ষণ (UI)

ডেটাস্ট্যাক্স অপসেন্টার URL দেখুন: http://www.datastax.com/products/opscenter

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

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

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 চালান, 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 )।