apigee-monit-এর মাধ্যমে অটোমেটিক সমস্যার সমাধান

প্রাইভেট ক্লাউডের জন্য Apigee Edge-এ apigee-monit অন্তর্ভুক্ত থাকে, এটি ওপেন সোর্স monit ইউটিলিটি-এর উপর ভিত্তি করে তৈরি একটি টুল। apigee-monit নির্দিষ্ট সময় অন্তর Edge পরিষেবা পোল করে; কোনও পরিষেবা উপলভ্য না থাকলে, apigee-monit সেটি রিস্টার্ট করার চেষ্টা করে।

apigee-monit ব্যবহার করতে, আপনাকে অবশ্যই এটি ম্যানুয়ালি ইনস্টল করতে হবে। এটি স্ট্যান্ডার্ড ইনস্টলেশনের অংশ নয়।

ডিফল্ট হিসেবে, apigee-monit প্রতি ৬০ সেকেন্ড অন্তর Edge পরিষেবার স্ট্যাটাস চেক করে।

কুইকস্টার্ট

apigee-monit কীভাবে দ্রুত সেট-আপ করে ব্যবহার শুরু করবেন তা এই বিভাগে দেখানো হয়েছে।

আপনি Amazon Linux বা Oracle-Linux-7.X ব্যবহার করলে, প্রথমে Fedora-র মাধ্যমে monit ইনস্টল করুন। অন্যথায়, এই ধাপটি এড়িয়ে যান।

sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm

apigee-monit ইনস্টল করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  apigee-monit ইনস্টল করুন
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

এটি apigee-monit ইনস্টল করে এবং ডিফল্ট হিসেবে নোডের সব কম্পোনেন্ট মনিটর করা শুরু করে।

  কম্পোনেন্ট মনিটর করা বন্ধ করুন
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  কম্পোনেন্ট মনিটর করা শুরু করুন
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  সারসংক্ষেপের স্ট্যাটাস সংক্রান্ত তথ্য পান
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  apigee-monit লগ ফাইল দেখুন
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

এইসব বিষয় এবং অন্যান্য বিষয় সম্পর্কে নিচের বিভাগে বিস্তারিতভাবে বর্ণনা করা হয়েছে।

apigee-monit সম্পর্কে

apigee-monit নিশ্চিত করতে সাহায্য করে যে নোডের সমস্ত কম্পোনেন্ট চালু আছে এবং কাজ করছে। এটি বিভিন্ন পরিষেবা প্রদান করে এই কাজ করে, যার মধ্যে রয়েছে:

  • ব্যর্থ পরিষেবা আবার চালু করা হচ্ছে
  • সারসংক্ষেপ সংক্রান্ত তথ্য দেখানো
  • লগিং মনিটরিং স্ট্যাটাস
  • বিজ্ঞপ্তি পাঠানো হচ্ছে
  • নন-Edge পরিষেবা মনিটর করা

Apigee সাজেস্ট করে যে এটি চলছে কিনা তা নিশ্চিত করতে apigee-monit মনিটর করুন। আরও তথ্যের জন্য, apigee-monit মনিটর করুন দেখুন।

apigee-monit আর্কিটেকচার

আপনার Apigee Edge for Private Cloud ইনস্টলেশন ও কনফিগারেশনের সময়, আপনি ঐচ্ছিকভাবে আপনার ক্লাস্টারের প্রতিটি নোডে apigee-monit-এর একটি আলাদা ইনস্ট্যান্স ইনস্টল করেন। এইসব আলাদা apigee-monit ইনস্ট্যান্স একে অপরের থেকে স্বাধীনভাবে কাজ করে: তারা তাদের কম্পোনেন্টের স্ট্যাটাস অন্য নোডে জানায় না, এমনকি মনিটরিং ইউটিলিটির ব্যর্থতাও কোনও সেন্ট্রাল সার্ভিসকে জানায় না।

নিচের ছবিতে ৫-নোড ক্লাস্টারে apigee-monit আর্কিটেকচার দেখানো হয়েছে:

৫ নোড ক্লাস্টারে Apigee monit-এর
  আর্কিটেকচার
ছবি ১: ক্লাস্টারের প্রতিটি নোডে apigee-monit-এর একটি আলাদা ইনস্ট্যান্স আইসোলেশনে রান করে

কম্পোনেন্ট কনফিগারেশন

apigee-monit কোন কম্পোনেন্ট মনিটর করতে হবে, কম্পোনেন্টের কোন কোন দিক চেক করতে হবে এবং কোনও সমস্যা হলে কী ব্যবস্থা নিতে হবে তা নির্ধারণ করতে কম্পোনেন্ট কনফিগারেশন ব্যবহার করে।

