ไดเรกทอรีบทความ
ก่อนหน้าเฉิน เว่ยเหลียงบล็อกได้แชร์CentOS 6 บทช่วยสอนการติดตั้งและกำหนดค่า Monit ▼
อย่างไรก็ตาม ในการกำหนดค่า CentOS 7ติดตามตรวจสอบโปรแกรมมีความแตกต่างจาก CentOS 6 อยู่บ้าง ไม่เหมือนกันทุกประการ
ถ้าคุณลินุกซ์โฮสต์ใช้ระบบ CentOS 7 หลังจากติดตั้ง Monit บนแผง Vesta CP แล้ว คุณสามารถทำตามบทช่วยสอนนี้เพื่อกำหนดค่าโปรแกรมตรวจสอบ Monit
บริการตรวจสอบกระบวนการตรวจสอบ
ต่อไปนี้คือเนื้อหาการกำหนดค่าบริการของกระบวนการตรวจสอบ Monit (ลบบริการตรวจสอบบางรายการที่ใช้น้อยกว่า):
-
หอย - cron
- นกพิราบ
- เอ็กซิม
- httpd
-
memcached - MySQL
- Nginx
-
สแปม - sshd
- เวสต้า-nginx
- เวสต้า-php
- vsftpd
-
ตรวจสอบพื้นที่และ inodes on -
ตรวจสอบทรัพยากรระบบ (RAM, สวอป, CPU, โหลด)
ตรวจสอบการกำหนดค่าการตรวจสอบ
ชื่อไฟล์การกำหนดค่า Monit นั้นแตกต่างกันสำหรับ CentOS 6 & 7:
- ชื่อของไฟล์การกำหนดค่า Monit สำหรับ CentOS 6 คือ "monit.conf"
- ชื่อของไฟล์การกำหนดค่า Monit สำหรับ CentOS 7 คือ "monitrc"
ด้วย SFTP 软件หลังจากเข้าสู่เซิร์ฟเวอร์ Linux แล้ว ให้แก้ไขไฟล์การกำหนดค่า 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:
- ขอแนะนำให้ใช้เนื้อหาการกำหนดค่าข้างต้น▲
- ไม่แนะนำให้ใช้คำสั่ง 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 ▼
tailf /var/log/monit.log
- SSH เพื่อดูไฟล์ monit.log สามารถแสดงบันทึกได้เพียง 10 บรรทัดสุดท้ายเท่านั้น
แนะนำให้เข้าสู่ระบบ SFTP /var/log/monit.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
แก้ไขข้อผิดพลาดในการส่งอีเมล
เฉิน เว่ยเหลียงแนะนำให้ใช้Gmail SMTP ▼
set mailserver smtp.gmail.com port 587 username "[email protected]" password "password" using tlsv1 with timeout 30 seconds
วิธีแก้ไขคือแทนที่ set mailserver ในไฟล์การกำหนดค่า Monit โปรดตรวจสอบรายละเอียดในบทช่วยสอนนี้ ▼
ข้อผิดพลาดทางสถิติของระบบไฟล์
หากคุณพบข้อผิดพลาดต่อไปนี้ในไฟล์บันทึก monit.log ▼
filesystem statistic error: cannot read /proc/diskstats -- No such file or directory
- อาจเป็นเพราะค่าเริ่มต้นของ Linux เป็นการติดตั้งขั้นต่ำ 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
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ "จะกำหนดค่ากระบวนการ Monit บนแผง Vesta CP ของระบบ CentOS 7 ได้อย่างไร? , ช่วยคุณ.
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-730.html
ยินดีต้อนรับสู่ช่อง Telegram ของบล็อกของ Chen Weiliang เพื่อรับข่าวสารล่าสุด!
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!