如何在CentOS Webpanel(CWP7)安裝Monit監控軟件?

在本教程中,我們將向你展示如何在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監控軟件?

要完成本教程,你將需要準備以下先決條件:

  1.  CentOS Linux版本7(核心)
  2.  CWP7
  3.  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

如何在CentOS Webpanel(CWP7)安裝Monit監控軟件?

現在,使用你先前設置的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 頻道,獲取最新更新!

🔔 率先在頻道置頂目錄獲取寶貴的《ChatGPT 內容行銷AI 工具使用指南》! 🌟
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!

 

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標註

滾動到頂部