ডিফল্ট হিসেবে, apigee-monit আগে থেকে নির্দিষ্ট করা কম্পোনেন্ট কনফিগারেশন ব্যবহার করে নোডের সব Edge কম্পোনেন্ট মনিটর করে। ডিফল্ট সেটিংস দেখতে, আপনি apigee-monit কম্পোনেন্ট কনফিগারেশন ফাইল দেখতে পারেন। আপনি ডিফল্ট কম্পোনেন্ট কনফিগারেশন পরিবর্তন করতে পারবেন না।

apigee-monit কোনও কম্পোনেন্টের বিভিন্ন দিক চেক করে, এটি নির্ভর করে কোন কম্পোনেন্ট চেক করা হচ্ছে তার উপর। নিচের সারণীতে apigee-monit প্রতিটি কম্পোনেন্টের জন্য কী চেক করে তা তালিকাভুক্ত করা আছে এবং প্রতিটি কম্পোনেন্টের জন্য কম্পোনেন্ট কনফিগারেশন কোথায় আছে তা দেখানো হয়েছে। মনে রাখবেন, কিছু কম্পোনেন্ট একটি কনফিগারেশন ফাইলে সংজ্ঞায়িত করা হয়, বাকিগুলির নিজস্ব কনফিগারেশন থাকে।

কম্পোনেন্ট কনফিগারেশন লোকেশন কী মনিটর করা হয়
ম্যানেজমেন্ট সার্ভার /opt/apigee/edge-management-server/monit/default.conf apigee-monit চেক:
  • নির্দিষ্ট পোর্ট খোলা আছে এবং অনুরোধ গ্রহণ করছে
  • নির্দিষ্ট প্রোটোকল কাজ করে
  • উত্তরের স্ট্যাটাস

এছাড়াও, এইসব কম্পোনেন্টের apigee-monit জন্য:

  • অ্যাকশন নেওয়ার আগে নির্দিষ্ট সংখ্যক সাইকেলের মধ্যে একাধিকবার ব্যর্থ হতে হবে
  • কাস্টম অনুরোধের পাথ সেট করে
মেসেজ প্রসেসর /opt/apigee/edge-message-processor/monit/default.conf
Postgres Server /opt/apigee/edge-postgres-server/monit/default.conf
Qpid সার্ভার /opt/apigee/edge-qpid-server/monit/default.conf
রাউটার /opt/apigee/edge-router/monit/default.conf
Cassandra
New Edge UI
SymasLDAP
Postgres
Qpid
Zookeeper
/opt/apigee/data/apigee-monit/monit.conf apigee-monitটি চেক:
  • পরিষেবা চলছে

নিচে দেওয়া উদাহরণে edge-router কম্পোনেন্টের জন্য ডিফল্ট কম্পোনেন্ট কনফিগারেশন দেখানো হয়েছে:

check host edge-router with address localhost
  restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
  if failed host 10.1.1.0 port 8081 and protocol http
    and request "/v1/servers/self/uuid"
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

  if failed port 15999 and protocol http
    and request "/v1/servers/self"
    and status < 600
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

নিম্নলিখিত উদাহরণে New Edge UI (edge-management-ui) কম্পোনেন্টের ডিফল্ট কনফিগারেশন দেখানো হয়েছে:

check process edge-management-ui
 with pidfile /opt/apigee/var/run/edge-management-ui/edge-management-ui.pid
 start program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui start" with timeout 55 seconds
 stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop"

আপনি Apigee Edge for Private Cloud-এর কোনও কম্পোনেন্টের জন্য ডিফল্ট কম্পোনেন্ট কনফিগারেশন পরিবর্তন করতে পারবেন না। তবে, আপনি এক্সটার্নাল পরিষেবার জন্য নিজের কম্পোনেন্ট কনফিগারেশন যোগ করতে পারেন, যেমন আপনার টার্গেট এন্ডপয়েন্ট বা httpd পরিষেবা। আরও তথ্যের জন্য, নন-Apigee কম্পোনেন্ট কনফিগারেশন দেখুন।

ডিফল্ট হিসেবে, apigee-monit যে নোডে রান করছে সেটির সব কম্পোনেন্ট মনিটর করে। আপনি সব কম্পোনেন্ট বা আলাদা আলাদা কম্পোনেন্টের জন্য এটি চালু বা বন্ধ করতে পারবেন। আরও তথ্যের জন্য এগুলি দেখুন:

apigee-monit ইনস্টল করুন

apigee-monit ডিফল্ট হিসেবে ইনস্টল করা থাকে না; আপনি প্রাইভেট ক্লাউডের জন্য Apigee Edge-এর 4.19.01 বা তার পরের ভার্সন আপগ্রেড বা ইনস্টল করার পরে এটি ম্যানুয়ালি ইনস্টল করতে পারবেন।

এই বিভাগে apigee-monit কীভাবে ইনস্টল করতে হয় তা বর্ণনা করা হয়েছে।

apigee-monit আনইনস্টল করা সংক্রান্ত তথ্যের জন্য, apigee-monit আনইনস্টল করুন দেখুন।

apigee-monit ইনস্টল করুন

এই বিভাগে apigee-monit কীভাবে ইনস্টল করতে হয় তা বর্ণনা করা হয়েছে।

apigee-monit ইনস্টল করতে:

  1. নিম্নলিখিত কমান্ডের মাধ্যমে apigee-monit ইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. নিম্নলিখিত কমান্ডের সাহায্যে apigee-monit কনফিগার করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. নিম্নলিখিত কমান্ড দিয়ে apigee-monit শুরু করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. আপনার ক্লাস্টারের প্রতিটি নোডে এই পদ্ধতিটি পুনরাবৃত্তি করুন।

কম্পোনেন্ট মনিটর করা বন্ধ ও শুরু করুন

কোনও কারণে পরিষেবা বন্ধ হয়ে গেলে, apigee-monit পরিষেবাটি আবার চালু করার চেষ্টা করে।

আপনি যদি উদ্দেশ্যমূলকভাবে কোনও কম্পোনেন্ট বন্ধ করতে চান, তাহলে এটি সমস্যা সৃষ্টি করতে পারে। যেমন, আপনি কোনও কম্পোনেন্ট ব্যাক-আপ বা আপগ্রেড করার সময় সেটি বন্ধ করতে চাইতে পারেন। ব্যাক-আপ বা আপগ্রেড করার সময় apigee-monit পরিষেবা রিস্টার্ট করলে, আপনার রক্ষণাবেক্ষণ পদ্ধতি বিঘ্নিত হতে পারে, সম্ভবত এর ফলে এটি ব্যর্থ হতে পারে।

নিম্নলিখিত বিভাগে কম্পোনেন্ট মনিটর করা বন্ধ করার বিকল্প দেখানো হয়েছে।

কোনও কম্পোনেন্ট বন্ধ করে সেটির মনিটর করা বন্ধ করা

কোনও কম্পোনেন্ট বন্ধ করতে এবং এটি আনমনিটর করতে, নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
component_name নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL ডেটাবেস)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (ম্যানেজমেন্ট সার্ভার)
  • edge-management-ui (নতুন Edge UI)
  • edge-message-processor (মেসেজ প্রসেসর)
  • edge-postgres-server (Postgres সার্ভার)
  • edge-qpid-server (Qpid সার্ভার)
  • edge-router (এজ রাউটার)

মনে রাখবেন, stop-component-এর জন্য "সব" সঠিক বিকল্প নয়। stop-component-এর সাহায্যে আপনি একবারে শুধুমাত্র একটি কম্পোনেন্ট মনিটর করা বন্ধ করতে পারবেন।

কম্পোনেন্ট আবার চালু করতে এবং মনিটরিং আবার শুরু করতে, নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

মনে রাখবেন যে start-component-এর জন্য "সব" বিকল্পটি সঠিক নয়।

কীভাবে সব কম্পোনেন্ট বন্ধ ও আনমনিটর করবেন সেই সংক্রান্ত নির্দেশাবলীর জন্য, সব কম্পোনেন্ট বন্ধ ও আনমনিটর করুন দেখুন।

কোনও কম্পোনেন্ট মনিটর করা বন্ধ করুন (তবে এটি বন্ধ করবেন না)

কোনও কম্পোনেন্ট আনমনিটর করতে (তবে এটি বন্ধ করবেন না), নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
component_name নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL ডেটাবেস)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (ম্যানেজমেন্ট সার্ভার)
  • edge-management-ui (নতুন Edge UI)
  • edge-message-processor (মেসেজ প্রসেসর)
  • edge-postgres-server (Postgres সার্ভার)
  • edge-qpid-server (Qpid সার্ভার)
  • edge-router (এজ রাউটার)

কম্পোনেন্ট মনিটর করা আবার শুরু করতে, নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

সব কম্পোনেন্ট আনমনিটর করুন (তবে সেগুলি বন্ধ করবেন না)

