সাধারণত প্রোডাকশন সেট-আপে, প্রাইভেট ক্লাউড ডিপ্লয়মেন্টের জন্য Apigee Edge-এর মধ্যে মনিটরিং মেকানিজম চালু করার প্রয়োজন হয়। এইসব মনিটরিং টেকনিক নেটওয়ার্ক অ্যাডমিনিস্ট্রেটর (বা অপারেটর)-কে কোনও সমস্যা বা ব্যর্থতা সম্পর্কে সতর্ক করে। জেনারেট হওয়া প্রতিটি সমস্যাকে Apigee Edge-এ সতর্কতা হিসেবে রিপোর্ট করা হয়। অ্যালার্ট সম্পর্কে আরও তথ্য পেতে, মনিটরিং সংক্রান্ত পেশাদার পদ্ধতি দেখুন।
সহজ করার জন্য, Apigee কম্পোনেন্টকে প্রধানত দুটি বিভাগে ভাগ করা হয়েছে:
- Apigee-নির্দিষ্ট জাভা সার্ভার পরিষেবা: এর মধ্যে ম্যানেজমেন্ট সার্ভার, মেসেজ প্রসেসর, Qpid সার্ভার এবং Postgres সার্ভার অন্তর্ভুক্ত।
- থার্ড-পার্টি পরিষেবা: এর মধ্যে Nginx রাউটার, Apache Cassandra, Apache ZooKeeper, OpenLDAP, PostgreSQL ডেটাবেস ও Qpid পড়ে।
Apigee Edge-এর অন-প্রিমিজ ডেপ্লয়মেন্টে, নিম্নলিখিত সারণীটি আপনাকে মনিটর করতে পারবেন এমন প্যারামিটারগুলির একটি দ্রুত ওভারভিউ প্রদান করে:
| কম্পোনেন্ট | সিস্টেম চেক | প্রসেস-লেভেল পরিসংখ্যান | API-লেভেল চেক | মেসেজ ফ্লো চেক | কম্পোনেন্ট নির্দিষ্ট | |
|---|---|---|---|---|---|---|
|
Apigee-নির্দিষ্ট Java পরিষেবা |
ম্যানেজমেন্ট সার্ভার |
|||||
|
মেসেজ প্রসেসর |
||||||
|
Qpid সার্ভার |
||||||
|
Postgres সার্ভার |
||||||
|
থার্ড-পার্টি পরিষেবা |
Apache Cassandra |
|||||
|
Apache ZooKeeper |
||||||
|
OpenLDAP |
||||||
|
PostgreSQL ডেটাবেস |
||||||
|
Qpid |
||||||
|
Nginx Router |
||||||
সাধারণত, Apigee Edge ইনস্টল করার পরে, প্রাইভেট ক্লাউড ইনস্টলেশনের জন্য Apigee Edge-এর পারফর্ম্যান্স ট্র্যাক করতে, আপনি নিম্নলিখিত মনিটরিং টাস্কগুলি করতে পারবেন।

