Monit یک ابزار رایگان و متن باز است که به کاربران Unix امکان میدهد سیستمهای خود را مدیریت و نظارت کنند. با نگهداری و تعمیر خودکار، این ابزار کوچک در صورت بروز مشکل، اقدامات مفیدی را انجام میدهد. در این مقاله، شما یاد خواهید گرفت چگونه Monit را در لینوکس برای نظارت بر سرور نصب کنید.
هنگامی که یک سرور مجازی لینوکس میخرید، باید قادر به استفاده از Monit باشید، زیرا اکثر توزیعهای Unix آن را شامل میشوند
چیست Monit و چرا باید از آن استفاده کنیم؟
به عنوان یک مدیر سیستم، شما Monit را یک ابزار بسیار مفید خواهید یافت، زیرا به صورت خودکار فرآیندها، فایلها، دایرکتوریها، چکسامها، مجوزها و سیستمهای فایل را نظارت و مدیریت میکند. همچنین در سیستمهای مبتنی بر Unix/Linux و ارائه دهندگان، سرویسهایی مانند Apache، Nginx، MySQL، FTP، SSH و SMTP را مدیریت و نظارت میکند. Monit شامل یک رابط ساده HTTP(S) است که میتوانید از آن برای مرور سرور Monit و مشاهده وضعیت تمام سرویسهایی که در حال ردیابی هستند، استفاده کنید. شما میتوانید فرآیندها را شروع، متوقف و راهاندازی مجدد کنید و همچنین از طریق رابط وب، نظارت بر سرویس را غیرفعال یا فعال کنید.
اگر یک فرآیند در حال اجرا نباشد، Monit میتواند آن را شروع کند، اگر پاسخگو نباشد، آن را راهاندازی مجدد کند و اگر منابع زیادی مصرف کند، آن را متوقف کند. علاوه بر این، Monit میتواند برای نظارت بر تغییرات زمان، چکسام، اندازه فایل و سایر تغییرات در فایلها، دایرکتوریها و سیستمهای فایل استفاده شود. شما میتوانید از Monit برای ردیابی پورت TCP/IP، پروتکلهای سرور و پینگ میزبانهای راه دور استفاده کنید. Monit فایل گزارش خود را نگه میدارد و کاربران را در مورد هرگونه شرایط خطای فوری و پیشرفت بازیابی مطلع میکند.
قبلاً در مورد میانگین بار در لینوکس آموختهاید. نصب Monit در لینوکس به شما امکان میدهد تا به طور کلی منابع سیستم localhost از جمله میانگین بار، مصرف حافظه و استفاده از CPU را نظارت کنید.
. اما اگر چنین نیست، مراحل این آموزش را دنبال کنید تا یاد بگیرید چگونه Monit را در لینوکس نصب و پیکربندی کنید.
آموزش نصب و راهاندازی Monit در لینوکس
این محتوا نصب و پیکربندی Monit را در توزیعهای لینوکس مبتنی بر RHEL و Debian ارائه میدهد. بنابراین، کاربران CentOS، RHEL، Fedora، Ubuntu و Debian میتوانند از دستورالعملهای زیر استفاده کنند. با پیروی از مراحل این راهنما، یاد میگیرید چگونه Monit را در لینوکس نصب کنید.
۱. Monit را در لینوکس نصب کنید
از آنجایی که ابزار Monit در مخازن پایه سیستم به طور پیشفرض در دسترس نیست، ابتدا باید مخزن epel را نصب کنید.
در سیستمهای مبتنی بر RHEL 8 و ۹:
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
در سیستمهای مبتنی بر RHEL 7:
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
در Fedora 22+:
# dnf install monit
در Debian و Ubuntu:
$ sudo apt-get install monit
در Arch Linux:
$ pacman -S monit
پس از اضافه کردن مخزن epel، دستورات زیر را برای نصب بستههای Monit اجرا کنید.
در RHEL/CentOS:
# yum install monit
در Fedora Linux:
# dnf install monit
۲. راهاندازی Monit در لینوکس
نصب Monit در لینوکس در مرحله قبل با موفقیت انجام شد. اکنون آماده پیکربندی آن هستید. این مرحله بسیار ساده است. شما فقط نیاز دارید تغییراتی در فایل پیکربندی Monit ایجاد کنید، زیرا دارای یک رابط وب است که بر روی پورت ۲۸۱۲ با استفاده از یک وب سرور اجرا میشود.
فایل پیکربندی اصلی monit در مسیر /etc/monit.conf در (RedHat/CentOS/Fedora) و فایل /etc/monit/monitrc برای (Ubuntu/Debian/Linux Mint) قرار دارد.
ویرایشگر مورد نظر خود را باز کنید و فایل زیر را ویرایش کنید:
# vi /etc/monitrc
یا
$ sudo nano /etc/monit/monitrc
بخش بعدی را از حالت توضیح خارج کنید، آدرس IP یا نام دامنه سرور خود را اضافه کنید، اتصالات عمومی را فعال کنید و یا نام کاربری و گذرواژه monit را تغییر دهید یا با مقادیر پیشفرض ادامه دهید.
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 باید راهاندازی، فعال و تأیید شود تا تنظیمات پیکربندی اصلاح شده بارگذاری شوند.
# systemctl start monit
# systemctl enable monit
# systemctl status monit
مرحله ۳. دسترسی به رابط وب Monit
دو مرحله قبلی به شما کمک کرد تا Monit را در لینوکس نصب کنید. اکنون آماده دسترسی به رابط وب Monit هستید. فقط به آدرسهای زیر مراجعه کنید:
http://localhost:2812
یا
http://ip-address:2812
یا
http://example.com:2812
سپس “admin” را برای نام کاربری و “monit” را برای گذرواژه وارد کنید. باید صفحهای شبیه به تصویر زیر را مشاهده کنید:
[تصویر رابط وب Monit]
در این رابط وب، میتوانید وضعیت سرویسها و فرآیندهای نظارت شده را مشاهده کنید. همچنین میتوانید عملیات مدیریتی مانند شروع، توقف و راهاندازی مجدد سرویسها را از طریق این رابط انجام دهید.
برخی از ویژگیهای اصلی رابط وب Monit عبارتند از:
۱. نمایش وضعیت سرویسها: وضعیت سرویسهای پیکربندی شده مانند Apache، Nginx، MySQL و غیره را نشان میدهد.
۲. نمایش اطلاعات سیستم: اطلاعاتی مانند میانگین بار سیستم، مصرف حافظه و CPU را نمایش میدهد.
۳. مدیریت سرویسها: امکان شروع، توقف و راهاندازی مجدد سرویسها را فراهم میکند.
۴. گزارشگیری: گزارشهای مربوط به رویدادها و وضعیت سرویسها را ارائه میدهد.
۵. پیکربندی: امکان تغییر تنظیمات پیکربندی Monit را از طریق رابط وب فراهم میکند.
با دسترسی به رابط وب Monit، میتوانید به راحتی سیستم و سرویسهای خود را نظارت و مدیریت کنید.
اکنون در مرورگر خود به آدرس localhost:2812 بروید تا رابط وب Monit را باز کنید.
رابط وب Monit اکنون راهاندازی شده است.
مرحله ۴. اضافه کردن سرویسهای لینوکس در Monit
همانطور که ذکر شد، Apache، Nginx، MySQL، FTP، SSH و SMTP سرویسهایی هستند که Monit میتواند آنها را نظارت کند. در این مرحله، آماده هستید تا این سرویسهای لینوکس را به نظارت Monit اضافه کنید. بیایید چند مثال مفید را ببینیم. برای انجام این کار، باید فایل پیکربندی monit را ویرایش کنید و تنظیمات زیر را در انتهای فایل اضافه کنید.
نحوه نظارت بر Apache در 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
نحوه نظارت بر Apache2 در 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"
Monit میتواند Apache را متوقف یا راهاندازی مجدد کند و همچنین به شما اطلاع دهد. Monit همچنین میتواند ویژگیهای فرآیند، مانند میزان مصرف حافظه یا زمان CPU یک فرآیند را ردیابی کند.
نحوه نظارت بر 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
نحوه نظارت بر MySQL/MariaDB در Monit:
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
بسته به نسخه MySQL که نصب کردهاید، مکان فایل PID و اسکریپت init ممکن است تغییر کند.
پس از اضافه کردن این تنظیمات به فایل پیکربندی، Monit را با دستور `systemctl restart monit` راهاندازی مجدد کنید. سپس میتوانید از طریق رابط وب Monit، وضعیت این سرویسها را مشاهده و مدیریت کنید.
مرحله ۵. بررسی سنتکس Monit برای خطاها
پس از راهاندازی هر برنامه برای نظارت، برای یافتن هرگونه خطا در سنتکس monit، دستور زیر را اجرا کنید:
# monit -t
یا
$ sudo monit -t
سپس، از دستورات زیر برای راهاندازی سرویس Monit استفاده کنید:
# systemctl restart monit
یا
$ sudo systemctl restart monit
Monit میتواند در صورت بروز شرایط خطا، اقدام کند. در این مرحله، شما پیکربندی را تأیید کردهاید و آماده استفاده از برنامه نظارتی Monit در لینوکس هستید.
بررسی سنتکس Monit برای خطاها یک گام مهم است زیرا اگر خطایی در فایل پیکربندی وجود داشته باشد، ممکن است Monit به درستی کار نکند یا اصلاً اجرا نشود. با اجرای دستور `monit -t`، Monit فایل پیکربندی را بررسی میکند و در صورت وجود هرگونه خطای سنتکسی، آن را گزارش میدهد.
اگر هیچ خطایی گزارش نشد، به این معنی است که فایل پیکربندی از نظر سنتکسی صحیح است و میتوانید Monit را با دستور `systemctl restart monit` راهاندازی مجدد کنید.
پس از راهاندازی مجدد Monit، میتوانید از طریق رابط وب آن به آدرس `http://localhost:2812` وضعیت سرویسها و فرآیندهای نظارت شده را مشاهده کنید.
اگر هنوز خطایی وجود داشته باشد، Monit آن را در خروجی دستور `monit -t` نشان میدهد. در این صورت، باید فایل پیکربندی را ویرایش کنید تا خطاها را برطرف کنید و سپس Monit را دوباره راهاندازی مجدد کنید.
بررسی سنتکس Monit قبل از راهاندازی مجدد، از بروز مشکلات احتمالی در زمان اجرا جلوگیری میکند و به شما اطمینان میدهد که پیکربندی به درستی انجام شده است.
نتیجهگیری
در این مقاله، شما آموختید چگونه Monit را در لینوکس برای نظارت بر سرور نصب کنید. این محتوا به شما کمک میکند تا از تمام ویژگیهای مورد نیاز برای نظارت بر سیستم و بازیابی خطا بهرهمند شوید. این مانند داشتن یک سگ نگهبان با یک جعبه ابزار در سرور شماست. مراحل بالا به شما کمک میکند تا شروع به استفاده از Monit کنید و از تمام ویژگیهای مورد نیاز برای نظارت بر سیستم و بازیابی خطا بهرهمند شوید.
اگر مراحل بالا را به درستی دنبال کنید، میتوانید Monit را بدون هیچ خطایی نصب و پیکربندی کنید، اما اگر با هرگونه مشکلی مواجه شدید، از تماس با ما دریغ نکنید. تیم پشتیبانی فنی ما تلاش خود را برای حل مشکلات شما انجام خواهد داد.
برخی از مزایای اصلی استفاده از Monit عبارتند از:
۱. نظارت بر سرویسها: Monit به شما امکان میدهد تا سرویسهای مختلف مانند Apache، Nginx، MySQL، SSH و غیره را نظارت کنید و در صورت بروز مشکل، آنها را راهاندازی مجدد کنید.
۲. نظارت بر فرآیندها: میتوانید فرآیندهای در حال اجرا را نظارت کنید و در صورت لزوم، آنها را شروع، توقف یا راهاندازی مجدد کنید.
۳. نظارت بر فایلها و دایرکتوریها: Monit به شما امکان میدهد تا تغییرات در فایلها و دایرکتوریهای خاص را ردیابی کنید، مانند تغییر اندازه فایل، چکسام و غیره.
۴. نظارت بر منابع سیستم: میتوانید میانگین بار سیستم، مصرف حافظه و CPU را از طریق رابط وب Monit مشاهده کنید.
۵. گزارشگیری و هشدارها: Monit گزارشهای رویدادها و هشدارهای مربوط به مشکلات احتمالی را ارائه میدهد.
۶. پیکربندی آسان: فایل پیکربندی Monit ساده و قابل فهم است و میتوانید آن را براساس نیازهای خود سفارشی کنید.
با استفاده از Monit، میتوانید از سیستم و سرویسهای خود در برابر خرابی و مشکلات احتمالی محافظت کنید و زمان پاسخگویی به مشکلات را کاهش دهید. این امر باعث افزایش پایداری، قابلیت اطمینان و کارایی زیرساختهای شما میشود.