কী কী মনিটর করতে হবে

Edge for Private Cloud v4.18.01

সাধারণত প্রোডাকশন সেট-আপে, Apigee Edge for Private Cloud ডেপ্লয়মেন্টের মধ্যে মনিটরিং মেকানিজম চালু করার প্রয়োজন হয়। এই মনিটরিং টেকনিক নেটওয়ার্ক অ্যাডমিনিস্ট্রেটরদের (বা অপারেটরদের) কোনও সমস্যা বা ব্যর্থতা সম্পর্কে সতর্ক করে। প্রতিটি সমস্যা Apigee Edge-এ সতর্কতা হিসেবে রিপোর্ট করা হয়। সতর্কতা সম্পর্কে আরও তথ্যের জন্য, মনিটর করার পেশাদার পদ্ধতি দেখুন।

সহজে বোঝার জন্য, Apigee-এর উপাদানগুলিকে প্রধানত দুটি বিভাগে ভাগ করা হয়েছে:

  • Apigee-নির্দিষ্ট Java সার্ভার পরিষেবা – এর মধ্যে ম্যানেজমেন্ট সার্ভার, মেসেজ প্রসেসর, Qpid সার্ভার এবং Postgres সার্ভার অন্তর্ভুক্ত।
  • থার্ড-পার্টি পরিষেবা – এর মধ্যে Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, PostgreSQL ডেটাবেস ও Qpid অন্তর্ভুক্ত।

Apigee Edge-এর অন-প্রিমিস ডেপ্লয়মেন্টে, নিম্নলিখিত সারণীটি আপনি যেসব প্যারামিটার মনিটর করতে পারবেন সেগুলির একটি দ্রুত ওভারভিউ প্রদান করে:

কম্পোনেন্ট

সিস্টেম চেক

প্রসেস-লেভেল পরিসংখ্যান

API-লেভেল চেক

মেসেজ ফ্লো চেক করা

কম্পোনেন্ট নির্দিষ্ট

Apigee-নির্দিষ্ট জাভা পরিষেবা

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

?

?

?

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

?

?

?

?

Qpid Server

?

?

?

Postgres Server

?

?

?

থার্ড-পার্টি পরিষেবা

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

PostgreSQL ডেটাবেস

?

?

Qpid

?

?

Nginx Router

?

?

?

সাধারণত, Apigee Edge ইনস্টল করার পরে, আপনি Private Cloud ইনস্টলেশনের জন্য Apigee Edge-এর পারফর্ম্যান্স ট্র্যাক করতে নিম্নলিখিত মনিটরিং টাস্কগুলি সম্পাদন করতে পারেন।

সিস্টেম হেল্থ চেক

সিপিইউ ব্যবহার, মেমরি ব্যবহার ও পোর্ট কানেক্টিভিটির মতো সিস্টেমের স্বাস্থ্য সংক্রান্ত প্যারামিটারগুলি উচ্চ স্তরে পরিমাপ করা খুবই গুরুত্বপূর্ণ। সিস্টেমের স্বাস্থ্য সম্পর্কে প্রাথমিক ধারণা পেতে আপনি নিম্নলিখিত প্যারামিটারগুলি মনিটর করতে পারেন।

  • CPU ব্যবহার – CPU ব্যবহারের প্রাথমিক পরিসংখ্যান (ব্যবহারকারী/সিস্টেম/IO অপেক্ষা/অ্যাক্টিভ নেই) উল্লেখ করে। যেমন, সিস্টেমের দ্বারা ব্যবহৃত মোট CPU।
  • ফ্রি/ব্যবহৃত মেমরি – সিস্টেম মেমরির ব্যবহার বাইট হিসেবে উল্লেখ করে। যেমন, সিস্টেমের ব্যবহার করা ফিজিক্যাল মেমরি।
  • ডিস্ক স্পেস ব্যবহার – বর্তমান ডিস্ক ব্যবহারের উপর ভিত্তি করে ফাইল সিস্টেমের তথ্য নির্দিষ্ট করে। যেমন, সিস্টেমের দ্বারা ব্যবহৃত হার্ড ডিস্ক স্পেস।
  • লোড অ্যাভারেজ – রান করার জন্য অপেক্ষা করছে এমন প্রসেসের সংখ্যা নির্দিষ্ট করে।
  • নেটওয়ার্ক পরিসংখ্যান – নেটওয়ার্ক প্যাকেট এবং/অথবা ট্রান্সমিট ও রিসিভ করা বাইট, এর সাথে নির্দিষ্ট কম্পোনেন্ট সম্পর্কে ট্রান্সমিশন সংক্রান্ত সমস্যা।

প্রসেস/অ্যাপ্লিকেশন চেক

প্রসেস লেভেলে, আপনি রান করছে এমন সব প্রসেস সম্পর্কে গুরুত্বপূর্ণ তথ্য দেখতে পাবেন। যেমন, এর মধ্যে মেমরি ও সিপিইউ ব্যবহারের পরিসংখ্যান অন্তর্ভুক্ত থাকে যা কোনও প্রসেস বা অ্যাপ্লিকেশন ব্যবহার করে। qpidd, postgres postmaster, java এবং এই ধরনের প্রসেসের জন্য, আপনি নিম্নলিখিতগুলি মনিটর করতে পারবেন:

  • প্রসেস শনাক্তকরণ: নির্দিষ্ট Apigee প্রসেস শনাক্ত করুন। যেমন, আপনি Apigee সার্ভার জাভা প্রসেসের অস্তিত্ব মনিটর করতে পারেন।
  • থ্রেড পরিসংখ্যান: কোনও প্রসেস যে অন্তর্নিহিত থ্রেডিং প্যাটার্ন ব্যবহার করে তা দেখুন। যেমন, আপনি পিক থ্রেড কাউন্ট, সব প্রসেসের জন্য থ্রেড কাউন্ট মনিটর করতে পারবেন।
  • মেমরির ব্যবহার: সব Apigee প্রসেসের জন্য মেমরির ব্যবহার দেখুন। যেমন, আপনি হিপ মেমরির ব্যবহার, কোনও প্রসেসের মাধ্যমে ব্যবহৃত নন-হিপ মেমরির ব্যবহারের মতো প্যারামিটার মনিটর করতে পারবেন।

API-লেভেল চেক

API লেভেলে, Apigee-এর মাধ্যমে প্রক্সি করা ঘনঘন ব্যবহৃত API কলের জন্য সার্ভার চালু আছে এবং চলছে কিনা তা আপনি মনিটর করতে পারবেন। যেমন, আপনি নিম্নলিখিত cURL কমান্ড ব্যবহার করে ম্যানেজমেন্ট সার্ভার, রাউটার এবং মেসেজ প্রসেসরে API চেক করতে পারেন:

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

যেখানে <host> হল Apigee Edge কম্পোনেন্টের IP অ্যাড্রেস। <port> নম্বর প্রতিটি Edge কম্পোনেন্টের জন্য নির্দিষ্ট। যেমন:

ম্যানেজমেন্ট সার্ভার: ৮০৮০

  • রাউটার: ৮০৮১
  • মেসেজ প্রসেসর: ৮০৮২
  • ইত্যাদি

প্রতিটি কম্পোনেন্টের জন্য এই কমান্ড রান করার ব্যাপারে তথ্য পেতে নিচে আলাদা আলাদা বিভাগ দেখুন

এই কল "true" এবং "false" রিটার্ন করে। সেরা ফলাফলের জন্য, আপনি সরাসরি ব্যাকএন্ডে (যার সাথে Apigee সফ্টওয়্যার ইন্টার‍্যাক্ট করে) API কল ইস্যু করতে পারেন যাতে Apigee সফ্টওয়্যার এনভায়রনমেন্টে বা ব্যাকএন্ডে কোনও সমস্যা আছে কিনা তা দ্রুত নির্ধারণ করা যায়।

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

মেসেজ ফ্লো চেক করা

আপনি রাউটার এবং মেসেজ প্রসেসর থেকে মেসেজ ফ্লো প্যাটার্ন/পরিসংখ্যান সম্পর্কে ডেটা সংগ্রহ করতে পারেন। এটি আপনাকে নিম্নলিখিত বিষয়গুলি মনিটর করার অনুমতি দেয়:

  • অ্যাক্টিভ ক্লায়েন্টের সংখ্যা
  • উত্তরের সংখ্যা (১০X, ২০X, ৩০X, ৪০X এবং ৫০X)
  • কানেক্ট করা যায়নি

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

মেসেজ প্রসেসরের রাউটার হেল্থ চেক

কোন মেসেজ প্রসেসর প্রত্যাশা অনুযায়ী কাজ করছে তা নির্ধারণ করতে রাউটার একটি হেলথ চেক মেকানিজম প্রয়োগ করে। কোনও মেসেজ প্রসেসর বন্ধ বা স্লো হয়ে গেছে বলে শনাক্ত করা হলে, রাউটার অটোমেটিক মেসেজ প্রসেসরকে রোটেশন থেকে সরিয়ে দিতে পারে। এমন হলে, রাউটার /opt/apigee/var/log/edge-router/logs/system.log-এ রাউটার লগ ফাইলে "মার্ক ডাউন" মেসেজ লেখে।

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

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

যেখানে /<MP_IP>:<PORT> হল মেসেজ প্রসেসরের IP অ্যাড্রেস এবং পোর্ট নম্বর।

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

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up