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 সার্ভার /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
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

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

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

এটি ক্লাসিক UI-এর ক্ষেত্রে প্রযোজ্য, নতুন Edge UI-এর ক্ষেত্রে নয়, যার কম্পোনেন্টের নাম হল edge-management-ui।

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

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

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

apigee-monit ডিফল্ট হিসেবে ইনস্টল করা থাকে না; আপনি Apigee Edge for Private Cloud-এর 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-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (ম্যানেজমেন্ট সার্ভার)
  • edge-management-ui (নতুন Edge UI)
  • edge-message-processor (মেসেজ প্রসেসর)
  • edge-postgres-server (Postgres সার্ভার)
  • edge-qpid-server (Qpid সার্ভার)
  • edge-router (এজ রাউটার)
  • edge-ui (ক্লাসিক UI)

মনে রাখবেন, 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-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (ম্যানেজমেন্ট সার্ভার)
  • edge-management-ui (নতুন Edge UI)
  • edge-message-processor (মেসেজ প্রসেসর)
  • edge-postgres-server (Postgres সার্ভার)
  • edge-qpid-server (Qpid সার্ভার)
  • edge-router (এজ রাউটার)
  • edge-ui (ক্লাসিক UI)

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

/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-monit ব্যবহার করা বন্ধ ও চালু করতে apigee-service কমান্ড ব্যবহার করতে পারবেন। এছাড়াও, 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-এর অংশ নয় এমন পরিষেবা চেক করতে পারে। যেমন, আপনার টার্গেট এন্ডপয়েন্টে অনুরোধ পাঠিয়ে আপনার 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 নয় এমন কম্পোনেন্টের জন্য। 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

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

/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-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-এর ডকুমেন্টেশন বা man পৃষ্ঠা দেখুন।

  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