কি মনিটর

ব্যক্তিগত ক্লাউডের জন্য প্রান্ত v. 4.17.01

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

স্বাচ্ছন্দ্যের জন্য, Apigee উপাদানগুলি প্রধানত দুটি বিভাগে শ্রেণীবদ্ধ করা হয়েছে:

  • Apigee-নির্দিষ্ট জাভা সার্ভার পরিষেবা - এর মধ্যে রয়েছে ম্যানেজমেন্ট সার্ভার, মেসেজ প্রসেসর, Qpid সার্ভার এবং পোস্টগ্রেস সার্ভার।
  • তৃতীয় পক্ষের পরিষেবা - এর মধ্যে রয়েছে Nginx রাউটার, Apache Cassandra, Apache ZooKeeper, OpenLDAP, PostgreSQL ডাটাবেস এবং Qpid।

Apigee Edge-এর একটি অন-প্রিমিস ডিপ্লোয়মেন্টে, নিম্নলিখিত সারণীটি আপনি নিরীক্ষণ করতে পারেন এমন পরামিতিগুলির মধ্যে একটি দ্রুত নজর দেয়:

কম্পোনেন্ট

সিস্টেম চেক

প্রক্রিয়া-স্তরের পরিসংখ্যান

API-স্তরের চেক

বার্তা প্রবাহ চেক

উপাদান নির্দিষ্ট

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

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

?

?

?

বার্তা প্রসেসর

?

?

?

?

Qpid সার্ভার

?

?

?

পোস্টগ্রেস সার্ভার

?

?

?

তৃতীয় পক্ষের পরিষেবা

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

?

?

Apache ZooKeeper

?

?

এলডিএপি খুলুন

?

?

PostgreSQL ডাটাবেস

?

?

Qpid

?

?

Nginx রাউটার

?

?

?

সাধারণভাবে, Apigee Edge ইনস্টল হওয়ার পরে, আপনি ব্যক্তিগত ক্লাউড ইনস্টলেশনের জন্য Apigee Edge-এর কর্মক্ষমতা ট্র্যাক করতে নিম্নলিখিত নিরীক্ষণের কাজগুলি সম্পাদন করতে পারেন।

সিস্টেম স্বাস্থ্য পরীক্ষা

সিস্টেম হেলথ প্যারামিটার যেমন CPU ইউটিলাইজেশন, মেমরি ইউটিলাইজেশন এবং পোর্ট কানেক্টিভিটি উচ্চ স্তরে পরিমাপ করা খুবই গুরুত্বপূর্ণ। সিস্টেম স্বাস্থ্যের মৌলিক বিষয়গুলি পেতে আপনি নিম্নলিখিত পরামিতিগুলি নিরীক্ষণ করতে পারেন।

  • CPU ব্যবহার - CPU ব্যবহার সম্পর্কে মৌলিক পরিসংখ্যান (ব্যবহারকারী/সিস্টেম/আইও অপেক্ষা/অলস) নির্দিষ্ট করে। উদাহরণস্বরূপ, সিস্টেম দ্বারা ব্যবহৃত মোট CPU।
  • বিনামূল্যে/ব্যবহৃত মেমরি - বাইট হিসাবে সিস্টেম মেমরি ব্যবহার নির্দিষ্ট করে। উদাহরণস্বরূপ, সিস্টেম দ্বারা ব্যবহৃত শারীরিক মেমরি।
  • ডিস্ক স্পেস ব্যবহার - বর্তমান ডিস্ক ব্যবহারের উপর ভিত্তি করে ফাইল সিস্টেম তথ্য নির্দিষ্ট করে। উদাহরণস্বরূপ, সিস্টেম দ্বারা ব্যবহৃত হার্ড ডিস্ক স্থান।
  • লোড গড় - চলার অপেক্ষায় থাকা প্রসেসের সংখ্যা উল্লেখ করে।
  • নেটওয়ার্ক পরিসংখ্যান - নেটওয়ার্ক প্যাকেট এবং/অথবা একটি নির্দিষ্ট উপাদান সম্পর্কে ট্রান্সমিশন ত্রুটি সহ প্রেরিত এবং প্রাপ্ত বাইট।

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

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

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

API-স্তরের চেক

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

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

যেখানে <host> Apigee Edge কম্পোনেন্টের IP ঠিকানা। <port> নম্বরটি প্রতিটি এজ উপাদানের জন্য নির্দিষ্ট। যেমন:

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

  • রাউটার: 8081
  • বার্তা প্রসেসর: 8082
  • ইত্যাদি

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

এই কলটি "সত্য" এবং "মিথ্যা" ফিরিয়ে দেয়। সেরা ফলাফলের জন্য, Apigee সফ্টওয়্যার পরিবেশে বা ব্যাকএন্ডে একটি ত্রুটি বিদ্যমান কিনা তা দ্রুত নির্ধারণ করার জন্য আপনি সরাসরি ব্যাকএন্ডে (যার সাথে Apigee সফ্টওয়্যার ইন্টারঅ্যাক্ট করে) API কলগুলি ইস্যু করতে পারেন৷

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

বার্তা প্রবাহ চেক

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

  • সক্রিয় ক্লায়েন্ট সংখ্যা
  • প্রতিক্রিয়ার সংখ্যা (10X, 20X, 30X, 40X এবং 50X)
  • সংযোগ ব্যর্থতা

এটি আপনাকে 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> হল মেসেজ প্রসেসরের আইপি ঠিকানা এবং পোর্ট নম্বর।

যদি পরে রাউটার একটি স্বাস্থ্য পরীক্ষা করে এবং নির্ধারণ করে যে মেসেজ প্রসেসর সঠিকভাবে কাজ করছে, রাউটার স্বয়ংক্রিয়ভাবে বার্তা প্রসেসরটিকে ঘূর্ণায়মান করে। রাউটার ফর্মটিতে লগটিতে একটি "মার্ক আপ" বার্তাও লেখে:

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