
Monit یکی از ابزارهای نظارتی محبوب برای لینوکس و یونیکس است. مانیتورینگ یکی از سیستم های ضروری هر سروری است که تمام اطلاعات را نشان می دهد. هر صاحب وب سایت یا سرور باید داده های سرور خود را در یک صفحه نمایش جامع ببیند تا در صورت نیاز اقدامات لازم را انجام دهد. Monit دارای ویژگی های مفیدی مانند تکرار خودکار عملیات و نظارت قدرتمند است. در این مقاله ابزار monit را معرفی کرده و نحوه نصب و استفاده از آن در توزیع های مختلف لینوکس را شرح می دهیم.
مونیت چیست؟
Monit یک ابزار متن باز رایگان و مفید است که به طور خودکار فرآیندها، فایل ها، دایرکتوری ها، چک جمع ها، مجوزها، فایل های سیستمی و سرویس هایی مانند Apache، Nginx، MySQL، FTP، SSH و SMTP را در یونیکس یا لینوکس کنترل و مدیریت می کند. این ابزار قابلیت های سیستمی و نظارتی عالی و مفیدی را در اختیار مدیران سیستم قرار می دهد.
سیستم مانیتورینگ Monit دارای یک رابط کاربری زیبا است که به شما امکان می دهد مستقیماً وضعیت سیستم و فرآیندهای راه اندازی را با استفاده از رابط های وب HTTP(S) یا خط فرمان مشاهده کنید. برای دسترسی و مشاهده رابط وب سایت Monit، باید یک وب سرور مانند Apache یا Nginx را بر روی سیستم خود نصب کنید.


با ابزارهای رایگان نظارت بر مانیتور آشنا شوید
مونیت چه می کند؟
Monit این قابلیت را دارد که در صورت اجرا نشدن و پاسخگو بودن یک فرآیند را مجدداً راه اندازی کند و در صورت استفاده از منابع زیاد، فرآیند را متوقف کند. علاوه بر این، میتوانید از Monet برای نظارت بر فایلها و دایرکتوریها، تغییرات فایلهای سیستم، تغییرات چکسوم، تغییرات اندازه فایل یا تغییرات مهر زمانی استفاده کنید.
با Monit می توانید پورت TCP/IP و پروتکل سرور لینوکس را نظارت کنید و هاست های راه دور را پینگ کنید. Monit فایل log خود را حفظ می کند و هشدارهای لازم را در صورت مشاهده شرایط خاص ارسال می کند.
مزایای Monit
- رویه های نظارت
- فایل های نظارتی
- نظارت بر دایرکتوری ها
- دستگاه ها و تجهیزات مانیتورینگ
- نظارت بر میزبان از راه دور
- تست پروتکل
- رابط وب


مزایای ابزار مانیتورینگ Monit
نصب و پیکربندی Monit در لینوکس
Monit ابزاری پیشرفته با امکانات فراوان است که می توان آن را روی سیستم عامل لینوکس نصب و اجرا کرد. در مرحله بعد، همه چیزهایی را که برای راه اندازی و اجرای Monit در لینوکس نیاز دارید، به شما آموزش خواهیم داد.
مرحله 1 Monit را روی لینوکس نصب کنید
به طور پیش فرض برنامه مانیتورینگ Monit در مخازن پیش فرض سیستم موجود نیست و باید از مخازنی مانند Appel استفاده کرد. مخزن خود را فعال و پیکربندی کنید و بسته 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]


نصب مونیت روی RHEL
در اوبونتو، دبیان و لینوکس، کاربران می توانند بسته monit را با استفاده از دستور apt زیر نصب کنند:
$ sudo apt install monit
مرحله 2: Monit را در لینوکس پیکربندی کنید
پیکربندی Monit آسان است. زیرا می توانید فایل های پیکربندی آن را بخوانید و درک کنید و آن را به دلخواه پیکربندی کنید. به طور پیش فرض Monit برای نظارت بر سرورهای در حال اجرا هر 2 دقیقه و قرار دادن گزارش ها در /var/log/monit طراحی شده است.
Monit دارای یک رابط وب است که روی پورت 2812 با استفاده از وب سرور اجرا می شود. برای فعال کردن رابط وب، باید تغییراتی در فایل پیکربندی Monet ایجاد کنید. فایل پیکربندی اصلی Monit در /etc/monit.conf برای RedHat، CentOS و Fedora و /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 شوید


مدیریت خدمات مونیت


نظارت بر وضعیت سیستم
مرحله 3: خدمات لینوکس را به مانیتورینگ اضافه کنید
هنگامی که رابط وب Monit به درستی پیکربندی شد، برنامه هایی را که می خواهید نظارت کنید به فایل /etc/monitrc برای RedHat، CentOS و Fedora و /etc برای Ubuntu، Debian و Linux Mint در فایل /monit/monitrc اضافه کنید. در ادامه، چند نمونه پیکربندی مفید برای Monit ذکر کردهایم که میتواند برای مشاهده نحوه اجرای سرویس، محل نگهداری پروفایل، نحوه شروع و توقف سرویس و غیره مفید باشد.
1. مانیتور آپاچی در 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. Apache Monitor 2 in 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"
3. مانیتور در 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"
4. مانیتور 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
5. 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 بررسی کنید تا خطاها را برطرف کنید. همچنین تشخیص نوع خطای رخ داده آسان است. هنگامی که پیامی دریافت کردید مانند دستور فایل کنترل صحیح است، یا اگر خطایی مشاهده نکردید، می توانید ادامه دهید:
# monit -t Or $ sudo monit -t
پس از رفع تمامی خطاهای احتمالی، می توانید دستور زیر را برای راه اندازی سرویس Monit تایپ کنید:
# systemctl monit restart OR $ sudo systemctl monit restart
پس از افزودن تمام سرویسهای لینوکس برای نظارت، نظارت به صورت زیر خواهد بود:


سرویس مانیتورینگ لینوکس در Monit
6. ویژگی ها را تست کنید و سرویس را مجددا راه اندازی کنید
برای تست ویژگی ها و عملکرد، می توانید این سیستم را با دستور زیر متوقف کنید:
$ sudo systemctl stop proftpd
پس از پایان سرویس، باید یک اعلان از طریق ایمیل مبنی بر پایان سرویس دریافت کنید. در 120 ثانیه، Monit سعی می کند سرویس را دوباره راه اندازی کند. علاوه بر این، گزارشها باید در فایل گزارش /var/log/monit.log باشند:
cat /var/log/monit.log
7. نحوه پیکربندی هشدارها در Monit
اگر میخواهید همیشه از آخرین بهروزرسانیها در مورد فرآیندهای نظارت شده مطلع باشید، باید هشدارها را فعال کنید تا در صورت بروز هرگونه خطایی، مونیت ایمیلی به آدرس مشخص شده ارسال کند. برای فعال کردن این گزینه، باید چند خط را در فایل پیکربندی اصلی تغییر دهید.
8. آدرس ایمیل هشدار را تنظیم کنید
به طور پیش فرض، مونیت از لوکال هاست برای ارسال ایمیل استفاده می کند. علاوه بر این، می توانید چندین سرور ایمیل را برای ارسال هشدارها مشخص کنید. اگر ارسال ایمیل از طریق سرور اول ناموفق باشد، Monit سرور دوم را اجرا می کند و به همین ترتیب:
/etc/monit/monitrc set mailserver your.mail.server set alert your.mail.address


تنظیم هشدارهای ایمیل در Monit
نتیجه
Monit یک ابزار نظارت کارآمد رایگان و منبع باز است که کاربردهای زیادی دارد. در این مقاله آموزش سیستم عامل، در مورد قابلیت های مختلف Monit مانند نظارت بر فایل ها، دایرکتوری ها، چک سام ها و مجوزها، تکرار عملیات خودکار و اطلاع رسانی به هشدارهای حیاتی به طور مفصل صحبت کردیم. به علاوه، نحوه نصب آن را در توزیع های لینوکس و یونیکس آموزش دادیم تا بتوانید به راحتی Monit را روی سرور خود نصب و پیکربندی کنید.
سوالات متداول
1. مونیت چه کاربردهایی دارد؟
Monit به طور خودکار یک فرآیند را مجدداً راه اندازی می کند و با نظارت بر چرخه های حافظه یا CPU و هشدار از طریق ایمیل به شما اطلاع می دهد در صورت خراب شدن فرآیند. علاوه بر این، Monit می تواند سیستم های کامپیوتری توزیع شده را نظارت و مدیریت کند.
2. مانیتورینگ مونیت چیست؟
Monit ابزاری برای مدیریت و نظارت بر فرآیندها، برنامه ها، فایل ها، دایرکتوری ها و فایل های سیستمی در سیستم های یونیکس و لینوکس است. ناگفته نماند که مونیت به طور خودکار اقدامات تعریف شده را در شرایط خطا و عملیات نگهداری و تعمیر انجام می دهد.
3. Monit چگونه در لینوکس کار می کند؟
برای تست یک برنامه یا اسکریپت در یک زمان خاص با Monit، می توانید مقدار استفاده و خروج برنامه را تست کنید و در صورتی که مقدار خروج نشان دهنده خطا باشد اقدام کنید یا اخطار ارسال کنید. این بدان معنی است که Monit می تواند برای انجام هر نوع نظارتی که می توانید برای آن یک اسکریپت بنویسید استفاده شود.
4. فایل پیکربندی monit در لینوکس کجاست؟
فایل پیکربندی اصلی Monit در /etc/monit:conf برای RedHat، CentOS و Fedora، و /etc/monit/monitrc برای Ubuntu، Debian و Linux Mint قرار دارد.
5. چگونه مانیتور را غیرفعال کنیم؟
- kill /bin/bash /etc/init.d/arcsight_services start monit.
- /etc/init.d/arcsight_service stop monitor را اجرا کنید.
6. چرخه مونیت چیست؟
30 یا 60 ثانیه فاصله خوبی است. البته در برخی سیستم ها این فاصله زمانی قابل تغییر است.