文章目錄
在本教程中,我們將向你展示如何在CentOS的 7上的CentOS Webpanel(CWP7)安裝Monit監控。
Monit監控是什麼?
Monit監控是一個免費的開源軟件,它是一個非常有用的Linux監控程序。
- 它可以自動監視和管理UNIX / Linux中的服務器進程、文件、目錄、校驗和權限,文件系統和服務。
- 例如:Apache、Nginx、MySQL的、FTP、SSH、Postfix等……
- 基於系統的系統管理,為系統管理員提供了出色的監控功能。
為何安裝Monit監控?
你可以使用Monit監控來減少停機時間,對電商網站的SEO和網絡營銷是有輔助效果的。
因為當任何服務關閉時,Monit都會檢查它並自動啟動服務。
例如:如果你的Apache或Nginx服務無故宕機關閉了,那麼monit會檢查,如果發現它關閉了,那麼monit會自動啟動相關服務。
一件有趣的事是monit運行它自己的httpd服務。
如果你的apache服務已關閉,monit將使用其自己的服務運行。
CWP 7如何安裝安裝Monit監控軟件?
要完成本教程,你將需要準備以下先決條件:
- CentOS Linux版本7(核心)
- CWP7
- CSF防火牆
第1 步:SSH更新你的YUM存儲庫,然後安裝Monit監控▼
yum update -y
yum install monit
第2步:在CSF防火牆上打開2812端口 ▼
vi /etc/csf/csf.conf # Allow incoming TCP ports TCP_IN = "20,21,22,2812,25,53,80,110,143,443,465,587,993,995,2030,2031,2082,2083,2086,2087,2095,2096"
第3 步:重新啟動CSF防火牆▼
csf -r
第4步:用SFTP軟件進入Linux服務器後,編輯Monit配置文件/etc/monitrc
▼
set daemon 30 # check services at 30 seconds intervals
set log syslog
set pidfile /var/run/monit.pid
set idfile /var/.monit.id
set statefile /var/.monit.state
include /etc/monit.d/*
set mailserver localhost port 25
set eventqueue
basedir /var/monit # set the base directory where events will be stored
slots 100 # optionally limit the queue size
set alert admin@xxxxx #receive all alerts
set alert admin@xxxxx not on { instance, action }
set httpd port 2812 and use address 0.0.0.0
allow 0.0.0.0/0.0.0.0
allow admin:monit # require user 'admin' with password 'monit'
第5步:檢查Monit語法是否有錯誤 ▼
# monit -t Control file syntax OK
如果缺少,請創建以下文件:
# touch /var/run/monit.pid # touch /var/log/moinit.log
如果有安裝Redis,可能需要手動配置Redis的pid文件位置地址 ▼
Monit添加監控服務
現在,我們將監控一些服務,例如amavisd,clamd,crond,php-fpm和cwpsrv。打開monit配置文件/etc/monitrc
,並在行尾添加以下代碼:
Monitor CWP.amavisd
# vi /etc/monitrc check process amavisd with pidfile /var/run/amavisd/amavisd.pid start program "/usr/bin/systemctl start amavisd.service" stop program "/usr/bin/systemctl stop amavisd.service" if failed unixsocket /var/run/amavisd/amavisd.sock then restart if cpu > 70% for 4 cycles then alert if cpu > 90% for 8 cycles then restart if 4 restarts within 8 cycles then timeout
監控CWP.clamd
# vi /etc/monitrc check process clamd with pidfile /var/run/clamd.amavisd/clamd.pid start program "/usr/bin/systemctl start clamd.service" stop program "/usr/bin/systemctl stop clamd.service" if failed unixsocket /var/run/clamd.amavisd/clamd.sock then restart if cpu > 70% for 4 cycles then alert if cpu > 90% for 8 cycles then restart if 4 restarts within 8 cycles then timeout
監視CWP.crond
# vi /etc/monitrc check process crond with pidfile /var/run/crond.pid start program = "/usr/bin/systemctl start crond.service" stop program = "/usr/bin/systemctl stop crond.service"
監控CWP.cwp-phpfpm
# vi /etc/monitrc check process cwp-phpfpm matching "cwp-phpfpm" start program "/usr/bin/systemctl start cwp-phpfpm.service" stop program "/usr/bin/systemctl stop cwp-phpfpm.service" if failed unixsocket /usr/local/cwp/php71/var/sockets/cwpsrv.sock then restart if failed unixsocket /usr/local/cwp/php71/var/sockets/cwpsvc.sock then restart if failed unixsocket /usr/local/cwp/php71/var/sockets/login.sock then restart if cpu > 70% for 4 cycles then alert if cpu > 90% for 8 cycles then restart if 4 restarts within 8 cycles then timeout
監控cwp.cwpsrv
# vi /etc/monitrc check process cwpsrv with pidfile /usr/local/cwpsrv/var/run/nginx.pid start program "/usr/bin/systemctl start cwpsrv.service" stop program "/usr/bin/systemctl stop cwpsrv.service" if 4 restarts within 8 cycles then timeout
配置完成後,monit應該重新加載並重新讀取配置文件,並且Web界面將可用:
monit reload
查詢MySQL數據庫進程pidfile文件的方法,請查看下方教程 ▼
Monit監控服務的另一種方式(推薦)
1)下載Monit監控服務文件▼
- 在下載頁面,點擊普通下載裡的“立即下載”按鈕,即可免費下載Monit監控服務文件。
- (訪問密碼: 5588)
2)解壓後上傳到/etc/monit.d/目錄。
- 假如在Monit設定檔 /etc/monitrc 內已有同樣配置的監控服務,需在Monit設定檔 /etc/monitrc 刪除掉,否則會出錯。
創建所需的配置文件後,測試是否語法錯誤▼
monit -t
若出現以下提示 ▼
monit -t /etc/monit.d/cwp.mariadbd:1: Service name conflict, mysql already defined '"/usr/sbin/mariadbd"'
- 意思是說
/etc/monit.d/cwp.mariadbd:1:
服務名稱衝突;mysql 已經定義'"/usr/sbin/mariadbd"'
- 這是說明
cwp.mariadbd
文件已存在,只需刪除掉cwp.mysqld
文件即可。
如果沒有錯誤,啟用並重新啟動monit服務 ▼
systemctl enable monit systemctl restart monit
開機啟動Monit 服務 ▼
systemctl enable monit.service
現在檢查監控日誌 ▼
tail -f /var/log/monit.log
Monit監控基本命令
使用以下命令啟動monit ▼
monit
檢查Monit狀態 ▼
monit status
重新加載它,讓更改生效▼
monit reload
開始運行所有受Monit監控的程序▼
monit start all
重新啟動所有Monit監空服務▼
monit restart all
啟動、停止和重新啟動特定服務,可以用monit start name
這樣的命令 ▼
monit start httpd
monit stop sshd
monit restart nginx
Monit監控摘要▼
monit summary
現在,使用你先前設置的Monit用戶名和密碼,登錄到monit服務器。
登錄URL:http://SERVER_FQDN:2812
解決Monit服務總是不受監控
Monit包括用於啟用和停用對所有或特定服務的監視的命令。
如果Monit服務總是不受監控,你可以使用以下指令▼
monit monitor mysql
或重新啟用所有監控▼
monit monitor all
- 請注意,你必須啟用Monit HTTP 介面才能讓這些指令發揮作用。
Monit命令(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
Monit注意事項
Monit監視著進程服務,這意味著Monit所監視的服務不能使用一般的方法來停止,因為一停止,Monit又會將其啟動。
要停止Monit所監視的服務,應該使用類似monit stop name
這樣的命令,例如要停止nginx ▼
monit stop nginx
若要停止全部Monit所監視的服務,輸入以下命令▼
monit stop all
卸載Monit監控程序 ▼
yum remove monit
希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《如何在CentOS Webpanel(CWP7)安裝Monit監控軟件? 》,對您有幫助。
歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-1443.html
歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!