সব কম্পোনেন্ট আনমনিটর করতে (কিন্তু সেগুলি বন্ধ করবেন না), নিম্নলিখিত কমান্ড এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

সব কম্পোনেন্ট মনিটর করা আবার শুরু করতে, নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

সব কম্পোনেন্ট বন্ধ করুন এবং সেগুলি মনিটর করা বন্ধ করুন

সব কম্পোনেন্ট বন্ধ করতে এবং সেগুলি আনমনিটর করতে, নিম্নলিখিত কমান্ডগুলি এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop

সব কম্পোনেন্ট আবার চালু করতে এবং মনিটর করা আবার শুরু করতে, নিম্নলিখিত কমান্ডগুলি এক্সিকিউট করুন:

/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

সব কম্পোনেন্ট মনিটর করা বন্ধ করতে, আপনি apigee-monit বন্ধ করতে পারেন, যেমনটি apigee-monit বন্ধ, চালু এবং বন্ধ করুন-এ বর্ণনা করা হয়েছে।

apigee-monit বন্ধ, চালু ও ডিসেবল করা

যেকোনও পরিষেবার মতোই, আপনি apigee-service কমান্ড ব্যবহার করে apigee-monit বন্ধ ও চালু করতে পারবেন। এছাড়াও, apigee-monit unmonitor কমান্ডে কাজ করে, যা আপনাকে সাময়িকভাবে কম্পোনেন্ট মনিটর করা বন্ধ করতে দেয়।

apigee-monit বন্ধ করুন

apigee-monit বন্ধ করতে, এই কমান্ড ব্যবহার করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

apigee-monit চালু করুন

apigee-monit শুরু করতে, এই কমান্ড ব্যবহার করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

apigee-monit বন্ধ করুন

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

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

অথবা, apigee-monit আনইনস্টল করুন নিবন্ধে বর্ণিত পদ্ধতি অনুযায়ী, নোড থেকে apigee-monit আনইনস্টল করে আপনি এটি স্থায়ীভাবে বন্ধ করতে পারেন।

apigee-monit আনইনস্টল করুন

apigee-monit আনইনস্টল করতে:

  1. আপনি যদি cron জব সেট-আপ করে apigee-monit মনিটর করেন, তাহলে apigee-monit আনইনস্টল করার আগে cron জব সরিয়ে দিন:
    sudo rm /etc/cron.d/apigee-monit.cron
  2. নিচের কমান্ড দিয়ে apigee-monit বন্ধ করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
  3. এই কমান্ডের সাহায্যে apigee-monit আনইনস্টল করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
  4. আপনার ক্লাস্টারের প্রতিটি নোডে এই পদ্ধতিটি পুনরাবৃত্তি করুন।

নতুন ইনস্টল করা কম্পোনেন্ট মনিটর করা

apigee-monit চলছে এমন কোনও নোডে আপনি নতুন কম্পোনেন্ট ইনস্টল করলে, apigee-monit-এর restart কমান্ড এক্সিকিউট করে আপনি এটি মনিটর করা শুরু করতে পারবেন। এটি একটি নতুন monit.conf ফাইল তৈরি করে যা এর কম্পোনেন্ট কনফিগারেশনে নতুন কম্পোনেন্ট অন্তর্ভুক্ত করবে।

নিম্নলিখিত উদাহরণ apigee-monit রিস্টার্ট করে:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart

apigee-monit কাস্টমাইজ করা

আপনি বিভিন্ন apigee-monit সেটিংস কাস্টমাইজ করতে পারবেন, যার মধ্যে এগুলি অন্তর্ভুক্ত:

  1. ডিফল্ট apigee-monit কন্ট্রোল সেটিংস
  2. গ্লোবাল কনফিগারেশন সেটিংস
  3. Apigee-র নয় এমন কম্পোনেন্ট কনফিগারেশন

ডিফল্ট apigee-monit কন্ট্রোল সেটিংস

আপনি ডিফল্ট apigee-monit কন্ট্রোল সেটিংস কাস্টমাইজ করতে পারবেন, যেমন স্ট্যাটাস চেক করার ফ্রিকোয়েন্সি এবং apigee-monit ফাইলের লোকেশন। কনফিগারেশন সহ কোড টেকনিক ব্যবহার করে প্রপার্টি ফাইল এডিট করার মাধ্যমে আপনি এটি করতে পারবেন। আপনি প্রাইভেট ক্লাউডের জন্য Apigee Edge আপগ্রেড করার পরেও প্রপার্টি ফাইল থেকে যাবে।

