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

Monit چیست؟
Avatar
نویسنده: دریا آزادخواه
سه‌شنبه 8 آذر 1401
مطالعه: ۱۱ دقیقه ۰ نظر ۷۸۹ بازدید

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

خرید سرور لینوکس با قابلیت نصب Monit از پارس پک

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

Monit چیست؟

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

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

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

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

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

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

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

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

مزایای Monit

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

نصب و پیکربندی 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 در لینوکس
آموزش نصب 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 در لینوکس

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

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

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

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

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

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

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

مانیتورینگ Monit چیست؟
وارد محیط Monit شوید
مدیریت 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

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

مانیتور SSH در Monit
سیستم مانیتورینگ 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 ابزار مانیتورینگ کارآمد منبع‌باز و رایگانی است که کاربردهای فراوانی دارد. در این مقاله از آموزش سیستم عامل، درباره قابلیت‌های متنوع 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 چقدر است؟

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.