شما برای مطالعه این مقاله فقط 8 دقیقه وقت نیاز دارید

what-is-monit

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

4.5/5 - (2 امتیاز)

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

Monit یکی از بهترین و قدرتمندترین ابزارهای مانیتورینگ سرور و سیستم های لینوکس است که به شما امکان می دهد بتوانید خدمات مختلف مانندApache، Nginx، MySQL، FTP، SSH و SMTPرا مدیریت و نظارت کنید.

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

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

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

1. نصب Monit در لینوکس

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

در سیستم های مبتنی بر RHEL 9

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

در سیستم های مبتنی بر RHEL 8

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

در سیستم های مبتنی بر RHEL 7

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

زمانی که مخزن epel را افزودید، می توانید از دستور yum استفاده کنید و بسته Monit را نصب کنید.

# yum install monitOR# dnf install monit  [On <strong>Fedora Linux</strong>]

نصب مونیت

اگر از توزیع هایی مانند Ubuntu/Debian/Linux Mint استفاده می کنید، می توانید از دستور apt استفاده کنید و به راحتی مطابق با شکل زیر، نصب را انجام دهید.

$ sudo apt install monit

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

Monit راه بسیار ساده‌ای برای پیکربندی دارد. فایل‌های پیکربندی آن به سادگی خوانا و قابل درک برای همه کاربران هستند. این برنامه هر دو دقیقه یکبار به سرویس‌های در حال اجرا نگاه می‌کند و گزارش آن‌ها را در “/var/log/monit” ذخیره می‌کند.

Monit  دارای یک رابط وب است که روی پورت 2812 با استفاده از وب سرور اجرا می‌شود. برای استفاده از رابط وب باید تغییراتی در فایل پیکربندی Monit  ایجاد کنید.

فایل پیکربندی اصلی برنامه Monit در مسیر /etc/monit.conf برای سیستم‌های RedHat، CentOS و Fedora قرار دارد و برای سیستم‌هایUbuntu، Debian  و Linux Mint فایل /etc/monit/monitrc مورد استفاده قرار می‌گیرد. برای باز کردن این فایل، می‌توانید از ویرایشگر دلخواه خود استفاده کنید.

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

در مرحله بعد، بخش زیر را حذف کنید و آدرس سایت یا آی‌پی سرور خودتان را وارد کنید. می توانید به افراد اجازه دهید که از یوزرنیم و پسورد “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 دسترسی داشته باشید.

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

در قسمت نام کاربری admin را وارد کنید و در قسمت پسورد monit را وارد کنید. پس از آن باید یک خروجی مشابه با تصویر زیر دریافت کنید.

مونیت چیست

نصب مونیت

نصب مونیت

به شما الگوهایی برای نظارت بر روی سیستم با استفاده از برنامه Monit ارائه می‌شود. شما می‌توانید با وارد کردن دستور زیر، لیستی از این الگوها را مشاهده کنید.

$ sudo ls -al /etc/monit/conf-available/

برای فعال‌سازی یک الگو، شما باید یک پیوند نمادین در فولدر “/etc/monit/conf-enabled/” با فرمت مورد نظرتان ایجاد کنید. به عنوان مثال:

$ sudo ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/

شما می‌توانید یک الگوی خاص در مسیر “/etc/monit/conf-available/” بسازید و یک لینک به آن در مسیر “/etc/monit/conf-enabled/” بسازید.

$ sudo vi /etc/monit/conf-available/proftpd
$ sudo ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled/

سرویس را دوباره راه اندازی کنید تا تغییرات اعمال شوند:

$ sudo systemctl reload monit

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

برای متوقف کردن سرویسی که توسط monit نظارت می شود، می توانید از دستور زیر استفاده کنید:

$ sudo systemctl stop proftpd

باید یک اعلان ایمیلی در مورد توقف سرویس دریافت کنید. در 120 ثانیه Monit سعی می کند سرویس را دوباره راه اندازی کند.

کلیک کنید  روش های موثر در افزایش سرعت سرور مجازی لینوکس و ویندوز

فایل log “/var/log/monit.log” است:

cat /var/log/monit.log

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

وقتی که رابط‌های وب 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

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"

مانیتور 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

بر روی CentOS, RHEL: /etc/monit.conf

check process apache with pidfile /var/run/httpd.pid
    start program = "/etc/init.d/httpd start" with timeout 60 seconds
    stop program  = "/etc/init.d/httpd stop"