নিম্নলিখিত সারণীতে ডিফল্ট apigee-monit কন্ট্রোল সেটিংস বর্ণনা করা আছে যা আপনি কাস্টমাইজ করতে পারবেন:

প্রপার্টি বিবরণ
conf_monit_httpd_port httpd ডেমন পোর্ট। apigee-monit তার ড্যাশবোর্ড অ্যাপের জন্য এবং রিপোর্ট/সারসংক্ষেপ চালু করতে httpd ব্যবহার করে। ডিফল্ট ভ্যালু হল ২৮১২।
conf_monit_httpd_allow httpd ডেমনকে করা অনুরোধের উপর সীমাবদ্ধতা। apigee-monit httpd ব্যবহার করে ড্যাশবোর্ড অ্যাপ চালায় এবং রিপোর্ট/সারসংক্ষেপ চালু করে। এই ভ্যালু অবশ্যই লোকালহোস্টকে (যে হোস্টে httpd চলছে) নির্দেশ করতে হবে।

অনুরোধে ইউজারনেম এবং পাসওয়ার্ড অন্তর্ভুক্ত করার জন্য, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

ইউজারনেম ও পাসওয়ার্ড যোগ করার সময়, প্রতিটি সীমাবদ্ধতার মধ্যে "\n" যোগ করুন। ভ্যালুতে আসল নতুন লাইন বা ক্যারেজ রিটার্ন যোগ করবেন না।

conf_monit_monit_datadir ইভেন্টের বিবরণ যে ডিরেক্টরিতে স্টোর করা আছে।
conf_monit_monit_delay_time apigee-monit মেমরিতে প্রথমবার লোড হওয়ার পর থেকে রান করার আগে পর্যন্ত যতটা সময় অপেক্ষা করে। এটি শুধুমাত্র apigee-monit প্রথম প্রসেস চেককে প্রভাবিত করে।
conf_monit_monit_logdir apigee-monit লগ ফাইলের লোকেশন।
conf_monit_monit_retry_time যে ফ্রিকোয়েন্সিতে apigee-monit প্রতিটি প্রসেস চেক করার চেষ্টা করে; ডিফল্ট হল ৬০ সেকেন্ড।
conf_monit_monit_rundir PID ও স্টেট ফাইলের লোকেশন, যা apigee-monit প্রসেস চেক করার জন্য ব্যবহার করে।

ডিফল্ট apigee-monit কন্ট্রোল সেটিংস কাস্টমাইজ করতে:

  1. নিম্নলিখিত ফাইল এডিট করুন:
    /opt/apigee/customer/application/monit.properties

    ফাইলটি না থাকলে, এটি তৈরি করুন এবং "apigee" ব্যবহারকারীকে মালিক হিসেবে সেট করুন:

    chown apigee:apigee /opt/apigee/customer/application/monit.properties

    মনে রাখবেন, ফাইলটি আগে থেকেই থাকলে, উপরে দেওয়া সারণীতে তালিকাভুক্ত করা হয়েছে এমন প্রপার্টি ছাড়াও সেটিতে অতিরিক্ত কনফিগারেশন প্রপার্টি থাকতে পারে। উপরে তালিকাভুক্ত প্রপার্টি ছাড়া অন্য কোনও প্রপার্টি পরিবর্তন করবেন না।

  2. আপনার নতুন ভ্যালু দিয়ে প্রপার্টি ভ্যালু সেট করুন বা পাল্টে দিন।

    যেমন, লগ ফাইলের লোকেশন পরিবর্তন করে /tmp করতে, নিম্নলিখিত প্রপার্টি যোগ বা এডিট করুন:

    conf_monit_monit_logdir=/tmp/apigee-monit.log
  3. monit.properties ফাইলে আপনার করা পরিবর্তন সেভ করুন।
  4. নিম্নলিখিত কমান্ডের মাধ্যমে apigee-monit আবার কনফিগার করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  5. নিম্নলিখিত কমান্ডের সাহায্যে apigee-monit রিলোড করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    আপনি apigee-monit রিস্টার্ট করতে না পারলে, apigee-monit লগ ফাইল অ্যাক্সেস করুন লিঙ্কে বর্ণিত পদ্ধতি অনুযায়ী, সমস্যার জন্য লগ ফাইল চেক করুন।

  6. আপনার ক্লাস্টারের প্রতিটি নোডের জন্য এই পদ্ধতিটি পুনরাবৃত্তি করুন।

গ্লোবাল কনফিগারেশন সেটিংস

আপনি apigee-monit-এর জন্য গ্লোবাল কনফিগারেশন সেটিংস নির্ধারণ করতে পারবেন; যেমন, আপনি অ্যালার্টের জন্য ইমেল বিজ্ঞপ্তি যোগ করতে পারবেন। আপনি /opt/apigee/data/apigee-monit ডিরেক্টরিতে একটি কনফিগারেশন ফাইল তৈরি করে এবং তারপর apigee-monit রিস্টার্ট করে এটি করতে পারেন।

apigee-monit-এর জন্য গ্লোবাল কনফিগারেশন সেটিংস নির্ধারণ করতে:

  1. নিম্নলিখিত লোকেশনে নতুন কম্পোনেন্ট কনফিগারেশন ফাইল তৈরি করুন:
    /opt/apigee/data/apigee-monit/filename.conf

    যেখানে filename যেকোনও সঠিক ফাইলের নাম হতে পারে, "monit" ছাড়া।

  2. নতুন কনফিগারেশন ফাইলের মালিককে "apigee" ব্যবহারকারী হিসেবে পরিবর্তন করুন, যেমন নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
  3. নতুন ফাইলে আপনার গ্লোবাল কনফিগারেশন সেটিংস যোগ করুন। নিম্নলিখিত উদাহরণটি একটি মেল সার্ভার কনফিগার করে এবং সতর্কতা প্রাপকদের সেট করে:
    SET MAILSERVER smtp.gmail.com PORT 465
      USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD"
      USING SSL, WITH TIMEOUT 15 SECONDS
    
    SET MAIL-FORMAT {
      from: edge-alerts@example.com
      subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST
    }
    SET ALERT fred@example.com
    SET ALERT nancy@example.com

    গ্লোবাল কনফিগারেশন বিকল্পের সম্পূর্ণ তালিকা দেখতে, monit ডকুমেন্টেশন দেখুন।

  4. কম্পোনেন্ট কনফিগারেশন ফাইলে আপনার করা পরিবর্তন সেভ করুন।
  5. নিম্নলিখিত কমান্ডের মাধ্যমে apigee-monit আবার লোড করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit রিস্টার্ট না হলে, apigee-monit লগ ফাইল অ্যাক্সেস করুন লিঙ্কে দেওয়া বিবরণ অনুযায়ী, ত্রুটির জন্য লগ ফাইল চেক করুন।

  6. আপনার ক্লাস্টারের প্রতিটি নোডের জন্য এই পদ্ধতিটি পুনরাবৃত্তি করুন।

Apigee-র নয় এমন কম্পোনেন্ট কনফিগারেশন

আপনি apigee-monit-এ নিজের কনফিগারেশন যোগ করতে পারেন যাতে এটি এমন পরিষেবা চেক করবে যা Apigee Edge for Private Cloud-এর অংশ নয়। যেমন, আপনার টার্গেট এন্ডপয়েন্টে অনুরোধ পাঠিয়ে আপনার API চলছে কিনা তা চেক করতে apigee-monit ব্যবহার করতে পারবেন।

Apigee নয় এমন কম্পোনেন্ট কনফিগারেশন যোগ করতে:

  1. নিম্নলিখিত লোকেশনে নতুন কম্পোনেন্ট কনফিগারেশন ফাইল তৈরি করুন:
    /opt/apigee/data/apigee-monit/filename.conf

    যেখানে filename যেকোনও সঠিক ফাইলের নাম হতে পারে, "monit" ছাড়া।

    প্রয়োজন অনুযায়ী আপনি যত খুশি কম্পোনেন্ট কনফিগারেশন ফাইল তৈরি করতে পারবেন। যেমন, আপনি নোডে মনিটর করতে চান এমন প্রতিটি নন-Apigee কম্পোনেন্টের জন্য আলাদা কনফিগারেশন ফাইল তৈরি করতে পারবেন।

  2. নিচের উদাহরণে যেমন দেখানো হয়েছে, নতুন কনফিগারেশন ফাইলের মালিককে "apigee" ব্যবহারকারীতে পরিবর্তন করুন:
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
  3. নতুন ফাইলে আপনার কাস্টম কনফিগারেশন যোগ করুন। নিচে দেওয়া উদাহরণটি লোকাল সার্ভারে টার্গেট এন্ডপয়েন্ট চেক করে:
    CHECK HOST localhost_validate_test WITH ADDRESS localhost
      IF FAILED
        PORT 15999
        PROTOCOL http
        REQUEST "/validate__test"
        CONTENT = "Server Ready"
        FOR 2 times WITHIN 3 cycles
      THEN alert

    সম্ভাব্য কনফিগারেশন সেটিংসের সম্পূর্ণ তালিকা পেতে, monit ডকুমেন্টেশন দেখুন।

  4. কনফিগারেশন ফাইলে আপনার করা পরিবর্তন সেভ করুন।
  5. নিম্নলিখিত কমান্ডের সাহায্যে apigee-monit রিলোড করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit রিস্টার্ট না হলে, apigee-monit লগ ফাইল অ্যাক্সেস করুন লিঙ্কে দেওয়া বিবরণ অনুযায়ী, ত্রুটির জন্য লগ ফাইল চেক করুন।

  6. আপনার ক্লাস্টারের প্রতিটি নোডের জন্য এই পদ্ধতিটি রিপিট করুন।

