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

প্রাইভেট ক্লাউডের জন্য Edge v. 4.16.05

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

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-router, edge-qpid-server, অথবা edge-postgres-server.
  • বিকল্পগুলি হল:
    • -u: ইউজারনেম
    • -p: পাসওয়ার্ড
    • -e: y (চালু করুন) অথবা n (বন্ধ করুন)
  • কনফিগ ফাইলে এগুলি থাকে:
    • JMX_USERNAME=username
    • JMX_ENABLED=y/n
    • JMX_PASSWORD=password (if not set or not passed in with -p, you are prompted)

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

> /<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 অ্যাড্রেস (বা সংশ্লিষ্ট সার্ভার)। ডিফল্ট হিসেবে ম্যানেজমেন্ট সার্ভারের জন্য পোর্ট হল 1099।

নিচের সারণীতে সাধারণ 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" রিটার্ন করে। এটি 'ট্রু' হলে, এর অর্থ হল নোড চালু আছে এবং Java পরিষেবা চলছে।

আপনি 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. পরিষেবা চালু থাকলে, সেটি কাজ করছে কিনা তা পরীক্ষা করে দেখুন। আপনি ক্লাস্টার স্ট্যাটাস মনিটর করেন রিচেবলCount-এর সাথে memberCount চেক করে এবং 'memberCount != reachableCount' সহ সব ইনস্ট্যান্সকে অ্যালার্ট করে
    curl -v -u <userEmail>:<password> http://localhost:port/v1/cluster

    যেখানে পোর্ট – রাউটারের জন্য ৮০৮১ এবং মেসেজ প্রসেসরের জন্য ৮০৮২। উপরের CURL কমান্ডের আউটপুট নিচে দেখানো হল:
    {
    "memberCount" : 12,
    "pod" : "rea1gw001",
    "reachableCount" : 12,
    "region" : "us-east-1",
    "types" : [ "management-server" ]
    * Connection #0 to host ms05apigee left intact
    * Closing connection #0
    }
  4. এটি কাজ না করলে, ব্যর্থতা পরীক্ষা করতে বা সমস্যা সৃষ্টিকারী মেম্বারকে খুঁজে পেতে নিম্নলিখিত কমান্ডটি চালান।
    curl http://localhost:port/v1/cluster/members

    যেখানে পোর্ট – রাউটারের জন্য 8081 এবং মেসেজ প্রসেসরের জন্য 8082. উপরের CURL কমান্ডের আউটপুট এই ধরনের হবে:
    {
    "lastChange" : 0,
    "latency" : 0,
    "state" : "CONNECTED",
    "uuid" : "9c4c8bde-0015-4dc5-82d2-59fb326c4074"
    }, {
    "address" : "/192.168.5.209:4526",
    "clusterType" : "router,message-processor",
    "lastChange" : 1350658037228,
    "latency" : 3,
    "pod" : "rea1gw001",
    "region" : "us-east-1",
    "serverType" : "message-processor",
    "state" : "CONNECTED",
    "uuid" : "f1c663a1-2bb8-469f-b5fd-69a5c5aa91c5"
    }, {
    "address" : "/192.168.5.29:4526",
    "clusterType" : "router,message-processor",
    "lastChange" : 1350623005057,
    "latency" : 1,
    "pod" : "rea1gw001",
    "region" : "us-east-1",
    "serverType" : "message-processor",
    "state" : " DISCONNECTED ",
    "uuid" : "4cfe932b-f644-4581-b1ae-df338af9c7ce"
    }, {
    "address" : "/192.168.4.182:4526",
    "clusterType" : "router,message-processor",
    "lastChange" : 1350657730535,
    "latency" : 1,
    "pod" : "rea1gw001",
    "region" : "us-east-1",
    "serverType" : "message-processor",
    "state" : "CONNECTED",
    "uuid" : "cba063d5-b8a4-409f-9e0b-f5d403e02091"
    }
  5. লক্ষ্য করুন যে IP অ্যাড্রেস 192.168.5.29 ডিসকানেক্ট করা হয়েছে। সার্ভার রিস্টার্ট করুন
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart

    মনে রাখবেন: কোনও রাউটার ডিসকানেক্ট হয়ে গেলে, ELB থেকে রাউটারটি সরিয়ে তারপর সেটি রিস্টার্ট করুন।
  6. রিস্টার্ট করার পরে এটি কাজ করছে কিনা তা চেক করুন
    curl -v http://localhost:port/v1/cluster

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

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

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

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

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

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

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

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

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

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

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

Qpid সার্ভার

সিস্টেম হেলথ চেক ও প্রসেস সংক্রান্ত তথ্য মনিটর করার জন্য JConsole ব্যবহার করা

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

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

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

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

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

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

Postgres সার্ভার

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

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

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

Edge Application 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 Application axstatus check ব্যবহার করা

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

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

সিস্টেমকে সব Analytics সার্ভারের জন্য 'সম্পূর্ণ হয়েছে' স্ট্যাটাস দেখাতে হবে। নিচে উপরে উল্লিখিত 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

স্ক্রিপ্ট ব্যবহার করে API কলের ডিফল্ট আউটপুট, check_postgres.pl হল 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 প্রসেস অ্যাক্টিভ থাকলে এটি ‘ACTIVE’ স্ট্যাটাস রিটার্ন করে। postgres প্রসেস চালু না থাকলে, এটি ‘অ্যাক্টিভ নেই’ স্ট্যাটাস দেখায়।

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 ইউটিলিটি ব্যবহার করা

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

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

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

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

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

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

    উপরের কমান্ডের আউটপুট নিচে দেখানো হল:
    মোড: সাধারণ
    /192.168.124.203-এ কিছু স্ট্রিম করা হচ্ছে না
    /192.168.124.203 থেকে কিছু স্ট্রিম করা হচ্ছে না
    পুল নেম অ্যাক্টিভ পেন্ডিং সম্পূর্ণ হয়েছে
    কমান্ড প্রযোজ্য নয় ০ ১৬৮৮
    উত্তর প্রযোজ্য নয় ০ ২৯২২৭৭

Cassandra মনিটরিং (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 সার্ভারে 2181 এবং 3888 পোর্টে TCP কানেকশন স্থাপন করা যায় কিনা তা নিশ্চিত করতে ZooKeeper পোর্ট পরীক্ষা করুন।
  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 ব্যবহার করে পোর্ট ২১৮১-এ পাঠানো হয়।

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

যেমন:

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

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

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

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

    উত্তর:
    Zookeeper ভার্সন: 3.4.5-1392090, ৩০/০৯/২০১২ ১৭:৫২ 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)
    সর্বনিম্ন/গড়/সর্বোচ্চ লেটেন্সি: ০/০/১২৮
    প্রাপ্ত: ২৬১৪৪
    প্রেরিত: ২৬১৬০
    কানেকশন: ৪
    পেন্ডিং: ০
    Zxid: 0x2000002c2
    মোড: ফলোয়ার
    নোড সংখ্যা: ২৮৩

    মনে রাখবেন: কখনও কখনও এটি দেখা গুরুত্বপূর্ণ যে কোনও 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) দেখতে পারেন।