خوداصلاحی با apigee-monit

‫Apigee Edge for Private Cloud شامل apigee-monit، ابزاری مبتنی بر monit utility متن‌باز است. ‫apigee-monit به‌طور دوره‌ای سرویس‌های Edge را نظرسنجی می‌کند؛ اگر سرویسی دردسترس نباشد، apigee-monit تلاش می‌کند آن را بازراه‌اندازی کند.

برای استفاده از apigee-monit، باید آن را به‌صورت دستی نصب کنید. این ویژگی بخشی از نصب استاندارد نیست.

به‌طور پیش‌فرض، apigee-monit وضعیت سرویس‌های Edge را هر ۶۰ ثانیه بررسی می‌کند.

راه‌اندازی سریع

این بخش به شما نشان می‌دهد که چگونه به‌سرعت با apigee-monit شروع به کار کنید.

اگر از Amazon Linux یا Oracle-Linux-7.X استفاده می‌کنید، ابتدا monit را ازطریق Fedora نصب کنید. درغیراین‌صورت، از این مرحله رد شوید.

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

مثال زیر پیکربندی پیش‌فرض را برای عنصر «میانای کاربری کلاسیک» (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"

این مورد برای «واسط کاربر کلاسیک» اعمال می‌شود، نه «واسط کاربر Edge» جدید که نام مؤلفه‌اش edge-management-ui است.

نمی‌توانید پیکربندی‌های عنصر پیش‌فرض را برای هیچ‌یک از عناصر Apigee Edge for Private Cloud تغییر دهید. بااین‌حال، می‌توانید پیکربندی‌های مؤلفه خودتان را برای سرویس‌های خارجی، مثل نقطه پایانی هدف یا سرویس httpd، اضافه کنید. برای اطلاعات بیشتر، به پیکربندی‌های عنصر غیر Apigee مراجعه کنید.

به‌طور پیش‌فرض، apigee-monit همه عناصر را در گرهی که در آن اجرا می‌شود پایش می‌کند. می‌توانید آن را برای همه عناصر یا برای عناصر جداگانه فعال یا غیرفعال کنید. برای اطلاعات بیشتر، به اینجا مراجعه کنید:

نصب apigee-monit

‫apigee-monit به‌طور پیش‌فرض نصب نمی‌شود؛ می‌توانید آن را پس‌از ارتقا دادن یا نصب کردن نسخه ۴.۱۹.۰۱ یا جدیدتر Apigee Edge for Private Cloud به‌صورت دستی نصب کنید.

این بخش نحوه نصب 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)
  • ‫edge-message-processor (پردازشگر پیام)
  • ‫edge-postgres-server (سرور Postgres)
  • ‫edge-qpid-server (سرور Qpid)
  • ‫edge-router (رهیاب لبه)
  • ‫edge-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)
  • ‫edge-message-processor (پردازشگر پیام)
  • ‫edge-postgres-server (سرور Postgres)
  • ‫edge-qpid-server (سرور Qpid)
  • ‫edge-router (رهیاب لبه)
  • ‫edge-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 در آن اجرا می‌شود نصب کنید، می‌توانید با اجرای فرمان restart در apigee-monit، نظارت بر آن را شروع کنید. با این کار فایل 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. ‫
  5. ‫apigee-monit را با فرمان زیر دوباره پیکربندی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  6. با فرمان زیر، apigee-monit را مجدد بار کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    اگر نمی‌توانید apigee-monit را بازراه‌اندازی کنید، فایل گزارش را برای یافتن خطاها بررسی کنید، همان‌طور که در دسترسی به فایل‌های گزارش apigee-monit توضیح داده شده است.

  7. این رویه را برای هر گره در خوشه‌تان تکرار کنید.

تنظیمات پیکربندی سراسری

می‌توانید تنظیمات پیکربندی سراسری را برای 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 نیستند بررسی کند. برای مثال، می‌توانید از 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

اگر هنگام اجرای اولیه فرمان Connection refused خطایی دریافت کردید، سعی کنید به مدت زمان ویژگی conf_monit_monit_delay_time صبر کنید و سپس دوباره امتحان کنید.summary

پایشگر apigee-monit

بهترین رویه این است که به‌طور منظم بررسی کنید که apigee-monit در هر گره‌ای اجرا می‌شود.

برای بررسی اینکه apigee-monit درحال اجرا است، از فرمان زیر استفاده کنید:

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

‫Apigee توصیه می‌کند که این فرمان را به‌صورت دوره‌ای در هر گره‌ای که apigee-monit را اجرا می‌کند صادر کنید. یکی از راه‌های انجام این کار استفاده از ابزاری مثل cron است که وظایف زمان‌بندی‌شده را در فاصله‌های زمانی ازپیش‌تعیین‌شده اجرا می‌کند.

برای استفاده از cron برای نظارت بر apigee-monit:

  1. با کپی کردن apigee-monit.cron دایرکتوری به دایرکتوری /etc/cron.d، همان‌طور که در مثال زیر نشان داده شده است، پشتیبانی cron را اضافه کنید:
    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، به اسناد سیستم‌عامل سرور یا صفحات 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

    اگر بعداً بخواهید cron را برای تماشای apigee-monit دوباره فعال کنید، باید آن را دوباره کپی کنید.

    یا

  • فایل /etc/cron.d/apigee-monit.cron را ویرایش کنید و با افزودن «#» به ابتدای خط، تعریف شغل را نظرگذاری کنید؛ برای مثال:
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit