在CentOS 8上安裝Monit監視系統

您可以通過以下鏈接以PDF格式下載本文來支持我們。以PDF格式下載指南關閉關閉關閉

Monit是用於管理和監視Unix系統的小型開源實用程序。 Monit可以執行自動維護和維修,並採取在錯誤情況下會導致有意義後果的措施。

Monit被設計為自治系統,並且不依賴任何插件或特殊庫來運行。相反,它開箱即用,並利用了系統中已有的現有基礎結構。例如,Monit可以輕鬆地與init,upstart和systemd集成,並且可以使用現有的運行級腳本來管理服務。

系統監視工具應該不會妨礙您,安裝後應該將其遺忘。也就是說,直到sshd或postfix在託管服務器上停止。如果發生這種情況,最好知道已安裝了此附加的安全性和保護層。現在只需等待幾秒鐘,Monit將重新啟動sshd守護程序。資源: Monit主頁

使用Monit:

Monit通過以下方式顯示其功能:

  • 主動監控:發生錯誤情況時,Monit有效。 如果sendmail沒有運行,Monit可以自動重新啟動sendmail。或者,如果apache過度使用資源(例如,如果正在進行DoS攻擊),則Monit可以停止或重新啟動apache並發送警報消息。
  • 系統監控:您可以使用Monit監視本地主機上的常見系統資源,例如總體CPU利用率,內存和平均負載。
  • 過程監控:您可以使用Monit監視守護程序進程或本地主機上運行的類似程序。 Monit對於監視守護進程特別有用,例如在系統啟動時從/ etc / init /啟動的守護進程。
  • 監視文件,目錄和文件系統:您還可以使用Monit監視本地主機上的文件,目錄和文件系統。 Monit可以監視這些項目的更改,例如時間戳更改,校驗和更改以及調整大小。出於安全原因,這也是有用的。您可以監視不應修改的文件的md5或sha1校驗和,以獲取警報並在修改後採取措施。
  • 程序和腳本監控:Monit可用於在特定時間測試程序或腳本,例如cron,但它也測試程序的結束值以執行操作,或者結束值指示錯誤您可以發送警報,以防萬一。
  • 雲和主機:監視與各種本地或遠程服務器的網絡連接。 支持TCP,UDP和Unix域套接字。網絡測試可以在協議級別運行。 Monit具有對主要Internet協議(例如HTTP和SMTP)的內置測試。

系統要求

  • 內存和磁盤空間:至少需要1 MB的RAM和大約500KB的可用磁盤空間。 根據Monit監視器的服務數量,您可能需要更多的RAM。
  • ANSI-C編譯器和構建系統:必須安裝ANSI-C99編譯器才能構建Monit。 我們建議使用自由軟件基金會(FSF)GNU C編譯器(GCC)。另外,您的PATH應該包括基本的構建工具,例如make。

安裝Monit

希望對該工具的描述足夠,我們將其設置在服務器上,以便您可以直接看到在幕後工作時所獲得的收益。提取代碼並通過epel-repository安裝。

步驟1:更新並安裝所需的軟件包

在享受Monit之前,請安裝以下重要軟件包,以確保滿足所有依賴性。

sudo dnf -y update
sudo dnf -y install zlib-devel pam-devel openssl-devel libtool bison flex autoconf gcc make git epel-release

步驟2:安裝Monit

確定所需的依賴關係和應用程序後,通過提取存儲庫並通過DNF安裝它來充分利用存儲庫。

sudo dnf -y install monit

啟動監控

啟動Monit與運行單個命令一樣簡單。如下所示。

$ sudo monit

###You should see the message below in the end###
 New Monit id: a447ea6daa8857bcf3c5089d0d225e83
 Stored in '/root/.monit.id'
Starting Monit 5.26.0 daemon with http interface at [localhost]:2812

查找Monit的狀態

啟動Monit後,您可以通過執行status命令來檢查Monit的工作方式,如下所示。

$ sudo monit status
Monit 5.26.0 uptime: 1m

System 'master'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.00] [0.00] [0.00]
  cpu                          0.0%us 0.0%sy 0.0%wa
  memory usage                 306.4 MB [17.4%]    
  swap usage                   0 B [0.0%]
  uptime                       1h 59m
  boot time                    Wed, 30 Sep 2020 17:53:25
  data collected               Wed, 30 Sep 2020 19:51:59

共享的屏幕截圖在下面共享,以獲得更清晰的圖像。

您還可以允許Monit在服務器重新啟動時啟動

$ sudo systemctl enable --now monit
$ sudo systemctl status monit
● monit.service - Pro-active monitoring utility for unix systems
   Loaded: loaded (/usr/lib/systemd/system/monit.service; enabled; vendor preset: disabled)        
   Active: active (running) since Wed 2020-09-30 20:27:05 UTC; 2min 4s ago
 Main PID: 83433 (monit)
    Tasks: 2 (limit: 11070)
   Memory: 960.0K
   CGroup: /system.slice/monit.service
           └─83433 /usr/bin/monit -I

步驟3:監視配置

可以想象,Monit帶有一個配置,可讓您微調配置並添加需要監視的內容。 Monit使用/ etc / monitrc目錄中的monitrc控制文件進行配置。該文件設置為啟動Monit的http服務器,因此您可以從瀏覽器的舒適性中看到一些有趣的東西。在下面找到代碼段部分,並將IP從localhost更改為0.0.0.0。這允許從可以到達服務器的任何IP訪問Web界面。

sudo vim /etc/monitrc

set httpd port 2812 and
    #use address localhost # only accept connection from localhost (drop if you use M/Monit)
    use address 0.0.0.0     
    #allow localhost       # allow localhost to connect to the server and
    allow 0.0.0.0/0       
    allow admin:monit

完成編輯後,不要忘記打開端口2812。 監控服務也將重新啟動。

sudo firewall-cmd --permanent --add-port=2812/tcp
sudo firewall-cmd --reload
sudo systemctl restart monit

啟動monit後,使用瀏覽器訪問http://。[IP-or-FQDN]:出現提示時,使用用戶名“ admin”和密碼“ monit”登錄。接下來的頁面如下。

在CentOS 8上安裝Monit監視系統

首次登錄

在CentOS 8上安裝Monit監視系統

步驟4:添加Monit監控的服務

運行Monit後,必須添加目標服務,然後才能監視和重新啟動該服務(如果失敗)。 在Nginx服務器上測試。現在讓我們安裝它,然後添加配置以監視其狀態。

sudo dnf install -y nginx
sudo systemctl start nginx

現在,您可以使用可愛的Monit手錶來監視Nginx了。要啟用此功能,請將以下配置添加到/etc/monit.d目錄中,該目錄可以包含各種受監視服務的配置文件。

$ sudo vim /etc/monit.d/nginx-monitor
check process nginx with pidfile /run/nginx.pid
start program "/usr/bin/systemctl start nginx.service"
stop program "/usr/bin/systemctl stop nginx.service"
if failed port 80 protocol http then restart

如果要確保配置文件的語法正確,Monit會提供該功能。只需運行以下命令:

$ sudo monit -t
Control file syntax OK

可以想象,您需要重新加載Monit以適應新配置。就像這樣簡單:

$ sudo monit reload
Reinitializing monit daemon

然後您可以檢查其狀態

sudo monit status

下面的屏幕快照顯示您剛剛添加的新服務(nginx)已註冊,其狀態當前為“確定”。

在CentOS 8上安裝Monit監視系統

您還可以在Web界面中查看正在監視的內容

在CentOS 8上安裝Monit監視系統

其他服務(例如sshd,httpd,syslogd和postfix)可以以相同的方式添加到/etc/monit.d/目錄中的自己的文件中。

步驟5:測試監控

為確保Monit正常運行,請有意停止Nginx服務器,並查看是否嘗試重新啟動並成功。 默認情況下,Monit每30秒檢查一次服務。您可以在配置文件(/ etc / monitrc)中更改此值以適合您的要求。在文件中查找“ setdaemon30”行,並或多或少地更改該數字(以秒為單位)。

讓我們停止Nginx

sudo systemctl stop nginx

然後檢查監視日誌以查看其功能。

$ sudo tail -f /var/log/messages

Sep 30 21:12:55 master systemd[1]: Stopping The nginx HTTP and reverse proxy server...
Sep 30 21:12:55 master systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Sep 30 21:13:24 master monit[85789]: 'nginx' process is not running
Sep 30 21:13:24 master monit[85789]: 'nginx' trying to restart
Sep 30 21:13:24 master monit[85789]: 'nginx' start: '/usr/bin/systemctl start nginx.service'
Sep 30 21:13:24 master systemd[1]: Starting The nginx HTTP and reverse proxy server...
Sep 30 21:13:24 master nginx[85809]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Sep 30 21:13:24 master nginx[85809]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Sep 30 21:13:24 master systemd[1]: Started The nginx HTTP and reverse proxy server.
Sep 30 21:13:54 master monit[85789]: 'nginx' process is running with pid 85812

確認Nginx已啟動

● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-09-30 21:13:24 UTC; 2min 42s ago
  Process: 85811 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 85809 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 85807 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 85812 (nginx)
    Tasks: 3 (limit: 11070)
   Memory: 5.3M
   CGroup: /system.slice/nginx.service
           ├─85812 nginx: master process /usr/sbin/nginx
           ├─85813 nginx: worker process
           └─85814 nginx: worker process

Monit通過在配置的時間內重新啟動Nginx證明可以很好地工作。這在服務無故停止的情況下特別有用。在這樣的時候,Monit可以使您的背部完美。 您可以通過解壓縮Monit來配置更多功能。您可以從中找到更多 Monit網站

最後一個字

正如Monit開發人員所說,它具有系統監視和錯誤恢復所需的所有功能。就像在服務器上帶有帶有工具箱的看門狗一樣。減輕一些負擔,並在周末享受一杯茶或安靜的午睡。利用它並轉變您的管理任務。終於結束了希望您的嚮導能為您提供幫助。

您還可以享受:

在CentOS 8 / RHEL8上安裝SensuGo監控工具

10種最佳開源Linux監視工具

您可以通過以下鏈接以PDF格式下載本文來支持我們。以PDF格式下載指南關閉關閉關閉

Sidebar