সিস্টেম হেল্থ চেক
CPU ব্যবহার, মেমরি ব্যবহার এবং পোর্ট কানেক্টিভিটির মতো সিস্টেমের হেলথ প্যারামিটারগুলি উচ্চতর লেভেলে পরিমাপ করা খুবই গুরুত্বপূর্ণ। সিস্টেমের স্বাস্থ্যের প্রাথমিক বিষয়গুলি জানতে আপনি নিম্নলিখিত প্যারামিটার মনিটর করতে পারেন।
- CPU ব্যবহার: CPU ব্যবহারের ব্যাপারে মৌলিক পরিসংখ্যান (ব্যবহারকারী/সিস্টেম/IO অপেক্ষা/নিষ্ক্রিয়) নির্দিষ্ট করে। যেমন, সিস্টেমের দ্বারা ব্যবহৃত মোট সিপিইউ।
- ফ্রি/ব্যবহৃত মেমরি: বাইট হিসেবে সিস্টেম মেমরি ব্যবহারের পরিমাণ নির্দিষ্ট করে। যেমন, সিস্টেমের ব্যবহার করা ফিজিক্যাল মেমরি।
- ডিস্ক স্পেসের ব্যবহার: বর্তমান ডিস্ক ব্যবহারের উপর ভিত্তি করে ফাইল সিস্টেমের তথ্য নির্দিষ্ট করে। যেমন, সিস্টেমের ব্যবহার করা হার্ড ডিস্ক স্পেস।
- লোড অ্যাভারেজ: রান করার জন্য অপেক্ষা করছে এমন প্রসেসের সংখ্যা নির্দিষ্ট করে।
- নেটওয়ার্ক পরিসংখ্যান: নির্দিষ্ট কম্পোনেন্ট সম্পর্কে ট্রান্সমিশন সংক্রান্ত সমস্যার সাথে সাথে নেটওয়ার্ক প্যাকেট এবং/অথবা বাইট ট্রান্সমিট ও গ্রহণ করা হয়েছে।
প্রসেস/অ্যাপ্লিকেশন চেক করা
প্রসেস লেভেলে, আপনি যেসব প্রসেস চলছে সেগুলির সম্পর্কে গুরুত্বপূর্ণ তথ্য দেখতে পাবেন। যেমন, এর মধ্যে মেমরি ও সিপিইউ ব্যবহারের পরিসংখ্যান অন্তর্ভুক্ত যা কোনও প্রসেস বা অ্যাপ্লিকেশন ব্যবহার করে। qpidd, postgres postmaster, java ইত্যাদির মতো প্রসেসের জন্য, আপনি নিম্নলিখিত বিষয়গুলি মনিটর করতে পারবেন:
- প্রসেস শনাক্তকরণ: নির্দিষ্ট Apigee প্রসেস শনাক্ত করুন। যেমন, আপনি Apigee সার্ভার জাভা প্রসেস আছে কিনা তা মনিটর করতে পারেন।
- থ্রেড পরিসংখ্যান: কোনও প্রসেস ব্যবহার করে এমন অন্তর্নিহিত থ্রেডিং প্যাটার্ন দেখুন। যেমন, আপনি সর্বোচ্চ থ্রেড সংখ্যা, সব প্রসেসের জন্য থ্রেড সংখ্যা মনিটর করতে পারবেন।
- মেমরি ইউটিলাইজেশন: সব Apigee প্রসেসের জন্য মেমরি ব্যবহার দেখুন। যেমন, আপনি কোনও প্রসেস দ্বারা ব্যবহৃত হিপ মেমরি ব্যবহার, নন-হিপ মেমরি ব্যবহারের মতো প্যারামিটার মনিটর করতে পারবেন।
API-লেভেল চেক
API লেভেলে, আপনি এটি মনিটর করতে পারবেন যে Apigee-এর মাধ্যমে প্রক্সি করা প্রায়শই ব্যবহৃত API
কলের জন্য কোনও সার্ভার চালু ও চলছে কিনা। যেমন, আপনি ম্যানেজমেন্ট সার্ভার, রাউটার,
ও মেসেজ প্রসেসরের উপর API চেক করতে, নিম্নলিখিত curl কমান্ড ব্যবহার করতে পারেন:
curl http://host:port/v1/servers/self/up
যেখানে host হল Apigee Edge কম্পোনেন্টের IP অ্যাড্রেস। port নম্বরটি প্রতিটি Edge কম্পোনেন্টের জন্য নির্দিষ্ট। যেমন:
ম্যানেজমেন্ট সার্ভার: 8080
- রাউটার: 8081
- মেসেজ প্রসেসর: 8082
- ইত্যাদি।
প্রতিটি কম্পোনেন্টের জন্য এই কমান্ড চালানোর ব্যাপারে তথ্য পেতে, নিচে দেওয়া আলাদা আলাদা বিভাগ দেখুন
এই কল "true" ও "false" রিটার্ন করে। সেরা ফলাফল পেতে, আপনি ব্যাকএন্ডে (যেটির সাথে Apigee সফ্টওয়্যার ইন্টার্যাক্ট করে) সরাসরি API কলও ইস্যু করতে পারেন, যাতে Apigee সফ্টওয়্যার এনভায়রনমেন্ট বা ব্যাকএন্ডে কোনও সমস্যা আছে কিনা তা দ্রুত নির্ধারণ করা যায়।
মেসেজ ফ্লো চেক
মেসেজ ফ্লো প্যাটার্ন/পরিসংখ্যান সম্পর্কে আপনি রাউটার ও মেসেজ প্রসেসর থেকে ডেটা সংগ্রহ করতে পারবেন। এর ফলে আপনি নিম্নলিখিত বিষয়গুলি মনিটর করতে পারবেন:
- অ্যাক্টিভ ক্লায়েন্টের সংখ্যা
- উত্তরের সংখ্যা (১০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