মনে রাখবেন, এটি শুধুমাত্র Edge নয় এমন কম্পোনেন্টের জন্য। আপনি এজ কম্পোনেন্টের জন্য কম্পোনেন্ট কনফিগারেশন কাস্টমাইজ করতে পারবেন না।

apigee-monit লগ ফাইল অ্যাক্সেস করা

apigee-monit ইভেন্ট, রিস্টার্ট, কনফিগারেশন পরিবর্তন ও অ্যালার্ট সহ সব অ্যাক্টিভিটি লগ ফাইলে লগ করে।

লগ ফাইলের ডিফল্ট লোকেশন হল:

/opt/apigee/var/log/apigee-monit/apigee-monit.log

আপনি apigee-monit কন্ট্রোল সেটিংস কাস্টমাইজ করে ডিফল্ট লোকেশন পরিবর্তন করতে পারবেন।

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

'edge-message-processor' trying to restart
[UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

apigee-monit লগ ফাইল এন্ট্রির ফর্ম্যাট কাস্টমাইজ করতে পারবেন না।

apigee-monit-এর মাধ্যমে অ্যাগ্রিগেট করা স্ট্যাটাস দেখুন

apigee-monit-এ নিম্নলিখিত কমান্ড অন্তর্ভুক্ত থাকে যা আপনাকে কোনও নোডের কম্পোনেন্ট সম্পর্কে একত্রিত স্ট্যাটাস সংক্রান্ত তথ্য দেয়:

কমান্ড ব্যবহার
report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
summary
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

এইসব কমান্ডের প্রতিটি সম্পর্কে পরবর্তী বিভাগে আরও বিস্তারিতভাবে ব্যাখ্যা করা হয়েছে।

রিপোর্ট

report কমান্ড আপনাকে একটি নোডে কতগুলি কম্পোনেন্ট চালু, বন্ধ, বর্তমানে শুরু করা হচ্ছে বা বর্তমানে মনিটর করা হচ্ছে না তার একটি সংক্ষিপ্ত সারসংক্ষেপ দেয়। নিম্নলিখিত উদাহরণটি report কমান্ডকে ইনভোক করে:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

নিচের উদাহরণে AIO (অল-ইন-ওয়ান) কনফিগারেশনে report আউটপুট দেখানো হয়েছে:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
up:            11 (100.0%)
down:           0 (0.0%)
initialising:   0 (0.0%)
unmonitored:    1 (8.3%)
total:         12 services

এই উদাহরণে, apigee-monit-এর রিপোর্ট অনুযায়ী ১২টি পরিষেবার মধ্যে ১১টি চালু আছে। একটি পরিষেবা বর্তমানে মনিটর করা হচ্ছে না।

আপনি প্রথমবার report কমান্ড এক্সিকিউট করলে Connection refused সমস্যা হতে পারে। এই ক্ষেত্রে, conf_monit_monit_delay_time প্রপার্টির সময়সীমা শেষ হওয়া পর্যন্ত অপেক্ষা করুন এবং তারপরে আবার চেষ্টা করুন।

সারাংশ

summary কমান্ড প্রতিটি কম্পোনেন্ট তালিকাভুক্ত করে এবং এর স্ট্যাটাস প্রদান করে। নিম্নলিখিত উদাহরণটি summary কমান্ডকে আহ্বান করে:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

নিচের উদাহরণে summary AIO (অল-ইন-ওয়ান) কনফিগারেশনের আউটপুট দেখানো হয়েছে:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
Monit 5.25.1 uptime: 4h 20m
 Service Name                     Status                      Type
 host_name                        OK                          System
 apigee-zookeeper                 OK                          Process
 apigee-cassandra                 OK                          Process
 apigee-openldap                  OK                          Process
 apigee-qpidd                     OK                          Process
 apigee-postgresql                OK                          Process
 edge-management-ui               OK                          Process
 edge-qpid-server                 OK                          Remote Host
 edge-postgres-server             OK                          Remote Host
 edge-management-server           OK                          Remote Host
 edge-router                      OK                          Remote Host
 edge-message-processor           OK                          Remote Host

আপনি প্রথমবার summary কমান্ড এক্সিকিউট করার সময় Connection refused সমস্যা হলে, conf_monit_monit_delay_time প্রপার্টির মেয়াদ শেষ হওয়া পর্যন্ত অপেক্ষা করে আবার চেষ্টা করুন।

apigee-monit মনিটর করুন

প্রতিটি নোডে apigee-monit চলছে কিনা তা নিয়মিত চেক করা সবচেয়ে ভালো অভ্যাস।

apigee-monit চলছে কিনা তা চেক করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

Apigee সাজেস্ট করে যে আপনি apigee-monit রান করছে এমন প্রতিটি নোডে পর্যায়ক্রমে এই কমান্ডটি ইস্যু করুন। এটি করার একটি উপায় হল cron-এর মতো ইউটিলিটি ব্যবহার করা যা পূর্ব-নির্ধারিত বিরতিতে শিডিউল করা টাস্ক সম্পাদন করে।

apigee-monit মনিটর করতে cron ব্যবহার করতে:

  1. cron-এর জন্য সহায়তা যোগ করতে, apigee-monit.cron ডিরেক্টরিকে /etc/cron.d ডিরেক্টরিতে কপি করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
    cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
  2. apigee-monit.cron ফাইল এডিট করতে সেটি খুলুন।

    apigee-monit.cron ফাইলটি cron জবটি কার্যকর করার জন্য সংজ্ঞায়িত করে পাশাপাশি সেই জবটি কার্যকর করার ফ্রিকোয়েন্সিও। নিচের উদাহরণে ডিফল্ট মান দেখানো হয়েছে:

    # Cron entry to check if monit process is running. If not start it
    */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    এই ফাইল নিম্নলিখিত সিনট্যাক্স ব্যবহার করে, যেখানে প্রথম পাঁচটি ফিল্ড সেই সময়কে সংজ্ঞায়িত করে যখন apigee-monit তার অ্যাকশন এক্সিকিউট করে:

    min hour day_of_month month day_of_week task_to_execute

    যেমন, ডিফল্ট এক্সিকিউশন টাইম হল */2 * * * *, যা cron-কে প্রতি ২ মিনিট অন্তর apigee-monit প্রসেস চেক করার নির্দেশ দেয়।

    আপনি cron জব প্রতি মিনিটে একবারের বেশি বার চালাতে পারবেন না।

    cron ব্যবহার করার ব্যাপারে আরও তথ্যের জন্য, আপনার সার্ভার OS-এর ডকুমেন্টেশন বা ম্যান পৃষ্ঠা দেখুন।

  3. আপনার সংস্থার নীতি অনুযায়ী cron সেটিংস পরিবর্তন করুন। যেমন, প্রতি ৫ মিনিটে এক্সিকিউশন ফ্রিকোয়েন্সি পরিবর্তন করতে, জব ডেফিনেশন নিম্নলিখিতভাবে সেট করুন:
    */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
  4. apigee-monit.cron ফাইলটি সেভ করুন।
  5. আপনার ক্লাস্টারের প্রতিটি নোডের জন্য এই পদ্ধতিটি রিপিট করুন।

cron যদি apigee-monit দেখা শুরু না করে, তাহলে এগুলি চেক করুন:

  • cron জব ডেফিনেশনের পরে একটি খালি লাইন আছে।
  • ফাইলে শুধু একটি cron জব উল্লেখ করা আছে। (কমেন্ট করা লাইন গণনা করা হয় না।)

আপনি যদি apigee-monit বন্ধ বা সাময়িকভাবে বন্ধ করতে চান, তাহলে আপনাকে এই cron জবও বন্ধ করতে হবে, অন্যথায় cron, apigee-monit রিস্টার্ট করবে।

cron বন্ধ করতে, নিম্নলিখিতগুলির মধ্যে যেকোনও একটি করুন:

  • /etc/cron.d/apigee-monit.cron ফাইলটি মুছে দিন:
    sudo rm /etc/cron.d/apigee-monit.cron

    আপনি যদি পরে apigee-monit দেখার জন্য cron আবার চালু করতে চান, তাহলে আপনাকে এটি আবার কপি করতে হবে।

    অথবা

  • /etc/cron.d/apigee-monit.cron ফাইলটি এডিট করুন এবং লাইনের শুরুতে "#" যোগ করে জব সংজ্ঞা কমেন্ট আউট করুন; যেমন:
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit