چگونه فرآیند Monit را در پنل Vesta CP سیستم CentOS 7 پیکربندی کنیم؟

قبلچن ویلیانگوبلاگ به اشتراک گذاشته شده استلینوکس 6 آموزش نصب و پیکربندی Monit ▼

با این حال، در پیکربندی CentOS 7نظارت بر نظارتاین برنامه، با تفاوت هایی با CentOS 6، دقیقاً یکسان نیست.

اگر شمالینـوکــسهاست از سیستم CentOS 7 استفاده می کند.پس از نصب Monit بر روی پنل Vesta CP می توانید این آموزش را برای پیکربندی برنامه مانیتورینگ Monit دنبال کنید.

مانیتورینگ خدمات فرآیند نظارت

محتوای پیکربندی سرویس فرآیند نظارت Monit در زیر آمده است (برخی از خدمات نظارتی که کمتر استفاده می شوند حذف کنید):

  • پوشیده شده
  • cron
  • کبوترخانه
  • exim
  • httpd
  • memcached
  • خروجی زیر
  • انجیناکس
  • اسپماسین
  • ssh
  • vesta-nginx
  • vesta-php
  • vsftpd
  • نظارت بر فضا و inodes روشن است
  • نظارت بر منابع سیستم (RAM، swap، CPU، بارگذاری)

نظارت بر پیکربندی نظارت

نام فایل های پیکربندی Monit برای CentOS 6 و 7 متفاوت است:

  • نام فایل پیکربندی Monit برای CentOS 6 "monit.conf" است.
  • نام فایل پیکربندی Monit برای CentOS 7 "monitrc" است.

با SFTP نرم افزارپس از ورود به سرور لینوکس، فایل پیکربندی Monit ▼ را ویرایش کنید

/etc/monitrc

محتوای پیکربندی زیر را به این فایل "monitrc" ▼ اضافه کنید

##
## 陈沩亮博客示例monit配置文件说明:
## 1. 域名以 www.etufo.org 为例。
## 2. 后面带xxx的均是举例用的名字,需要根据自己的需要修改。
##
################################################## #############################
## Monit control file
################################################## #############################
#
# 检查周期,默认为2分钟,对于网站来说有点长,可以根据需要自行调节,这改成30秒。
set daemon 30

include /etc/monit.d/*

# 日志文件
set logfile /var/log/monit.log

#
# 邮件通知服务器
#
#set mailserver mail.example.com
set mailserver localhost with timeout 30 seconds

#
# 通知邮件的格式设置,下面是默认格式供参考
#
## Monit by default uses the following alert mail format:
##
## --8<--
## From: monit@$HOST # sender
## Subject: monit alert -- $EVENT $SERVICE # subject
##
## $EVENT Service $SERVICE #
## #
## Date: $DATE #
## Action: $ACTION #
## Host: $HOST # body
## Description: $DESCRIPTION #
## #
## Your faithful employee, #
## monit #
## --8<--
##
## You can override the alert message format or its parts such as subject
## or sender using the MAIL-FORMAT statement. Macros such as $DATE, etc.
## are expanded on runtime. For example to override the sender:
#
# 简单的,这只改了一下发送人,有需要可以自己修改其它内容。
set mail-format { from: admin@xxxx }

# 设置邮件通知接收者。建议发到gmail,方便邮件过滤。
set alert xxx@xxxx

set httpd port 2812 and #设置http监控页面的端口
use address www.etufo.org # http监控页面的IP或域名
##allow localhost # 允许本地访问
##allow 203.82.90.239 # 允许指定IP访问
allow user:password # 访问用户名密码

################################################## #############################
## Services
################################################## #############################
#
# 系统整体运行状况监控,默认的就可以,可以自己去微调
#
# 系统名称,可以是IP或域名
#check system www.etufo.org
# if loadavg (1min) > 4 then alert
# if loadavg (5min) > 2 then alert
# if memory usage > 75% then alert
# if cpu usage (user) > 70% then alert
# if cpu usage (system) > 30% then alert
# if cpu usage (wait) > 20% then alert


# 可选的ssl端口的监控,如果有的话
# if failed port 443 type tcpssl protocol http
# with timeout 15 seconds
# then restart

# 监控mariadb
check process mysql with pidfile /var/run/mariadb/mariadb.pid
start program = "/usr/bin/systemctl start mariadb"
stop program = "/usr/bin/systemctl stop mariadb"
if failed host 127.0.0.1 port 3306 for 2 cycles then restart
if 2 restarts within 4 cycles then timeout

# 监控httpd
check process httpd with pidfile /var/run/httpd/httpd.pid
    start program = "/usr/bin/systemctl start httpd"
    stop program = "/usr/bin/systemctl stop httpd"
#    if children > 120 for 2 cycles then restart
#    if failed host localhost port 8080 protocol http for 2 cycles then restart
#    if 4 restarts within 10 cycles then timeout
  
# 监控nginx
check process nginx with pidfile /var/run/nginx.pid
    start program = "/usr/bin/systemctl start nginx"
    stop program = "/usr/bin/systemctl stop nginx"
#    if failed host localhost port 443 protocol http for 2 cycles then restart
#    if 4 restarts within 10 cycles then timeout

# 监控sshd
check process sshd with pidfile /var/run/sshd.pid
start program = "/usr/bin/systemctl start sshd"
stop program = "/usr/bin/systemctl stop sshd"
if failed host localhost port 22 protocol ssh for 2 cycles then restart
if 4 restarts within 10 cycles then timeout

# 监控vesta-nginx
check process vesta-nginx with pidfile /var/run/vesta-nginx.pid
start program = "/usr/bin/systemctl start vesta"
stop program = "/usr/bin/systemctl stop vesta"
if failed host localhost port 8083 protocol https for 2 cycles then restart
if 4 restarts within 10 cycles then timeout

# 监控vesta-php
check process vesta-php with pidfile /var/run/vesta-php.pid
start program = "/usr/bin/systemctl start vesta"
stop program = "/usr/bin/systemctl stop vesta"
if failed host localhost port 8083 protocol https for 2 cycles then restart
if 4 restarts within 10 cycles then timeout

# 监控vsftpd
check process vsftpd with match vsftpd
start program = "/usr/bin/systemctl start vsftpd"
stop program = "/usr/bin/systemctl stop vsftpd"
if failed host localhost port 21 protocol ftp for 2 cycles then restart
if 4 restarts within 10 cycles then timeout

#监控crond
check process crond with pidfile /var/run/crond.pid
start program = "/usr/bin/systemctl start crond"
stop program = "/usr/bin/systemctl stop crond"
if 5 restarts within 5 cycles then timeout

#监控dovecot
check process dovecot with pidfile /var/run/dovecot/master.pid
start program = "/usr/bin/systemctl start dovecot"
stop program = "/usr/bin/systemctl stop dovecot"
if failed host localhost port 143 protocol imap for 2 cycles then restart
if 4 restarts within 10 cycles then timeout

#监控exim
check process exim with pidfile /var/run/exim.pid
start program "/usr/bin/systemctl start exim"
stop program "/usr/bin/systemctl stop exim"
if failed host localhost port 25 protocol smtp for 2 cycles then restart
if 4 restarts within 10 cycles then timeout

اگر محتوای پیکربندی MONIT را تغییر داده اید، باید سرویس Monit را مجدداً راه اندازی کنید تا اعمال شود ▼

systemctl restart monit

به روز رسانی 2018/5/26:

  • توصیه می شود از محتوای پیکربندی بالا ▲ استفاده کنید
  • دستورات SSH زیر برای تولید فایل برای سرویس نظارت Monit توصیه نمی شود.
cd /etc/monit.d/
git clone https://github.com/infinitnet/vesta-centos7-monit.git ./ && rm -f README.md
myip=1.2.3.4
sed -i 's/host localhost/host '$myip'/g' /etc/monit.d/*.conf
systemctl restart monit
  • با IP مشترک خود جایگزین کنید1.2.3.4.

دستور git bash پیدا نشد زیرا ممکن است خطایی در ▼ رخ دهد

همچنین ممکن است به نظر برسد که پس از وارد کردن این دستور ▼

sed -i 's/host localhost/host '$myip'/g' /etc/monit.d/*.conf

پیام خطای زیر ▼ ظاهر می شود

sed: can't read /etc/monit.d/*.conf: No such file or directory

مانیتور کردن خطای مشاهده گزارش

دستور SSH مشاهده monit.log فایل log ▼

tailf /var/log/monit.log
  • SSH برای مشاهده فایل monit.log، تنها 10 خط آخر گزارش ها را می توان نمایش داد.

ورود به سیستم SFTP توصیه می شود /var/log/monit.log برای مشاهده کامل وضعیت فایل log قبلی monit.log.

خطای ارسال ایمیل

اگر ایمیل Monit قابل ارسال نباشد، پیام خطای زیر ظاهر می شود ▼

error : Cannot open a connection to the mailserver localhost:25 -- Operation now in progress
error : Mail: Delivery failed -- no mail server is available

رفع خطاهای ارسال ایمیل

چن ویلیانگتوصیه می شود استفاده کنیدجیمیل SMTP ▼

set mailserver smtp.gmail.com port 587
username "[email protected]"
password "password"
using tlsv1
with timeout 30 seconds

راه حل این است که سرور پست الکترونیکی را در فایل پیکربندی Monit جایگزین کنید، لطفاً برای جزئیات بیشتر به این آموزش مراجعه کنید ▼

خطای آماری سیستم فایل

اگر خطاهای زیر را در فایل log monit.log ▼ پیدا کنید

filesystem statistic error: cannot read /proc/diskstats -- No such file or directory
  • احتمالاً به این دلیل که لینوکس به طور پیش فرض حداقل نصب را انجام می دهد VestaCPپانل، وجود ندارد /proc/diskstats فایل نظارت بر وضعیت دیسک

رفع خطاهای آماری سیستم فایل

مرحله 1:SSH در /etc/monit.d کاتالوگ ▼

cd /etc/monit.d

مرحله 2:فایل سرویس نظارت Monit "root-space.conf" ▼ را حذف کنید

rm -rf root-space.conf

مرحله 3:SSH راه اندازی مجدد مانیتورینگ ▼

systemctl restart monit.service

Monit Command (ویژه CentOS 7)

مشاهده وضعیت راه اندازی Monit ▼

systemctl status monit.service

سرویس Monit ▼ را راه اندازی کنید

systemctl start monit.service

سرویس Monit را ببندید

systemctl stop monit.service

سرویس Monit ▼ را مجدداً راه اندازی کنید

systemctl restart monit

سرویس Monit را در هنگام راه اندازی ▼ راه اندازی کنید

systemctl enable monit.service

سرویس Monit ▼ را روشن و خاموش کنید

systemctl disable monit.service

وبلاگ امید چن ویلیانگ ( https://www.chenweiliang.com/ ) shared "چگونه فرآیند Monit را در پنل Vesta CP سیستم CentOS 7 پیکربندی کنیم؟ ، برای کمک به شما

به اشتراک گذاری لینک این مقاله خوش آمدید:https://www.chenweiliang.com/cwl-730.html

به کانال تلگرام وبلاگ چن ویلیانگ خوش آمدید تا از آخرین به روز رسانی ها مطلع شوید!

🔔 اولین نفری باشید که "راهنمای استفاده از ابزار هوش مصنوعی بازاریابی محتوایی ChatGPT" را در فهرست بالای کانال دریافت می کنید! 🌟
📚 این راهنما حاوی ارزش بسیار زیادی است، 🌟این یک فرصت نادر است، آن را از دست ندهید! ⏰⌛💨
اگر دوست داشتید به اشتراک بگذارید و لایک کنید
اشتراک گذاری و لایک های شما انگیزه مستمر ما هستند!

 

发表 评论

آدرس ایمیل شما منتشر نخواهد شد. از زمینه های مورد نیاز استفاده می شود * 标注

به بالا بروید