بر روی Dabian/Ubuntu: /etc/monit/monitrc

check process apache with pidfile /run/apache2.pid
    start program = "/etc/init.d/apache2 start" with timeout 60 seconds
    stop program  = "/etc/init.d/apache2 stop"

اکنون سرویس monit را با استفاده از سرویس monit restart مجدداً راه اندازی کنید و وضعیت سرویس را با استفاده از خط فرمان بررسی کنید.

# monit summary

The Monit daemon 5.1.1 uptime: 2m

Process 'apache'                    running
System 'svr1.tecadmin.net'          running

زمانی که تمامی برنامه‌ها را برای نظارت تنظیم کردید، دستور “monit” را برای چک کردن وجود خطا اجرا کنید. اگر خطایی پیدا کردید، باید آن را برطرف کنید. ولی نگران نباشید، فهمیدن اشتباهی که رخ داده خیلی سخت نیست. وقتی پیامی مثل “Control file syntax OK” دریافت کردید یا هیچ خطایی ندیدید، می‌توانید به کارتان ادامه دهید.

# monit -t
Or
$ sudo monit -t

پس از آنکه تمامی خطاهای احتمالی را رفع کردید، می توانید از دستور زیر استفاده کنید تا سرویس monit را دوباره راه اندازی کنید.

# systemctl monit restart
OR
$ sudo systemctl monit restart

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

نصب مونیت

4. Monit را برای نظارت بر MySQL/MariaDB پیکربندی کنید

بیایید سرور MySQL را در فایل پیکربندی Monit اضافه کنیم تا آن را نظارت کنیم. دقت کنید که مکان فایل PID و اسکریپت init ممکن است مطابق با نسخه MySQL شما تغییر کند.

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
    start program = "/etc/init.d/mysql start"
    stop program = "/etc/init.d/mysql stop"

5. تأیید پیکربندی و تست

پس از افزودن خدمات مورد نیاز در فایل پیکربندی مانیتورینگ، از دستور زیر برای بررسی نحو فایل استفاده کنید.

# monit -t

اکنون سرویس monit را مجددا راه اندازی کنید.

# service monit restart

اکنون خلاصه فرآیندها و خدمات نظارتی مونیت را مشاهده کنید.

# monit summary

The Monit daemon 5.1.1 uptime: 0m

Process 'apache'                    running
Process 'mysqld'                    running
System 'svr1.tecadmin.net'          running

برای مشاهده توضیحات دقیق هر سرویس از دستور زیر استفاده کنید:

# monit status

نمونه خروجی

The Monit daemon 5.1.1 uptime: 1m

Process 'apache'
  status                            running
  monitoring status                 monitored
  pid                               16206
  parent pid                        1
  uptime                            13m
  children                          10
  memory kilobytes                  10432
  memory kilobytes total            65100
  memory percent                    1.3%
  memory percent total              8.3%
  cpu percent                       0.0%
  cpu percent total                 0.0%
  data collected                    Tue Apr 29 03:49:13 2014

Process 'mysqld'
  status                            running
  monitoring status                 monitored
  pid                               1962
  parent pid                        1867
  uptime                            10h 38m
  children                          0
  memory kilobytes                  60568
  memory kilobytes total            60568
  memory percent                    7.7%
  memory percent total              7.7%
  cpu percent                       0.0%
  cpu percent total                 0.0%
  data collected                    Tue Apr 29 03:49:13 2014

System 'svr1.tecadmin.net'
  status                            running
  monitoring status                 monitored
  load average                      [0.00] [0.07] [0.08]
  cpu                               0.2%us 0.1%sy 0.2%wa
  memory usage                      518444 kB [66.7%]
  data collected                    Tue Apr 29 03:49:13 2014

 

سخن آخر

به طور خلاصه، Monit یک ابزار مانیتورینگ قدرتمند برای سرورها و سیستم های لینوکس است که امکان نظارت و کنترل بر روی خدمات مختلف مانندApache، Nginx، MySQL، FTP، SSH و SMTP را فراهم می کند. البته در نظر داشته باشید که مونیت تنها یکی از ابزارهای مانیتورینگ است و ابزارهای زیادی در این زمینه وجود دارد که ما قبلا آن ها را در مقاله بهترین ابزارهای مانیتورینگ سرور در سال ۲۰۲۲  معرفی کرده ایم که می توانید به آن ها سر بزنید.

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

سوالات متداول:

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

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

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید