منبع اصلی نوشتار زیر در این لینک قرار دارد

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

mmonitarch

در دسترس بودن سروس ها و یا به اصطلاح uptime بالای سرویس ها/سرورها یکی از دغدغه های مدیران سیستم می باشد.یک راه حل جهت مانیتورینگ و کنترل سرویس ها استفاده از ابزار بسیار سودمند Monit می باشد.Monit ابزاری open source و کم حجم می باشد که به وسیله ی آن می توان سرویس های گوناگونی را مانیتور کرد.

در ادامه روش نصب،پیکربندی و اضافه کردن چند سرویس توضیح داده خواهد شد.

 

گام ۰ :

نصب Monit بر روی Fedora/CentOS/RHEL :

 

برای نصب بر روی فدورا این دستور را اجرا کنید :

#yum install monit

برای نصب بر روی CentOS ابتدا مخازن EPEL را به سیستم اضافه کنید و سپس دستور بالا را اجرا کنید.

 

نصب Monit بر روی Ubuntu/Debian :

 

برای نصب کافیست تا این دستور را اجرا نمایید :

 

#apt-get install monit

 

گام ۱ : پیکربندی Monit

 

فایل تنظیمات Monit در توزیع های Fedora/CentOS/RHEL در مسیر زیر قرار دارد :

 

/etc/monitrc

 

در توزیع های ubunt/debian در مسیر زیر می باشد :

 

/etc/monit/monitrc

 

اکنون برای پیکربندی Monit کافیست تا فایل تنظیمات Monit را باز کنید.به عنوان نمونه در توزیع هایی که بر پایه فدورا هستند این دستور را اجرا نمایید:

 

#nano /etc/monitrc

 

و در توزیع های Ubuntu/Debian این دستور را وارد نمایید :

#nano /etc/monit/monitrc

بعد از باز کردن فایل تنظیمات Monit می توان تنظیمات مورد نظر (تنظیمات عمومی) را انجام داد.به عنوان نمونه برای فعال کردن پنل تحت وب Monit کافیست تا این خطوط را به انتهای فایل اضافه کنید :

 

set httpd port 2812
use address  ۱۹۲٫۱۶۸٫۱۰٫۷۲      # only accept connection from localhost
allow 0.0.0.0/0.0.0.0                 # allow localhost to connect to the server and
allow admin:hos7ein                 # require user ‘admin’ with password ‘monit’

توضیحات :

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

– خط دوم باید IP سرور را وارد کنید.

ـ خط سوم رنج IP هایی که اجازه دسترسی به پنل وب Monit را خواهند داشت، وارد کنید.

– خط چهارم نام کابری و پسورد جهت ورود به پنل وب Monit را وارد کنید.

 

اگه قصد دارید تا هر رخدادی را از طریق ایمیل به شما اطلاع دهد این خطوط را نیز به انتهای فایل اضافه کنید :

 

set mailserver localhost
set mail-format { from: monit@MyHostname }
set alert root@localhost
set alert [email protected]

 

نکته اینکه به جای MyHostname نام Host سیستم خود را وارد کنید و به جای [email protected] ایمیل مورد نظر خود را وارد کنید.اگر قصد دارید تا چند اکانت ایمیل وارد کنید کافیست تا همان خط مربوط به set alert را به همراه ایمیل خود را چند بار بنویسید.

 

 

گام ۲ : اضافه کردن سرویس ها جهت مانیتورینگ

در این قسمت قصد داریم تا چند سرویس را به Monit جهت مانیتورینگ معرفی کنیم.اگر به انتهای فایل در توزیع های Fedora/CentOS/RHEL توجه کنید خط زیر را نیز مشاهده می کنید :

include /etc/monit.d/*

 

در توزیع های Ubuntu/Debian این خط را خواهید دید :

 

include /etc/monit/conf.d/*

 

 

در واقع مسیری می باشد که می توانید فایل های تنظیمات و مانیتور کردن سرویس مورد نظر خود را در آن قرار دهید.بنابراین برای اضافه کردن سرویس های مورد نظر خود کافیست بر اساس توزیع خود در مسیر گفته شده فایلی با نام سرویس خود ایجاد کنید و تنظیمات را درون آن وارد نمایید.

اضافه کردن سرویس آپاچی (httpd) برای توزیع های Fedora/CentOS/RHEL :

 

 

check process httpd with pidfile /var/run/httpd.pid
group apache
start program = “/etc/init.d/httpd start”
stop program = “/etc/init.d/httpd stop”
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout

 

اضافه کردن سرویس Apache2 برای  توزیع های Ubuntu/Debian :

 

 

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”

 

اضافه کردن سرویس Ngnix :

 

 

check process nginx with pidfile /var/run/nginx.pid
start program = “/etc/init.d/nginx start”
stop program = “/etc/init.d/nginx stop”

 

اضافه کردن سرویس MySQL :

 

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = “/etc/init.d/mysqld start”
stop program = “/etc/init.d/mysqld stop”
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout

 

اضافه کردن سرویس SSHD :

 

 

 

check process sshd with pidfile /var/run/sshd.pid
start program “/etc/init.d/sshd start”
stop program “/etc/init.d/sshd stop”
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

 

اضافه کردن سرویس Asterisk :

# Asterisk Monitoring rule
check process asterisk with pidfile /var/run/asterisk/asterisk.pid
start program = “/etc/init.d/asterisk start” with timeout 60 seconds
stop program = “/etc/init.d/asterisk stop”
# Check uptime via Asterisk Manager Interface (AMI) port 5038
if failed host 127.0.0.1 port 5038 then restart
if 5 restarts within 5 cycles then timeout

 

 

 

اکنون پس از اضافه کردن سرویس ها و پیکربندی Monit جهت بررسی تنظیمات و پیکربندی می توانید از این دستور استفاده کنید :

 

#monit -t

 

سپس برای start کردن سرویس Monit بر اساس توزیع خود از یکی از دستور های پایین استفاده کنید :

 

#sytemctl  start monit

 

#service monit start

 

جهت restart کردن سرویس Monit بر اساس توزیع خود از یکی از دستورهای پایین استفاده کنید :

 

#sytemctl  restart monit

 

#service monit restart

 

جهت stop کردن سرویس Monit بر اساس توزیع خود از یکی از دستورهای پایین استفاده کنید :

 

#sytemctl  stop monit

#service monit restart

 

برای فعال کردن سرویس Monit هنگام Boot شدن سیستم در توزیع های Fedora/CentOS/RHEL از یکی از دستورهای پایین استفاده کنید :

 

#systemctl enable  monit

 

#chkconfig monit on

 

برای  غیر فعال کردن سرویس Monit هنگام Boot شدن سیستم در توزیع های Fedora/CentOS/RHEL از یکی از دستورهای پایین استفاده کنید :

 

# systemctl disable monit

 

#chkconfig monit off

 

جهت بررسی وضعیت Monit می توانید از این دستور استفاده کنید :

 

#monit status

 

جهت دیدن خلاصه وضعیت سرویس های تحت کنترل از این دستور استفاده کنید :

 

# monit summary

 

جهت دیدن log file سرویس Monit  از این دستور استفاده کنید :

 

# tail -f  /var/log/monit.log

 

اگر روی سیستم از دیوار آتش استفاده می کنید نیاز هست تا پورت که برای پنل وب Monit وارد کردید را در فایروال خود باز کنید.

برای باز کردن پورت در Firewalld از این دستورها استفاده کنید :

 

#firewall-cmd  --zone=public  --add-port=2812/tcp  --permanent

 

#firewall-cmd --reload

 

برای باز کردن پورت در IPtables از این دستورها استفاده کنید :

 

#iptables -A INPUT -p tcp --dport 2812 -j ACCEPT

#service iptables save

#service iptables restart

اکنون برای دیدن پنل وب Monit کافیست تا IP  یا Domain سیستم را به همراه پورت تعیین شده (۲۸۱۲) را در مرورگر وب خود وارد نمایید.در پایین تصاویری از پنل تحت وب Monit را مشاهده می کنید :

1-monit-panel web

monit-panel web

monit-panel web



برچسب ها : , , , , , , , , , , , , , , , , , , , ,