
Monit یکی از ابزارهای نظارتی محبوب برای لینوکس و یونیکس است. مانیتورینگ یکی از سیستم های اصلی هر سروری است که تمام اطلاعات را نشان می دهد. هر وب سایت یا صاحب سرور باید داده های سرور خود را در یک صفحه نمایش جامع ببیند تا در صورت نیاز اقدامات لازم را انجام دهد. Monit دارای ویژگی های مفیدی مانند عملیات تکرار خودکار و نظارت قدرتمند است. در این مقاله ابزار Monit را معرفی کرده و نحوه نصب و استفاده از آن بر روی توزیع های مختلف لینوکس را شرح می دهیم.
مونیت چیست؟
Monit یک ابزار متن باز رایگان و مفید است که به طور خودکار فرآیندها، فایل ها، دایرکتوری ها، چک جمع ها، مجوزها، فایل های سیستمی و سرویس هایی مانند Apache، Nginx، MySQL، FTP، SSH و SMTP را در یونیکس یا لینوکس کنترل و مدیریت می کند. این ابزار سیستم ها و قابلیت های نظارتی عالی و مفیدی را در اختیار مدیران سیستم قرار می دهد.
سیستم مانیتورینگ Monit دارای یک رابط کاربری زیبا است که به شما امکان میدهد مستقیماً وضعیت سیستم و فرآیندهای راهاندازی را با استفاده از یک رابط وب HTTP(S) یا خط فرمان مشاهده کنید. برای دسترسی و مشاهده رابط وب سایت Monit، باید یک وب سرور مانند Apache یا Nginx را بر روی سیستم خود نصب کنید.
آشنایی با ابزار مانیتورینگ رایگان Monit
مونیت داره چیکار میکنه؟
Monit این قابلیت را دارد که در صورت عدم اجرای فرآیند و پاسخگویی، فرآیندی را مجدداً راه اندازی کند و در صورت استفاده از منابع زیاد، فرآیندی را متوقف کند. علاوه بر این، میتوانید از Monit برای نظارت بر فایلها و دایرکتوریها، تغییرات فایلهای سیستم، تغییرات چکسوم، تغییرات اندازه فایل یا تغییرات مهر زمانی استفاده کنید.
با 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
در اوبونتو، دبیان و لینوکس کاربران می توانند بسته Monit را با استفاده از دستور apt زیر نصب کنند:
$ sudo apt install monit
مرحله 2: Monit را در لینوکس پیکربندی کنید
Monit به راحتی قابل پیکربندی است. زیرا می توانید فایل های پیکربندی آن را بخوانید و درک کنید و آن را مطابق میل خود پیکربندی کنید. به طور پیش فرض، Monit برای نظارت بر سرورهای در حال اجرا هر 2 دقیقه و حفظ گزارش ها در /var/log/monit طراحی شده است.
Monit دارای یک رابط وب است که روی پورت 2812 با استفاده از وب سرور اجرا می شود. برای فعال کردن رابط وب، باید تغییراتی در فایل پیکربندی Monit ایجاد کنید. فایل پیکربندی اصلی Monit در /etc/monit.conf برای RedHat، CentOS و Fedora و در /etc/monit/monitrc برای Ubuntu، Debian و Linux Mint قرار دارد. این فایل را با استفاده از ویرایشگر انتخابی خود مانند 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 لینوکس
اکنون می توانید با مراجعه به آدرس های اینترنتی زیر به رابط وب 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/monit/monitrc برای Ubuntu، Debian و Linux Mint اضافه کنید. سپس به چند نمونه پیکربندی مفید برای 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 بررسی کنید تا خطاها را برطرف کنید. همچنین تشخیص نوع خطای رخ داده آسان است. وقتی پیامی مانند Control file syntax OK دریافت میکنید، یا اگر خطایی نمیبینید، میتوانید ادامه دهید:
# monit -t Or $ sudo monit -t
پس از رفع تمامی خطاهای احتمالی، می توانید دستور زیر را برای راه اندازی سرویس Monit وارد کنید:
# systemctl monit restart OR $ sudo systemctl monit restart
پس از افزودن تمام سرویس های لینوکس به مانیتور، نظارت به صورت زیر خواهد بود:
سرویس مانیتورینگ لینوکس در Monit
در مقاله زیر، معرفی 10 ابزار رایج نظارت بر ترافیک شبکه اوبونتو را بخوانید.
نظارت بر ترافیک شبکه اوبونتو
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 ابزاری برای مدیریت و نظارت بر فرآیندها، برنامه ها، فایل ها، دایرکتوری ها و فایل های سیستمی در سیستم های یونیکس و لینوکس است. ناگفته نماند که Monit به طور خودکار اقدامات خاصی را در شرایط خطا و عملیات نگهداری و تعمیر انجام می دهد.
3. Monit چگونه در لینوکس کار می کند؟
از Monit گرفته تا آزمایش برنامهها یا اسکریپتها، در زمانهای خاصی میتوانید مقدار مصرف و خروجی برنامه را آزمایش کنید و اگر مقدار خروجی نشان دهنده خطا باشد، اقدامی انجام دهید یا هشدار ارسال کنید. این بدان معنی است که Monit می تواند برای انجام هر نوع نظارتی که می توانید برای آن اسکریپت بنویسید استفاده شود.
4. فایل پیکربندی Monit در لینوکس کجاست؟
فایل پیکربندی اصلی Monit در /etc/monit: conf برای RedHat، CentOS و Fedora و /etc/monit/monitrc برای Ubuntu، Debian و Linux Mint قرار دارد.
5. چگونه مانیتور را غیرفعال کنم؟
- /bin/bash /etc/init.d/arcsight_services run monit را بکشید.
- /etc/init.d/arcsight_service stop monitor را اجرا کنید.
6. چرخه Monit چیست؟
30 یا 60 ثانیه فاصله خوبی است. البته در برخی سیستم ها این فاصله زمانی قابل تغییر است.
{ “@context”: “https://schema.org”، “@type”: “FAQPage”، “mainEntity”: [{
“@type”: “Question”,
“name”: “Monit چه کاربردهایی دارد؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Monit فرایندی را بهطورخودکار مجدداً راهاندازی و درصورت ازبینرفتن فرایند، با نظارت بر حافظه یا چرخههای CPU و هشدار ازطریق ایمیل اطلاعرسانی میکند. علاوهبراین، Monit میتواند سیستمهای کامپیوتری توزیعشده را نظارت و مدیریت کند.”
}
},{
“@type”: “Question”,
“name”: “مانیتورینگ Monit چیست؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Monit ابزاری برای مدیریت و نظارت بر فرایندها، برنامهها، فایلها، دایرکتوریها و فایلهای سیستمی در سیستم یونیکس و لینوکس است. ناگفته نماند Monit اقدامات تعریفشدهای را در موقعیتهای خطا و عملیاتهای نگهداری و تعمیر را بهطورخودکار انجام میدهد.”
}
},{
“@type”: “Question”,
“name”: “Monit در لینوکس چگونه کار میکند؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “از Monit برای آزمایش برنامهها یا اسکریپتها در زمانهای خاص میتوانید استفاده و مقدار خروج از برنامه را آزمایش کنید و درصورتیکه مقدار خروج نشاندهنده خطا باشد، اقدامی انجام دهید یا هشدار ارسال کنید. این یعنی Monit بهمنظور انجام هر نوع بررسیای که میتوانید برایش اسکریپت بنویسید، بهکار برده میشود.”
}
},{
“@type”: “Question”,
“name”: “فایل پیکربندی Monit در لینوکس کجاست؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “فایل پیکربندی اصلی Monit در /etc/monit قرار دارد: conf برای RedHat و CentOS و Fedora و /etc/monit/monitrc برای Ubuntu و Debian و Linux Mint.”
}
},{
“@type”: “Question”,
“name”: “چگونه مانیتور را غیرفعال کنیم؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Kill /bin/bash /etc/init.d/arcsight_services start monit.
Run /etc/init.d/arcsight_service stop monit.”
}
},{
“@type”: “Question”,
“name”: “سیکل Monit چقدر است؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “۳۰ یا ۶۰ ثانیه فاصله مناسبی است؛ البته در برخی سیستمها این فاصله زمانی را میتوان تغییر داد.”
}
}]
}
مونیت چیست؟ معرفی ابزارهای متن باز مدیریت و مانیتورینگ لینوکس برای اولین بار در پارسپک. به نظر می رسد.