如何使用 Checkmk 監控 Vultr 虛擬私有云 (VPC) 中的服務器

介紹

Checkmk 是一個監控應用程序,可以跟踪您的服務器、網絡、容器、數據庫和已安裝的應用程序。 它遵循客戶端-服務器模型,並提供一個 Web 儀表板,您可以通過該儀表板跟踪已配置主機的正常運行時間和狀態。

本文介紹如何使用 Checkmk 監控 Vultr 虛擬私有云 (VPC) 中的服務器。 在主 VPC 服務器上安裝 Checkmk 後,它解釋瞭如何監控三個服務器實例,通過運行Ubuntu22.04、Rocky Linux 8 和 Windows 2022 分別在單個 VPC 網絡中。 VPC 和所有三個服務器實例必須位於相同的 Vultr 位置。

以前的要求

要完成本指南,您需要一個已註冊的域名以及為該域更新 DNS 的能力。

初步步驟

  1. 選擇一個 Vultr 位置並部署一個虛擬私有云 (VPC)。
  2. 部署兩個服務器實例:Ubuntu 22.04 和 Rocky Linux 8。Ubuntu 服務器是主要的 Checkmk 服務器。 >筆記:確保在部署 VPC 時附加它們,以便 cloud-init 可以為您配置 VPC 網絡適配器。
  3. 部署 Windows 2022 服務器。
  4. Windows 不使用 cloud-init,因此您必須在部署後手動配置 VPC。 完成這一步後,三台服務器都連接到同一個VPC,可以互相ping通。
  5. 在 Ubuntu 和 Rocky Linux 服務器上創建一個具有 sudo 權限的非 root 用戶。
  6. 在 Ubuntu 和 Rocky Linux 上配置 NTP 以確保所有監控功能使用正確的系統時間。

1. 在主 VPC 服務器上安裝 Checkmk

在這一步中,您將在 Ubuntu 服務器上安裝 Checkmk,它將監控連接到 VPC 的其他主機。

創建域一份文件它將完全限定域名 (FQDN) 指向 Ubuntu 服務器的 IP 地址。 本指南使用示例 FQDN checkmk.googlesyndication.com . 如果您使用 Vultr DNS,請參閱我們的指南。

  1. SSH 到服務器並以具有 sudo 權限的非 root 用戶身份登錄。

                              
                                $ ssh [email protected]
    
                              
                            
  2. 更新服務器。

                              
                                $ sudo apt update
    
                              
                            
  3. 將服務器的主機名更改為您的域名。

                              
                                $ sudo hostnamectl set-hostname checkmk.googlesyndication.com
    
                              
                            
  4. 從 Ubuntu 下載 Checkmk 的最新版本文件官方網站.

                              
                                $ wget https://download.checkmk.com/checkmk/2.1.0p8/check-mk-raw-2.1.0p8_0.jammy_amd64.deb
    
                              
                            
  5. 在您的服務器上安裝 Checkmk 軟件包。

                              
                                $ sudo dpkg -i check-mk-raw-2.1.0p8_0.jammy_amd64.deb
    
                              
                            
  6. 進入 Y 在您的服務器上安裝所有必要的依賴項。

    如果遇到任何錯誤,請運行以下命令並輸入 yes 安裝缺少的依賴項。

                              
                                $ sudo apt --fix-broken install
    
                              
                            
  7. 通過查詢已安裝的文件來驗證 Checkmk 是否已正確安裝 omd 版本。

                              
                                $ omd version
    
                              
                            

    生產:

                              
                                OMD - Open Monitoring Distribution Version 2.1.0p8.cre
    
                              
                            

2.創建Checkmk監控站點

  1. 創建您的第一個 Checkmk 監控站點。 代替 myvpc-site 與您的首選網站的名稱。

                              
                                $ sudo omd create myvpc_site
    
                              
                            

    生產:

                              
                                Creating temporary filesystem /omd/sites/myvpc_site/tmp...OK
    Updating core configuration...
    Generating configuration for core (type nagios)...
    Precompiling host checks...OK
    Executing post-create script "01_create-sample-config.py"...OK
    Restarting Apache...OK
    Created new site myvpc_site with version 2.1.0p8.cre.
    
     The site can be started with omd start myvpc_site.
     The default web UI is available at https://checkmk.googlesyndication.com/myvpc_site/
    
     The admin user for the web applications is cmkadmin with password: Tcbhseyf
     For command line administration of the site, log in with 'omd su myvpc_site'.
     After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'.
    
                              
                            

    記下您分配的管理員用戶名和密碼。 如果您將服務器的主機名更改為您的域,則命令輸出中應顯示完整的工作 URL。

  2. 啟動 Checkmk 站點。

                              
                                $ sudo omd start myvpc_site
    
                              
                            

3. 安全

默認情況下,Checkmk 在端口上接收代理的請求 8000 對於第一個站點,並為每個創建的其他站點增加端口號。

  1. 允許端口 8000 通過防火牆。

                              
                                $ sudo ufw allow 8000/tcp
    
                              
                            
  2. 允許 Apache HTTP 端口 80 啟用對 Checkmk Web 界面的訪問。

                              
                                $ sudo ufw allow 80/tcp
    
                              
                            
  3. 允許端口上的 HTTPS 連接 443 .

                              
                                $ sudo ufw allow 443/tcp
    
                              
                            
  4. 重新啟動防火牆以保存更改。

                              
                                $ sudo ufw reload
    
                              
                            

4.啟用HTTPS

  1. 使用文本編輯器編輯默認的 Apache 虛擬主機文件。

                              
                                $ sudo nano /etc/apache2/sites-available/000-default.conf
    
                              
                            
  2. 查找以下註釋指令。

                              
                                #ServerName www.googlesyndication.com
    
                              
                            
  3. 取消註釋並輸入您的域名。

                              
                                ServerName checkmk.googlesyndication.com
    
                              
                            
  4. 重啟阿帕奇。

                              
                                $ sudo service apache2 restart
    
                              
                            
  5. 安裝 Certbot Let's Encrypt 客戶端。

                              
                                $ sudo snap install --classic certbot
    
                              
                            
  6. 申請免費 SSL 證書。 代替 checkmk.googlesyndication.com 使用您的域名,以及 [email protected] 與您的電子郵件地址。

                              
                                $ sudo certbot --apache -d checkmk.googlesyndication.com -m [email protected] --agree-tos
    
                              
                            
  7. 嘗試自動更新 SSL 證書。

                              
                                $ sudo certbot renew --dry-run
    
                              
                            
  8. 重新啟動 Apache 以保存更改。

                              
                                $ sudo service apache2 restart
    
                              
                            

5.配置Checkmk服務器

  1. 使用您首選的桌面網絡瀏覽器,訪問您的 Checkmk 站點。

                              
                                https://checkmk.googlesyndication.com/myvpc_site
    
                              
                            
  2. 使用管理員用戶名登錄 cmkadmin 以及安裝程序生成的隨機密碼。

  3. 在 Checkmk 主 Web 面板中,單擊環境在左側導航菜單中。
  4. 搜索並點擊用戶的子菜單選項。
  5. 點擊鉛筆圖標編輯管理員用戶信息。
  6. 電子郵件地址農村。
  7. 導航到安全並在驗證字段。
  8. 點擊存錢並找到1 改變右上角的橙色警告以激活更改。
  9. 要創建其他用戶帳戶,請單擊添加用戶並填寫新的用戶表格。

請注意,您可以刪除 cmkadmin 創建新管理員時的用戶帳戶,但不應刪除 automation 與自動化工具一起使用的用戶。

6.配置監控代理

Checkmk 使用監控代理來發送和接收有關所有系統服務的重要信息。 您可以直接從 Checkmk 主服務器下載監控代理,並將其安裝在 VPC 網絡中的目標客戶端上。

  1. 轉到 Checkmk Web 儀表板並單擊環境.
  2. 選擇您的Linux在下面代理子菜單選項。
  3. 找出 check-mk-agent-<version>.noarch.rpm 文件,右鍵單擊並選擇複製網址從瀏覽器選項列表中將其複製到剪貼板。
  4. 訪問您的 Rocky Linux 8 服務器以安裝該文件。

7. 在 Rocky Linux 上設置 Checkmk 監控

  1. SSH 並以非 root sudo 用戶身份登錄 Rocky Linux 8 服務器。

                              
                                $ ssh [email protected]
    
                              
                            
  2. 從您的主 Checkmk 服務器下載 Checkmk 監控代理。

                              
                                $ wget https://checkmk.googlesyndication.com/myvpc-site/check_mk/agents/check-mk-agent-2.1.0p6-1.noarch.rpm
    
                              
                            
  3. 安裝 Checkmk 代理程序包。

                              
                                $ sudo dnf install check-mk-agent-2.1.0p6-1.noarch.rpm 
    
                              
                            
  4. 驗證是否安裝了代理。

                              
                                $ check_mk_agent
    
                              
                            

    您的輸出應類似於:

                              
                                 <<<job>>>
     <<<chrony:cached(1658403210,30)>>>
     Reference ID    : 94253D12 (2001:19f0:200:144b::1000)
     Stratum         : 3
     Ref time (UTC)  : Thu Jul 21 11:31:06 2022
     System time     : 0.000072729 seconds fast of NTP time
     Last offset     : +0.000043839 seconds
     RMS offset      : 0.000704368 seconds
     Frequency       : 18.389 ppm fast
     Residual freq   : +0.001 ppm
     Skew            : 0.017 ppm
     Root delay      : 0.081640661 seconds
     Root dispersion : 0.009934294 seconds
     Update interval : 1030.7 seconds
     Leap status     : Normal
     <<<local:sep(0)>>>
    
                              
                            

配置 Rocky Linux 防火牆

默認情況下,Firewalld 在 Rocky Linux 上處於活動狀態。 按照以下步驟允許 Checkmk 代理在默認端口上接收監控請求 6556 通過 VPC 網絡。

  1. 創建一個新區域。 代替 myVPC 用你最喜歡的標籤。

                              
                                $ sudo firewall-cmd --new-zone=myVPC --permanent
    
                              
                            
  2. 將區域分配給 VPC 網絡。

                              
                                $ sudo firewall-cmd --zone=myVPC --add-source=10.24.96.0/20 --permanent
    
                              
                            
  3. 允許 Checkmk 代理端口 6556 在該區域。

                              
                                $ sudo firewall-cmd --zone=myVPC --add-port=6556/tcp --permanent
    
                              
                            
  4. 重新啟動防火牆以保存更改。

                              
                                $ sudo firewall-cmd --reload
    
                              
                            

8. 將 Rocky Linux 主機添加到 Checkmk 服務器

  1. 在 Web 瀏覽器中,訪問 Checkmk 服務器。

                              
                                https://checkmk.googlesyndication.com/myvpc_site
    
                              
                            
  2. 導航環境並點擊主機.

  3. 點擊將主機添加到監控.
  4. 在裡面主機名字段,輸入您的第一個監控代理主機名。
  5. 槓桿IPV4 地址並輸入您的 Rocky Linux VPC 地址。
  6. 點擊保存並轉到服務設置掃描服務器上的所有可用服務。
  7. 所有可用服務都已準備好監控,請單擊全都接受來拯救宿主。

9.在Windows Server上配置Checkmk監控

  1. 使用遠程桌面協議 (RDP) 以管理用戶身份連接到遠程 Vultr Windows 服務器。
  2. 打開 Microsoft Edge Windows 開始菜單中的 Web 瀏覽器。
  3. 在 URL 欄中輸入 Checkmk 服務器的地址。

                              
                                https://checkmk.googlesyndication.com/myvpc_site
    
                              
                            
  4. 使用您的管理員用戶名和密碼登錄 Checkmk 服務器。

  5. 導航環境並點擊視窗在裡面代理子菜單。
  6. 在裡面打包代理部分,點擊檢查mkagent.msi下載軟件包。
  7. 打開 Checkmk 包以將其安裝在您的服務器上。
  8. 在安裝嚮導中,單擊下一個接受產品許可協議,選擇乾淨安裝並按照所有提示完成 Windows Server 上的安裝。
  9. 從 Windows 開始菜單,打開窗口系統符號通過擴展窗戶系統簇。
  10. 輸入以下命令以驗證 Checkmk 代理是否已正確安裝。

                              
                                > "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" status
    
                              
                            

    您的輸出應如下所示:

                              
                                 Version: 2.1.0p8
     Agent socket: operational
     IP allowlist: any
     Legacy mode: enabled
     No connections
    
                              
                            
  11. Checkmk 代理創建所有必要的防火牆規則。 打開命令提示符並 ping Checkmk 服務器的 VPC 地址以驗證您是否與服務器建立了連接。

                              
                                > ping 192.0.2.1
    
                              
                            
  12. 要將 Checkmk 代理僅限於 VPC 連接,請轉至帶防火牆的 Windows Defender在下面Windows 管理工具開始菜單中的組。

  13. 點擊參賽規則在左側導航菜單中。
  14. 找出代理檢查標尺,右鍵單擊並選擇特性的名單。
  15. 導航先進的在打開的屬性窗口中。
  16. 取消選中上市,領域並保持私人的檢查。
  17. 點擊好的保存更改。

10. 將 Windows 主機添加到 Checkmk 服務器

  1. 從 Windows 開始菜單打開 Microsoft Edge。
  2. 訪問您的 Checkmk 服務器。

                              
                                https://checkmk.googlesyndication.com/myvpc_site
    
                              
                            
  3. 導航回主機並配置 Windows Server Checkmk 代理。

  4. 輸入你最喜歡的主機名適用於 Windows 服務器。
  5. 槓桿IPV4 地址並輸入 Windows Server VPC 網絡地址。
  6. 點擊保存並轉到服務設置完成配置並配置 Checkmk 代理以將數據發送到服務器。
  7. 打開 Windows 命令提示符。
  8. 輸入以下命令以建立與服務器的連接。 代替 windows-host 使用您的真實主機名, 192.0.2.1 Checkmk 服務器的 VPC 網絡地址,以及 strong-password 與真實的 cmkadmin 之前設置的密碼。

                              
                                "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" ^ register ^ --hostname windows-host ^ --server 192.0.2.1 --site myvpc_site ^ --user cmkadmin --password strong-password
    
                              
                            

    您的輸出應類似於:

                              
                                 Attempting to register at 192.0.2.1:8000/myvpc_site. Server certificate details:
    
     PEM-encoded certificate:
     -----BEGIN CERTIFICATE-----
     MIIC8TCCAdmgAwIBAgIUcNQ97zkUr3VZO145hYSSzwsoIvUwDQYJKoZIhvcNAQEL
     BQAwJTEjMCEGA1UEAwwaU2l0ZSAnbXl2cGNfc2l0ZScgbG9jYWwgQ0EwIBcNMjIw
     NzIxMTMxOTA0WhgPMzAyMDExMjExMzE5MDRaMBUxEzARBgNVBAMMCm15dnBjX3Np
     vIIo8dYGwdwZBeresgWIgJuWVdSbdq4CuzLd+U+o2oYY4SmQdQ==
     -----END CERTIFICATE-----
    
     Issued by:
         Site 'myvpc_site' local CA
     Issued to:
         myvpc_site
     Validity:
         From Thu, 21 Jul 2022 13:19:04 +0000
         To   Tue, 21 Nov 3020 13:19:04 +0000
    
     Do you want to establish this connection? [Y/n]
     >
    
                              
                            
  9. 進入 Y 建立與 Checkmk 服務器的連接。 如果連接失敗,請確保端口 8000 在主服務器的防火牆中打開,或確認您創建了主持人在開始代理連接之前在 Checkmk 服務器上。

  10. 訪問 Checkmk Web 界面並單擊重新掃描關於他主機服務頁。
  11. 掃描完成後,單擊全都接受監視 Windows 服務器上的所有服務。
  12. 點擊橙色變化右上角的警告並選擇在選定網站上激活激活 Checkmk 服務器上的所有主機。
  13. 要監控所有註冊的主機和服務,請訪問展示並點擊所有主機在下面概述子菜單。

結論

您已在單個 Vultr 虛擬私有云 (VPC) 上成功安裝 Checkmk 並配置服務器監控。 當受監控的服務器位於同一專用網絡上時,服務器監控速度快且延遲低。 也可以通過公共 Internet 監視其他服務器,儘管延遲會更高。

要跟踪主 Checkmk 服務器上的服務,請安裝 Checkmk 代理並添加具有地址的主機 127.0.0.1 到您的 Checkmk Web 界面,如本文中所述。

更多信息

有關如何使用 Checkmk 和監控服務器上的更多服務的更多信息。 請訪問以下文章。

文章標題 名稱(可選) 電子郵件(可選) 描述

發送建議

相關文章