معرفی ابزار مانیتورینگ Monit

Monit چیست؟ آشنایی با ابزار Open Source برای مدیریت و مانیتورینگ لینوکس

Monit ازجمله ابزارهای محبوب مانیتورینگ برای لینوکس و یونیکس به‌شمار می‌آید. مانیتورینگ یکی از سیستم‌های ضروری هر سرور است که تمامی اطلاعات را نشان می‌دهد. هر صاحب وب‌سایت یا سروری احتیاج دارد تا داده‌های سرور خود را روی صفحه‌ای جامع مشاهده کند تا درصورت نیاز، اقدام‌های لازم را انجام دهد. Monit قابلیت‌های کاربردی مانند تکرار خودکار عملیات‌ها و مانیتورینگ قوی دارد. در این مقاله، ابزار Monit را معرفی می‌کنیم و روش نصب و استفاده از آن در انواع توزیع‌های لینوکس را شرح می‌دهیم.

Monit چیست؟

Monit ابزار منبع‌باز رایگان و مفیدی است که به‌طورخودکار فرایندها، فایل‌ها، دایرکتوری‌ها، Checksumها، مجوزها، فایل‌های سیستمی و سرویس‌هایی مانند Apache ،Nginx ،MySQL ،FTP ،SSH و SMTP را در یونیکس یا لینوکس نظارت (مانیتورینگ) و مدیریت می‌کند. این ابزار سیستم‌ها و قابلیت‌های نظارتی عالی و مفیدی به مدیران سیستم ارائه می‌دهد.

سیستم مانیتورینگ Monit رابط کاربری زیبایی دارد که با استفاده از آن می‌توانید مستقیماً وضعیت سیستم و فرایندهای راه‌اندازی را با استفاده از وب HTTP(S) یا رابط خط فرمان مشاهده کنید. برای دسترسی و مشاهده رابط وب‌سایتی Monit، باید وب سروری مانند Apache یا Nginx را روی سیستم خود نصب کنید.

آشنایی با ابزار رایگان مانیتورینگ Monit 

Monit چه کاری‌هایی انجام می‌دهد؟

Monit این قابلیت را دارد که درصورت اجرا‌نشدن فرایند و پاسخ‌گونبودن آن، فرایندی را مجدداً راه‌اندازی و درصورت استفاده زیاد از منابع، انجام فرایندی را متوقف کند. علاوه‌بر‌این، از Monit برای نظارت بر فایل‌ها و دایرکتوری‌ها، تغییرات فایل‌های سیستمی، تغییرات Checksum، تغییرات اندازه فایل یا تغییرات Timestamp می‌توانید استفاده کنید.

با Monit می‌توانید پورت TCP/IP و پروتکل‌های سرور لینوکس آرو پینگ هاست‌های راه دور را نظارت کنید. Monit فایل گزارش خود را نگه می‌دارد و درصورت مشاهده هرگونه شرایط خاص، هشدارهای لازم را ارسال می‌کند.

آموزش قدم به قدم نصب Putty در لینوکس و اتصال به سرور لینوکسی از طریق سیستم عامل لینوکس را در مقاله زیر بخوانید.

اتصال به سرور لینوکسی از لینوکس

مزایای Monit

  • فرایندهای نظارت
  • فایل‌های مانیتورینگ
  • نظارت بر دایرکتوری‌ها
  • دستگاه‌ها و ابزارهای نظارتی
  • مانیتورینگ میزبان از راه دور
  • تست پروتکل
  • رابط وب

مزایای ابزار مانیتورینگ Monit 

نصب و پیکربندی Monit در لینوکس

Monit ابزاری پیشرفته با قابلیت‌های فراوان است که می‌تواند روی سیستم‌عامل لینوکس نصب و اجرا شود. در‌ادامه، هر‌آنچه برای نصب و راه‌اندازی Monit در لینوکس نیاز دارید، توضیح می‌دهیم.

مرحله اول: نصب Monit در لینوکس

به‌طورپیش‌فرض برنامه مانیتورینگ Monit در مخازن پیش‌فرض سیستم در‌دسترس نیست و باید از مخزنی مانند epel استفاده کرد. مخزن خود را فعال و پیکربندی و بسته Monit را تحت توزیع‌های مبتنی‌بر RHEL مانند CentOS و Rocky Linux و AlmaLinux نصب کنید:

--------- On RHEL 9 based Systems --------- 
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm 

--------- On RHEL 8 based Systems --------- 
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

--------- On RHEL 7 based Systems ---------
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

هنگامی‌که مخزن epel را اضافه کردید، بسته Monit را با اجرای دستور yum زیر نصب کنید:

# yum install monit
OR
# dnf install monit  [On Fedora Linux]

نصب Monit در RHEL

در اوبونتو و Debian و Linux، کاربران با استفاده از دستور apt زیر می‌توانند بسته Monit را نصب کنند:

$ sudo apt install monit

مرحله دوم: پیکربندی Monit در لینوکس

Monit پیکربندی آسانی دارد؛ زیرا فایل‌های پیکربندی آن را می‌توانید بخوانید و درک کنید و آن را مطابق خواسته‌های خود پیکربندی کنید. به‌طورپیش‌فرض Monit برای نظارت هر ۲ دقیقه بر سرورهای در حال اجرا طراحی شده است و گزارش‌ها را در /var/log/monit نگه می‌دارد.

Monit رابط کاربری تحت‌وبی دارد که با استفاده از وب سرور روی پورت ۲۸۱۲ اجرا می‌شود. برای فعال‌کردن رابط کاربری تحت‌وب، باید تغییراتی در فایل پیکربندی Monit ایجاد کنید. فایل پیکربندی اصلی Monit برای RedHat و CentOS و Fedora در /etc/monit.conf و برای Ubuntu و Debian و Linux Mint در /etc/monit/monitrc قرار دارد. این فایل را با استفاده از ویرایشگر انتخابی خود مانند Nano باز کنید:

# vi /etc/monitrc
Or
$ sudo nano /etc/monit/monitrc

در مرحله بعد، بخش زیر را از حالت کامنت خارج و آدرس IP یا نام دامنه سرور خود را اضافه کنید:

set httpd port 2812 and
     use address 0.0.0.0  # only accept connections from localhost
     allow 0.0.0.0/0        # allow localhost to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'
     allow @monit           # allow users of group 'monit' to connect (rw)
     allow @users readonly  # allow users of group 'users' to connect readonly

پیکربندی Monit در لینوکس

هنگامی‌که آن را پیکربندی کردید، باید سرویس Monit را فعال و تأیید کنید تا تنظیمات پیکربندی جدید بارگیری شود:

# systemctl start monit
# systemctl enable monit
# systemctl status monit

خروجی می‌تواند ازاین‌قرار باشد:

شروع کار با ابزار Monit در لینوکس

اکنون با رفتن به URLهای زیر، می‌توانید به رابط وب Monit دسترسی پیدا کنید:

http://localhost:2812
OR
http://ip-address:2812
Or
http://example.com:2812

درادامه، نام کاربری را admin و رمزعبور را monit وارد کنید. پس از تأیید، صفحه مانیتورینگ را مشاهده خواهید کرد.

وارد محیط Monit شوید

مدیریت سرویس‌های Monit 

وضعیت سیستم Monit 

مرحله سوم: افزودن خدمات لینوکس به نظارت بر مانیتورینگ

هنگامی‌که رابط‌های وب Monit به‌درستی پیکربندی شدند، برنامه‌هایی که می‌خواهید نظارت کنید، برای RedHat و CentOS و Fedora به فایل /etc/monitrc و برای Ubuntu و Debian و Linux Mint به فایل /etc/monit/monitrc اضافه کنید. در‌ادامه، چند نمونه پیکربندی مفید برای monit را ذکر کرده‌ایم که می‌تواند برای مشاهده نحوه اجرای سرویس، محل نگه‌داری نمایه، نحوه شروع و توقف سرویس و… مفید باشد.

۱. مانیتور آپاچی در Monit

check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/usr/bin/systemctl httpd start"
stop program = "/usr/bin/systemctl httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout

۲. مانیتور آپاچی 2 در Monit

check process apache with pidfile /run/apache2.pid
start program = "/usr/bin/systemctl apache2 start" with timeout 60 seconds
stop program  = "/usr/bin/systemctl apache2 stop"

۳. مانیتور Nginx در Monit

check process nginx with pidfile /var/run/nginx.pid
start program = "/usr/bin/systemctl nginx start"
stop program = "/usr/bin/systemctl nginx stop"

۴. مانیتور  MySQL در Monit

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/usr/bin/systemctl mysqld start"
stop program = "/usr/bin/systemctl mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout

۵. مانیتور SSH در Monit

check process sshd with pidfile /var/run/sshd.pid
start program "/usr/bin/systemctl sshd start"
stop program "/usr/bin/systemctl sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

وقتی همه برنامه‌ها را برای نظارت پیکربندی کردید، باید وجود خطا در Monit را بررسی کنید تا اگر خطایی پیدا شد، آن‌ها را برطرف کنید. شناسایی نوع خطای رخ‌داده نیز آسان است. هنگامی‌که پیامی مانند Control file syntax OK دریافت کردید یا اگر خطایی مشاهده نکردید، می‌توانید ادامه دهید:

# monit -t
Or
$ sudo monit -t

پس از رفع تمامی خطاهای احتمالی، می‌توانید دستور زیر را تایپ کنید تا سرویس Monit راه‌اندازی شود:

# systemctl monit restart
OR
$ sudo systemctl monit restart

پس از افزودن تمام سرویس‌های لینوکس برای نظارت، مانیتورینگ به‌صورت زیر خواهد بود:

سرویس مانیتورینگ لینوکس در Monit

در مقاله زیر معرفی ۱۰ ابزار پرکاربرد نظارت بر ترافیک شبکه اوبونتو را بخوانید.

نظارت بر ترافیک شبکه اوبونتو

۶. تست ویژگی‌ها و راه‌اندازی مجدد سرویس

برای تست ویژگی‌ها و عملکرد، با دستور زیر می‌توانید این سیستم را متوقف کنید:

$ sudo systemctl stop proftpd

پس از متوقف‌کردن سرویس، باید اعلان ایمیلی درباره توقف سرویس دریافت کنید. در ۱۲۰ ثانیه Monit سعی می‌کند سرویس را دوباره راه‌اندازی کند. همچنین، گزارش‌ها باید در فایل log /var/log/monit.log باشند:

cat /var/log/monit.log

۷. نحوه پیکربندی هشدارها در Monit

اگر می‌خواهید همیشه از تازه‌ترین به‌روزرسانی‌ها درباره فرایندهای نظارت‌شده مطلع شوید، هشدارها را باید فعال کنید تا درصورت بروز هرگونه خطایی، Monit ایمیلی به آدرس مشخص‌شده ارسال کند. برای فعال‌کردن این گزینه، چند خط را در فایل پیکربندی اصلی باید تغییر دهید.

۸. تنظیم آدرس ایمیل هشدار

به‌طورپیش‌فرض، Monit از هاست محلی برای ارسال ایمیل استفاده می‌کند. علاوه‌بر‌این، می‌توانید چندین سرور ایمیل را مشخص کنید تا برای ارسال هشدارها استفاده شوند. اگر ارسال ایمیل ازطریق سرور اول شکست بخورد، Monit سرور دوم و... را اجرا می‌کند:

/etc/monit/monitrc
set mailserver your.mail.server
set alert your.mail.address

تنظیم هشدار ایمیل در Monit

جمع‌بندی

Monit ابزار مانیتورینگ کارآمد منبع‌باز و رایگانی است که کاربردهای فراوانی دارد. در این مقاله از آموزش سیستم عامل، درباره قابلیت‌های متنوع Monit مانند مانیتورینگ فایل‌ها، دایرکتوری‌ها، Checksumها و مجوزها، انجام دوباره عملیات‌های خودکارسازی‌شده و اطلاع‌رسانی هشدارهای مهم به‌طورمفصل صحبت کردیم. همچنین، نحوه نصب آن در توزیع‌های لینوکس و یونیکس را آموزش دادیم تا Monit را روی سرور خود بتوانید به‌راحتی نصب و پیکربندی کنید.

سؤالات متداول

۱. Monit چه کاربردهایی دارد‌؟

Monit فرایندی را به‌طور‌خودکار مجدداً راه‌اندازی و درصورت از‌بین‌رفتن فرایند، با نظارت بر حافظه یا چرخه‌های CPU و هشدار ازطریق ایمیل اطلاع‌رسانی می‌کند. علاوه‌براین، Monit می‌تواند سیستم‌های کامپیوتری توزیع‌شده را نظارت و مدیریت کند.

۲. مانیتورینگ Monit چیست؟

Monit ابزاری برای مدیریت و نظارت بر فرایندها، برنامه‌ها، فایل‌ها، دایرکتوری‌ها و فایل‌های سیستمی در سیستم یونیکس و لینوکس است. ناگفته نماند Monit اقدامات تعریف‌شده‌ای را در موقعیت‌های خطا و عملیات‌های نگه‌داری و تعمیر را به‌طورخودکار انجام می‌دهد.

۳. Monit در لینوکس چگونه کار می‌کند؟

از Monit برای آزمایش برنامه‌ها یا اسکریپت‌ها در زمان‌های خاص می‌توانید استفاده و مقدار خروج از برنامه را آزمایش کنید و درصورتی‌که مقدار خروج نشان‌دهنده خطا باشد، اقدامی انجام دهید یا هشدار ارسال کنید. این یعنی Monit به‌منظور انجام هر نوع بررسی‌ای که می‌توانید برایش اسکریپت بنویسید، به‌کار برده می‌شود.

۴. فایل پیکربندی Monit در لینوکس کجاست؟

