কীভাবে মনিটর করবেন

Edge for Private Cloud v. 4.16.09

এই ডকুমেন্ট Apigee Edge-এর অন-প্রিমিস ডেপ্লয়মেন্টের মাধ্যমে কাজ করে এমন কম্পোনেন্টের মনিটরিং টেকনিক বর্ণনা করে।

JMX চালু করা হচ্ছে

Cassandra-র জন্য JMX ডিফল্ট হিসেবে চালু করা থাকে এবং অন্যান্য সব Edge কম্পোনেন্টের জন্য ডিফল্ট হিসেবে বন্ধ করা থাকে। তাই আপনাকে প্রতিটি কম্পোনেন্টের জন্য আলাদাভাবে JMX চালু করতে হবে।

প্রতিটি কম্পোনেন্ট আলাদা পোর্টে JMX সাপোর্ট করে। নিচের সারণিতে JMX পোর্ট এবং সেই পোর্টে JMX চালু করার জন্য আপনাকে যে ফাইলটি পরিবর্তন করতে হবে তার তালিকা দেওয়া আছে:

কম্পোনেন্ট JMX পোর্ট ফাইল
ম্যানেজমেন্ট সার্ভার 1099 /opt/apigee/edge-management-server/bin/start
মেসেজ প্রসেসর 1101 /opt/apigee/edge-mesage-processor/bin/start
Qpid 1102 /opt/apigee/edge-qpid-server/bin/start
Postgres 1103 /opt/apigee/edge-postgres-server/bin/start

যেমন, ম্যানেজমেন্ট সার্ভারে JMX চালু করতে, /opt/apigee/edge-management-server/bin/start এডিটরে খুলুন। ম্যানেজমেন্ট সার্ভার শুরু করতে নিম্নলিখিত লাইনটি ব্যবহার করা হয়েছে বলে আপনার দেখতে পাওয়ার কথা:

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 $* $debug_options com.apigee.kernel.MicroKernel

নিম্নলিখিত তথ্য যোগ করতে এই লাইনটি এডিট করুন:

-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 

মনে রাখবেন যে এই লাইনটি ম্যানেজমেন্ট সার্ভারের জন্য JMX পোর্ট নম্বর ১০৯৯ হিসেবে নির্দিষ্ট করে। উপরের সারণীতে যেভাবে উল্লেখ করা হয়েছে সেইভাবে প্রতিটি কম্পোনেন্টের জন্য পোর্ট নম্বর সেট করুন। যেমন:

exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts 
-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 
-Djava.security.auth.login.config=$conf_path/jaas.config 
-Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir $* $debug_options com.apigee.kernel.MicroKernel

ফাইলটি সেভ করুন এবং তারপর কম্পোনেন্টটি রিস্টার্ট করুন। যেমন, ম্যানেজমেন্ট সার্ভার রিস্টার্ট করতে:

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

JMX যাচাইকরণ চালু করা এবং JMX পাসওয়ার্ড সেট করা

ম্যানেজমেন্ট সার্ভার, মেসেজ প্রসেসর, Qpid এবং Postgres-এর মনিটরিং প্রসেস JMX ব্যবহার করে। JMX ডিফল্ট হিসেবে চালু করা থাকে এবং রিমোট JMX অ্যাক্সেসের জন্য পাসওয়ার্ডের প্রয়োজন হয় না।

JMX যাচাইকরণ চালু করতে, প্রতিটি কম্পোনেন্টে একটি change_jmx_auth অ্যাকশন থাকে যা আপনি যাচাইকরণ চালু/বন্ধ করতে এবং JMX ক্রেডেনশিয়াল সেট করতে ব্যবহার করেন।

JMX যাচাইকরণ চালু করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

>  /<inst_root>/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile

কোথায়:

  • comp হল edge-management-server, edge-message-processor, edge-qpid-server, অথবা edge-postgres-server।
  • বিকল্পগুলি হল:
    • -u: ইউজারনেম
    • -p: পাসওয়ার্ড
    • -e: y (চালু করুন) অথবা n (বন্ধ করুন)
  • কনফিগ ফাইলে এগুলি অন্তর্ভুক্ত থাকে:
    • JMX_USERNAME=username
    • JMX_ENABLED=y/n
    • JMX_PASSWORD=password (সেট করা না থাকলে বা -p-এর সাথে পাস না করা হলে, আপনাকে প্রম্পট করা হবে)

যেমন, কমান্ড লাইনে বিকল্প ব্যবহার করতে:

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y

আপনার কাছে কনফিগ ফাইল থাকলে:

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f configFile

আপনি একাধিক নোডে Edge চালালে, একই ইউজারনেম ও পাসওয়ার্ড উল্লেখ করে সব নোডে এই কমান্ড চালান।

পরে JMX যাচাইকরণ বন্ধ করতে, এই কমান্ড ব্যবহার করুন:

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n

ম্যানেজমেন্ট সার্ভার

সিস্টেমের স্বাস্থ্য পরীক্ষা এবং প্রসেস সংক্রান্ত তথ্য মনিটর করতে JConsole ব্যবহার করা

স্বাস্থ্য পরীক্ষা এবং প্রসেস পরিসংখ্যান ম্যানেজ ও মনিটর করতে JConsole (একটি JMX কমপ্লায়েন্ট টুল) ব্যবহার করুন। JConsole ব্যবহার করে, আপনি ম্যানেজমেন্ট সার্ভার (বা যেকোনও সার্ভার) দ্বারা প্রকাশিত JMX পরিসংখ্যান ব্যবহার করতে এবং গ্রাফিক্যাল ইন্টারফেসে সেগুলি দেখাতে পারবেন। JConsole-এর ব্যবহার সম্পর্কে আরও তথ্যের জন্য, http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html দেখুন।

JMX-এর মাধ্যমে অফার করা JMX অ্যাট্রিবিউট (MBeans) মনিটর করতে JConsole এবং নিম্নলিখিত পরিষেবা URL ব্যবহার করুন।

service:jmx:rmi:///jndi/rmi://<ip address>:<port>/platform

যেখানে <ip address> হল ম্যানেজমেন্ট সার্ভারের (বা সংশ্লিষ্ট সার্ভারের) IP অ্যাড্রেস। ডিফল্ট হিসেবে ম্যানেজমেন্ট সার্ভারের জন্য পোর্ট হল ১০৯৯।

নিচের সারণীতে সাধারণ JMX পরিসংখ্যান দেখানো হয়েছে:

JMX MBeans

JMX অ্যাট্রিবিউট

মেমরি

HeapMemoryUsage

NonHeapMemoryUsage

ব্যবহার

মনে রাখবেন: অ্যাট্রিবিউট ভ্যালু চারটি ভ্যালুতে দেখানো হবে: কমিটেড, ইনিট, ম্যাক্স এবং ব্যবহৃত।

Edge Application API চেক ব্যবহার করা হচ্ছে

আপনি নিম্নলিখিত CURL কমান্ড কল করে ম্যানেজমেন্ট সার্ভারে (বা যেকোনও সার্ভারে) API চেক করতে পারেন:

curl http://<host>:8080/v1/servers/self/up

যেখানে, <host> হল ম্যানেজমেন্ট সার্ভারের IP অ্যাড্রেস।

এই কল "true" এবং "false" রিটার্ন করে। সত্য হলে, এর অর্থ হল নোড চালু আছে এবং Java পরিষেবা চলছে।

আপনি HTTP 200 (OK) উত্তর না পেলে, Edge পোর্ট 8080-এর অনুরোধের উত্তর দিতে পারবে না।

সমস্যার সমাধান

  1. সার্ভারে লগ-ইন করে নিম্নলিখিত কমান্ড রান করুন:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server status
  2. পরিষেবাটি চালু না থাকলে, পরিষেবাটি চালু করুন:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server start

Edge ব্যবহার করে অ্যাপ্লিকেশন – ব্যবহারকারী, সংস্থা এবং ডিপ্লয়মেন্ট চেক

প্রতিটি অন-প্রিমিসেস ইনস্টলেশনে অন্যান্য সব পার্সেল একসাথে ধরে রাখার ক্ষেত্রে ম্যানেজমেন্ট সার্ভার গুরুত্বপূর্ণ ভূমিকা পালন করে। আপনি ম্যানেজমেন্ট সার্ভারে ব্যবহারকারী, সংস্থা এবং ডিপ্লয়মেন্ট স্ট্যাটাস চেক করতে পারেন নিম্নলিখিত কমান্ডগুলি জারি করে:

curl -u userEmail:password http://localhost:8080/v1/users
curl -u userEmail:password http://localhost:8080/v1/organizations
curl -u userEmail:password http://localhost:8080/v1/organizations/orgname/deployments

সিস্টেমের সব কলের জন্য "ডিপ্লয় করা হয়েছে" স্ট্যাটাস দেখানো উচিত। এগুলি কাজ না করলে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. কোনও সমস্যা হয়েছে কিনা তা জানতে ম্যানেজমেন্ট সার্ভার লগ (<inst_root>/apigee/var/log/edge-management-server-এ) চেক করুন।
  2. ম্যানেজমেন্ট সার্ভার ঠিকমতো কাজ করছে কিনা তা চেক করতে কল করুন।
  3. ELB থেকে সার্ভার সরিয়ে দিন এবং তারপর ম্যানেজমেন্ট সার্ভার রিস্টার্ট করুন।
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart

রাউটার

আপনি নিম্নলিখিত CURL কমান্ড কল করে রাউটারে (বা যেকোনও সার্ভারে) API চেক করতে পারবেন:

curl http://<host>:8081/v1/servers/self/up

যেখানে, হোস্ট হল রাউটারের IP অ্যাড্রেস।

এই কল "true" এবং "false" রিটার্ন করে। ট্রু হলে, তার অর্থ হল নোড চালু আছে এবং রাউটার পরিষেবা চলছে।

আপনি HTTP 200 (OK) রেসপন্স না পেলে, Edge পোর্ট 8081 অনুরোধের উত্তর দিতে পারবে না।

সমস্যার সমাধান

  1. সার্ভারে লগ-ইন করে নিম্নলিখিত কমান্ড রান করুন:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router status
  2. পরিষেবাটি চালু না থাকলে, পরিষেবাটি চালু করুন
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router start
  3. রিস্টার্ট করার পরে এটি কাজ করছে কিনা তা চেক করুন
    curl -v http://localhost:port/v1/servers/self/up

    যেখানে রাউটারের জন্য port হল 8081 এবং মেসেজ প্রসেসরের জন্য 8082।

মেসেজ প্রসেসর

সিস্টেমের স্বাস্থ্য পরীক্ষা এবং প্রসেস সংক্রান্ত তথ্য মনিটর করতে JConsole ব্যবহার করা

ম্যানেজমেন্ট সার্ভারের জন্য উপরে বর্ণিত একই পদ্ধতি অনুসরণ করুন।

মনে রাখবেন: আপনি পোর্ট – 1101 ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

Edge Application API চেক ব্যবহার করা হচ্ছে

রাউটারের জন্য উপরে বর্ণিত একই পদ্ধতি অনুসরণ করুন।

মনে রাখবেন: আপনি পোর্ট – 8082 ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

JMX মেসেজ ফ্লো চেক ব্যবহার করা হচ্ছে

ম্যানেজমেন্ট সার্ভারের জন্য উপরে বর্ণিত একই পদ্ধতি অনুসরণ করুন।

মনে রাখবেন: আপনি পোর্ট – 1101 ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

Qpid Server

সিস্টেমের স্বাস্থ্য পরীক্ষা এবং প্রসেস সংক্রান্ত তথ্য মনিটর করতে JConsole ব্যবহার করা

ম্যানেজমেন্ট সার্ভারের জন্য উপরে বর্ণিত একই পদ্ধতি অনুসরণ করুন।

মনে রাখবেন: আপনি পোর্ট – 1102 ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

Edge অ্যাপ্লিকেশন API চেক ব্যবহার করা

ম্যানেজমেন্ট সার্ভারের জন্য উপরে বর্ণিত একই পদ্ধতি অনুসরণ করুন।

মনে রাখবেন: আপনি পোর্ট – 8083 ব্যবহার করছেন কিনা তা নিশ্চিত করুন। নিম্নলিখিত CURL কমান্ডও Qpid সার্ভারের জন্য কাজ করে:

curl http://<qpid_IP>:8083/v1/servers/self

Postgres Server

সিস্টেমের স্বাস্থ্য পরীক্ষা এবং প্রসেস সংক্রান্ত তথ্য মনিটর করতে JConsole ব্যবহার করা

ম্যানেজমেন্ট সার্ভারের জন্য উপরে বর্ণিত একই পদ্ধতি অনুসরণ করুন।

মনে রাখবেন: আপনি পোর্ট – 1103 ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

Edge অ্যাপ্লিকেশন API চেক ব্যবহার করা

ম্যানেজমেন্ট সার্ভারের জন্য উপরে বর্ণিত একই পদ্ধতি অনুসরণ করুন।

মনে রাখবেন: আপনি পোর্ট – 8084 ব্যবহার করছেন কিনা তা নিশ্চিত করুন। Postgres সার্ভারের জন্য নিম্নলিখিত CURL কমান্ডও কাজ করে:

curl http://<postgres_IP>:8084/v1/servers/self

Edge ব্যবহার করা অ্যাপ্লিকেশন অর্গানাইজেশন ও এনভায়রনমেন্ট চেক

আপনি Postgres সার্ভারে অনবোর্ড করা সংস্থা এবং পরিবেশের নাম চেক করতে পারেন নিম্নলিখিত CURL কমান্ড জারি করে:

curl http:// <postgres_IP>:8084/v1/servers/self/organizations

মনে রাখবেন: আপনি পোর্ট – 8084 ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

সিস্টেমে সংস্থা ও এনভায়রনমেন্টের নাম দেখানো উচিত।

Edge অ্যাপ্লিকেশন axstatus ব্যবহার করা হচ্ছে চেক করুন

আপনি নিম্নলিখিত CURL কমান্ড ইস্যু করে অ্যানালিটিক্স সার্ভারের স্ট্যাটাস যাচাই করতে পারবেন।

curl -u userEmail:password http://<host>:<port>/v1/organizations/<orgname>/environments/<envname>/provisioning/axstatus

সিস্টেমের সব অ্যানালিটিক্স সার্ভারের জন্য 'সফল' স্ট্যাটাস দেখানো উচিত। উপরের CURL কমান্ডের আউটপুট নিচে দেখানো হয়েছে:

{
  "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-এ উপলভ্য।

মনে রাখবেন: প্রতিটি Postgres নোডে check_postgres.pl স্ক্রিপ্ট ইনস্টল করতে হবে।

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

  1. আপনি perl-Time-HiRes.x86_64 ইনস্টল করেছেন কিনা তা নিশ্চিত করুন, এটি একটি Perl মডিউল যা হাই রেজোলিউশন অ্যালার্ম, স্লিপ, gettimeofday এবং ইন্টারভাল টাইমার প্রয়োগ করে। যেমন, আপনি নিম্নলিখিত কমান্ড ব্যবহার করে এটি ইনস্টল করতে পারেন:
    yum install perl-Time-HiRes.x86_64

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. অনবোর্ড করা সংস্থা/এনভায়রনমেন্ট – 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

মনে রাখবেন: উপরের কমান্ড ব্যবহার করার ব্যাপারে কোনও সাহায্যের প্রয়োজন হলে, http://bucardo.org/check_postgres/check_postgres.pl.html দেখুন।

DB চেক

PostgreSQL ডেটাবেসে সঠিক টেবিল তৈরি করা হয়েছে কিনা তা আপনি যাচাই করতে পারবেন। PostgreSQL ডেটাবেসে লগ-ইন করুন:

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

এবং তারপর রান করুন:

\d analytics."<org>.<env>.fact"

postgres প্রসেসের হেলথ স্ট্যাটাস চেক করুন

আপনি নিম্নলিখিত CURL কমান্ড কল করে postgres মেশিনে API চেক করতে পারবেন:

http://<postgres_IP>:8084/v1/servers/self/health/

মনে রাখবেন: আপনি পোর্ট ৮০৮৪ ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

postgres প্রসেস অ্যাক্টিভ থাকলে এটি ‘অ্যাক্টিভ’ স্ট্যাটাস দেখায়। postgres প্রসেস চালু না থাকলে, এটি ‘INACTIVE’ স্ট্যাটাস দেখায়।

Postgres রিসোর্স

Apache Cassandra

JConsole ব্যবহার করে – টাস্কের পরিসংখ্যান মনিটর করা

JMX-এর মাধ্যমে অফার করা JMX অ্যাট্রিবিউট (MBeans) মনিটর করতে JConsole এবং নিম্নলিখিত পরিষেবা URL ব্যবহার করুন।

service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi

যেখানে <ip address> হল Cassandra সার্ভারের IP।

Cassandra-র জন্য JMX ডিফল্ট হিসেবে চালু করা থাকে এবং Cassandra-তে রিমোট JMX অ্যাক্সেসের জন্য পাসওয়ার্ডের প্রয়োজন হয় না।

পাসওয়ার্ড যোগ করার জন্য JMX যাচাইকরণ চালু করতে:

  1. /<inst_root>/apigee/customer/application/cassandra.properties এডিট করুন। ফাইলটি না থাকলে, এটি তৈরি করুন।
  2. ফাইলে নিম্নলিখিতগুলি যোগ করুন:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. ফাইলটি সেভ করুন।
  4. আপনার $JAVA_HOME ডিরেক্টরি থেকে নিম্নলিখিত ফাইলগুলি কপি করুন /<inst_root>/apigee/data/apigee-cassandra/:
    cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password

    cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access
  5. jmxremote.password এডিট করুন এবং ফাইলে ইউজারনেম ও পাসওয়ার্ড যোগ করুন:
    cassandra password

    যেখানে password হল JMX পাসওয়ার্ড।
  6. jmxremote.access এডিট করুন এবং নিম্নলিখিত ভূমিকা যোগ করুন:
    cassandra readwrite
  7. "apigee" ফাইলের মালিক কিনা এবং ফাইল মোড 400 কিনা তা নিশ্চিত করুন:
    > chown apigee:apigee /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
    > chmod 400 /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
  8. Cassandra-তে কনফিগার করুন কমান্ড রান করুন:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  9. Cassandra রিস্টার্ট করুন:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

পরে যাচাইকরণ বন্ধ করতে:

  1. <inst_root>/apigee/customer/application/cassandra.properties এডিট করুন।
  2. ফাইল থেকে নিম্নলিখিত লাইনটি সরান:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. Cassandra-তে কনফিগারেশন রান করুন:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. Cassandra রিস্টার্ট করুন:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

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-র জন্য একটি কমান্ড লাইন ইন্টারফেস, ক্লাস্টার নোড ম্যানেজ করতে ব্যবহার করা হয়। ইউটিলিটি <inst_root>/apigee/apigee-cassandra/bin-এ পাওয়া যাবে।

nodetool ইউটিলিটি সম্পর্কে আরও তথ্যের জন্য, http://www.datastax.com/docs/1.0/references/nodetool দেখুন।

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

  1. সাধারণ রিং সংক্রান্ত তথ্য (সিঙ্গেল Cassandra নোডের জন্যও সম্ভব): সব নোডের জন্য "Up" এবং "Normal" খুঁজুন।
    [host]# nodetool -h localhost ring

    উপরের কমান্ডের আউটপুট নিচে দেখানো হয়েছে:
    Address DC Rack Status State Load Owns Token
    192.168.124.201 dc1 ra1 Up Normal 1.67 MB 33,33% 0
    192.168.124.202 dc1 ra1 Up Normal 1.68 MB 33,33% 56713727820156410577229101238628035242
    192.168.124.203 dc1 ra1 Up Normal 1.67 MB 33,33% 113427455640312821154458202477256070484
  2. নোড সম্পর্কে সাধারণ তথ্য (প্রতি নোডে কল)
    nodetool -h localhost info

    উপরের কমান্ডের আউটপুট নিচে দেখানো হয়েছে:
    টোকেন : 0
    Gossip অ্যাক্টিভ : true
    লোড : 1.67 MB
    জেনারেশন নম্বর : 1361968765
    আপটাইম (সেকেন্ড) : 78108
    হিপ মেমরি (MB) : 46,80 / 772,00
    ডেটা সেন্টার : dc1
    র‍্যাক : ra1
    ব্যতিক্রম : 0
  3. থ্রিফ্ট সার্ভারের স্ট্যাটাস (সার্ভিং ক্লায়েন্ট API)
    host]# nodetool -h localhost statusthrift

    উপরের কমান্ডের আউটপুট স্ট্যাটাস "চলছে" হিসেবে দেখায়।
  4. ডেটা স্ট্রিমিং অপারেশনের স্ট্যাটাস: cassandra নোডের জন্য ট্রাফিক পর্যবেক্ষণ করুন
    nodetool -h localhost netstats 192.168.124.203

    উপরের কমান্ডের আউটপুট নিচে দেখানো হয়েছে:
    Mode: NORMAL
    Nothing streaming to /192.168.124.203
    Nothing streaming from /192.168.124.203
    Pool Name Active Pending Completed
    Commands n/a 0 1688
    Responses n/a 0 292277

Cassandra Monitoring (UI)

datastax opscenter URL দেখুন: http://www.datastax.com/products/opscenter।

Cassandra রিসোর্স

এই URL দেখুন: http://www.datastax.com/docs/1.0/operations/monitoring।

Apache ZooKeeper

ZooKeeper স্ট্যাটাস চেক করা হচ্ছে

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

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

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

ZooKeeper কমান্ড সম্পর্কে আরও তথ্যের জন্য, দেখুন: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

যেমন:

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

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

  1. সার্ভার কোনও সমস্যা ছাড়াই চলছে কিনা তা পরীক্ষা করতে চার অক্ষরের ruok কমান্ড রান করুন। সঠিক উত্তর "imok" দেখায়।
    echo ruok | nc <host> 2181

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

    রিটার্ন করে:
    Zookeeper ভার্সন: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
    ক্লায়েন্ট:
    /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)
    লেটেন্সি সর্বনিম্ন/গড়/সর্বোচ্চ: 0/0/128
    রিসিভ করা হয়েছে: 26144
    পাঠানো হয়েছে: 26160
    কানেকশন: 4
    বাকি আছে: 0
    Zxid: 0x2000002c2
    মোড: ফলোয়ার
    নোড সংখ্যা: 283

    মনে রাখবেন: ZooKeeper, মোড: লিডার, ফলোয়ার নাকি অবজারভার, তা জানা কখনও কখনও গুরুত্বপূর্ণ হতে পারে।
  3. 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 zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

OpenLDAP

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 অ্যাডমিন পাসওয়ার্ড লিখতে বলা হবে:
    LDAP পাসওয়ার্ড লিখুন:

    পাসওয়ার্ড লেখার পরে, আপনি এই ফর্ম্যাটে উত্তর দেখতে পাবেন:
    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@apigee.com
  2. ম্যানেজমেন্ট সার্ভার এখনও LDAP-এর সাথে কানেক্ট করা আছে কিনা তা চেক করুন:
    curl -u <userEMail>:<password> http://localhost:8080/v1/users/<ADMIN>

    ফলাফল:
    {
    "emailId" : <ADMIN>,
    "firstName" : "admin",
    "lastName" : "admin"
    }

এছাড়াও, আপনি OpenLDAP ক্যাশে মনিটর করতে পারবেন, যা ডিস্ক অ্যাক্সেসের সংখ্যা কমাতে সাহায্য করে এবং এর ফলে সিস্টেমের পারফর্ম্যান্স উন্নত হয়। OpenLDAP সার্ভারে ক্যাশের সাইজ মনিটর ও টিউন করলে ডিরেক্টরি সার্ভারের পারফর্ম্যান্সের উপর অনেক প্রভাব পড়তে পারে। ক্যাশ সম্পর্কে তথ্য পেতে আপনি লগ ফাইল (<inst_root>/apigee/var/log) দেখতে পারেন।