فایل پیکربندی اصلی Monit در /etc/monit قرار دارد: conf برای RedHat و CentOS و Fedora و /etc/monit/monitrc برای Ubuntu و Debian و Linux Mint.

۵. چگونه مانیتور را غیرفعال کنیم؟

  • Kill /bin/bash /etc/init.d/arcsight_services start monit.
  • Run /etc/init.d/arcsight_service stop monit.

۶. سیکل Monit چقدر است؟

۳۰ یا ۶۰ ثانیه فاصله مناسبی است؛ البته در برخی سیستم‌ها این فاصله زمانی را می‌توان تغییر داد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

  • با خدمات ابری پارس پک آشنا شوید

    اولین ارائه‌دهنده خدمات رایانش ابری در ایران هستیم

    سرور ابری

    با ابرسرورها می‌توانید سرور با سیستم‌عامل دلخواه خود را در چند دقیقه انتخاب و نصب نموده و آزادانه منابع سخت‌افزاری که در نظر دارید را، در زمان دلخواه به سرور خود بیافزایید و تنها برای منابع مورد نیاز سرور، هزینه پرداخت نمایید.

    فضای ابری

    فضای ابری یا Cloud Storage، بستری امن و مطمئن با آپتایم بالا و دسترس پذیری بالا می‌باشد که می‌توانید داده‌ها واطلاعات خود را بر روی آن نگه داری کنید.فضای ذخیره‌سازی ابری پارس‌پک با بهره‌مندی از پروتکل S3 آمازون، با امنیت بالا در دسترس شما.

    هاست وردپرس

    هاست ابری وردپرس پارس پک سرویسی قوی و پایدار است که برای نصب و راه‌اندازی سیستم مدیریت محتوای وردپرس بهینه شده است. هاست wordpress با کنترل پنل DirectAdmin ارائه می‌شود که رابط کاربری گرافیکی ساده و راحتی دارد.

    خرید هاست ابری

    در هاست ابری برخلاف یک هاست اشتراکی، سایت‌های پر بازدید نیز بسادگی می‌توانند از خدمات میزبانی استفاده کنند، بدون آنکه درگیر دغدغه‌های مدیریت سرور شوند. همواره تنها برای آن میزان از منابع سخت‌افزاری که نیاز دارید هزینه می‌پردازید و دیگر نیازی به پرداخت هزینه‌های غیر موجه، در ابتدای فعالیت وب سایت خود، نخواهید داشت.

    هاست دانلود

    بسیاری از مدیران سایت‌های دانلود و یا سایت‌هایی که با ترافیک بالایی برای به اشتراک‌گذاری فایل‌های خود روبرو هستند، عمدتا با مشکلاتی مانند هزینه‌های گزاف زیرساختی و یا مصرف بالای منابع سخت‌افزاری روبرو می‌شوند. از همین رو پارس‌پک با معرفی فضای هاست دانلود برای این دسته از کاربران، محصول مناسبی را پیش‌بینی نموده است.

  • مطالعه این مطالب نیز پیشنهاد می‌شود

    مقالات و نظرات اعضای تیم ما درباره تکنولوژی، روزهای کاری و چیزای دیگر…

      • سرور مجازی SSD چیست؟ + معرفی ۵ مزیت مهم وی پی اس SSD
        سرور مجازی SSD به شما امکان می‌دهد تا اطلاعات خود را روی هارد SSD ذخیره کنید. درایورهای ذخیره‌سازی SSD سرعت بالایی را در اختیارتان قرار می‌دهند. برای آشنایی با سرور مجازی SSD با ما همراه باشید.
      • ۱۰ تفاوت سرور مجازی ایران و خارج؛ VPS ایران یا خارج کدام بهتر است؟
        بعد از اینکه در مورد نوعِ سرور از نظر نحوه‌ی تخصیص منابع تصمیم‌گیری کردید و نتیجه‌ی این تصمیم استفاده از سرور مجازی شد، حالا باید در مورد دیتاسنتر سرور خود در ایران یا خارج به نتیجه برسید. برای آشنایی با تفاوت سرور مجازی ایران و خارج با ما همراه باشید.
      • آموزش پیکربندی SSH برای استفاده از پورت‌ های مختلف در CentOS 7
        SSH پروتکل ارتباطی شبکه‌ای است که به دو کامپیوتر کمک می‌کند تا با یکدیگر ارتباط برقرار کنند و داده‌ها را به‌اشتراک بگذارند. در این مطلب آموزش پیکربندی SSH برای استفاده از پورت‌های مختلف در CentOS 7 ارائه شده است. با ما همراه باشید.
  • کلیه حقوق برای پارس پک محفوظ می باشد.

    Copyright © 2023 ParsPack Cloud Computing Technology ® , All Rights Reserved.