在個別 VM 中安裝 Cloud Monitoring 代理程式

Cloud Monitoring 代理程式會收集 VM 執行個體的系統和應用程式指標,並傳送至 Monitoring。您也可以設定 Monitoring 代理程式,藉此監控第三方應用程式。

本指南說明如何在 Compute Engine 和 Amazon Elastic Compute Cloud (EC2) VM 上,安裝 Monitoring 適用的 Cloud Monitoring 代理程式。使用代理程式是選擇性操作,但建議您對 Compute Engine VM 執行個體執行此操作。對於這些 VM,Monitoring 可在沒有代理程式的情況下,從 VM 的管理程序存取部分指標,包括 CPU 使用率、部分磁碟流量指標、網路流量和運作時間。使用代理程式是 Amazon Elastic Compute Cloud (EC2) VM 的必要條件。

在執行 Microsoft Windows 的執行個體上,代理程式會記錄 CPU 使用率、記憶體、分頁檔與磁碟區使用情形。如果您執行 IIS 或 SQL Server,根據預設,代理程式會從這些服務收集指標。

事前準備

如要安裝代理程式,請確保您具有以下項目:

  • 在Google Cloud 專案或 Amazon Web Services (AWS) 帳戶中,具備支援的 VM 執行個體

    • 建議至少使用 250 MiB 的常駐 (RSS) 記憶體來執行 Monitoring 代理程式。

    此外,請確認 VM 執行的是支援的作業系統

  • 授權與 Cloud Logging 或 Cloud Monitoring 通訊的 VM 執行個體憑證。根據預設,Compute Engine VM 執行個體通常已配置正確憑證。如果您有以下任何一種情況,可能就不具備適當憑證,必須完成授權監控代理程式程序:

    • 執行 AWS EC2 VM 執行個體:如果是此情形,您必須先在 VM 上安裝授權憑證,才能安裝代理程式。

    • 您用來執行的 Compute Engine 執行個體非常舊,或當初建立 Compute Engine 執行個體時並沒有預設憑證。

    如要檢查您是否具備正確憑證,請執行驗證 Compute Engine 憑證的程序。

  • 如要查看定價資訊,請參閱「Google Cloud Observability 定價」。

  • 如果您使用的 VM 無法存取遠端套件存放區,請參閱「沒有遠端套件存取權的 VM」一節瞭解詳情。

透過指令列安裝代理程式

如要使用指令列安裝代理程式,請按照下列操作說明進行。

安裝最新版代理程式

如要安裝最新版代理程式,請完成下列步驟。

Linux

  1. 使用 SSH 或類似工具開啟連至 VM 執行個體的終端機連線,並確認您有 sudo 存取權。

  2. 變更為您有寫入權限的目錄,例如主目錄。

  3. 使用下列指令下載並執行代理程式安裝指令碼:

    curl -sSO https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh
    sudo bash add-monitoring-agent-repo.sh --also-install
    

    安裝完成後,代理程式會自動啟動。

Windows

  1. 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。

  2. 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,開啟具有管理員權限的 PowerShell 終端機。

  3. 執行下列 PowerShell 指令:

    (New-Object Net.WebClient).DownloadFile("https://repo.stackdriver.com/windows/StackdriverMonitoring-GCM-46.exe", "${env:UserProfile}\StackdriverMonitoring-GCM-46.exe")
    & "${env:UserProfile}\StackdriverMonitoring-GCM-46.exe"
    

安裝特定版本的代理程式

如要安裝特定版本的代理程式,請完成下列步驟。

Linux

  1. 使用 SSH 或類似工具開啟連至 VM 執行個體的終端機連線,並確認您有 sudo 存取權。

  2. 變更為您有寫入權限的目錄,例如主目錄。

  3. 下載代理程式安裝指令碼:

    curl -sSO https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh
    

    執行 add-monitoring-agent-repo.sh 腳本時,您也可以設定下列標記:

    • --verbose:在指令碼執行期間啟用詳細記錄。
    • --also-install:新增代理程式套件存放區後,安裝代理程式。
    • --version:設定指令碼要安裝的代理程式版本。 如需版本資訊,請參閱「列出所有代理程式版本」。
    • --uninstall:解除安裝代理程式。
    • --remove-repo:在安裝或解除安裝代理程式後,移除對應的代理程式套件存放區。
    • --dry-run:只會觸發指令碼執行的試執行作業,並列印應執行的指令。

    詳情和使用範例請參閱指令碼註解。

  4. 新增代理程式的套件存放區,然後安裝代理程式:

    1. 如要列出可用的代理程式版本,請參閱「列出所有代理程式版本」。

    2. 在實際工作環境中,您可能想固定使用主要版本,避免安裝可能包含回溯不相容變更的主要版本。如要固定在主要版本,請執行:

      sudo bash add-monitoring-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.*.*
      

      舉例來說,如要將代理程式固定在 6.x.x 版,請執行:

      sudo bash add-monitoring-agent-repo.sh --also-install \
        --version=6.*.*
      
    3. 如要安裝特定版本的代理程式,請執行下列指令:

      sudo bash add-monitoring-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION
      
  5. 啟動代理程式服務

    sudo service stackdriver-agent start
    

安裝指令碼成功執行後,即可加以刪除。

  • 如要確認代理程式運作狀況符合預期,請執行下列指令:

    sudo service stackdriver-agent status
    

    代理程式的狀態應為「確定」

  • 您也可以檢查記錄,確保沒有錯誤:

    sudo grep collectd /var/log/{syslog,messages} | tail
    

如果您無法順利安裝,請參閱疑難排解頁面。

Windows

  1. 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。

  2. 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,開啟具有管理員權限的 PowerShell 終端機。

    1. 執行下列 PowerShell 指令:

      (New-Object Net.WebClient).DownloadFile("https://repo.stackdriver.com/windows/StackdriverMonitoring-GCM-46.exe", "${env:UserProfile}\StackdriverMonitoring-GCM-46.exe")
      & "${env:UserProfile}\StackdriverMonitoring-GCM-46.exe"
      

    您也可以瀏覽至下列網址來下載並執行代理程式的安裝程式:

    https://repo.stackdriver.com/windows/StackdriverMonitoring-GCM-46.exe

    如要以無訊息方式安裝代理程式,請在叫用安裝程式時附加 /S 選項:

    & "${env:UserProfile}\StackdriverMonitoring-GCM-46.exe" /S
    

    在「無訊息」模式中,使用 /D 選項指定安裝目錄,例如:

    & "${env:UserProfile}\StackdriverMonitoring-GCM-46.exe" /S /D="C:\Stackdriver\Monitoring\"
    

    安裝程式成功完成作業後,即可加以刪除。

    如果您無法順利安裝,請參閱疑難排解頁面。

使用 Google Cloud 控制台查看代理程式資訊

您可以在預先設定的 Monitoring VM 執行個體資訊主頁上,查看代理程式的狀態資訊。如要前往這個資訊主頁,請按照下列步驟操作:

前往 Google Cloud 控制台的「VM Instances dashboard」(VM 執行個體資訊主頁) 頁面

前往 VM 執行個體資訊主頁

如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

資訊主頁「Inventory」(資產) 分頁的「List」(清單) 檢視畫面會列出所有 VM,並包含代理程式的狀態欄,如下列螢幕截圖所示:

Monitoring 中的「VM Instances」(VM 執行個體) 資訊主頁會顯示代理程式的狀態。

「代理商」欄會顯示下列值:

  • 未偵測到:您未安裝代理程式,或代理程式未執行。如果不確定是否已安裝代理程式,可以查詢已安裝的版本。如果您已安裝代理程式,可以重新啟動代理程式

  • 作業套件代理程式:您正在執行作業套件代理程式。 如果項目旁邊沒有綠色勾號,表示系統根據偵測到的 VM 作業系統,判斷有可用的代理程式升級。

    將游標懸停在表格中的作業套件代理程式指標上時,系統會顯示作業套件代理程式版本資訊。如果您執行的版本較舊,系統也會建議您升級代理程式。

  • 待處理:正在安裝或升級作業套件代理程式。

  • 代理程式安裝失敗:無法安裝作業套件代理程式。

  • 未收集遙測資料:Ops Agent 安裝成功,但代理程式尚未傳送遙測資料。

  • 舊版代理程式:您正在執行舊版 Monitoring 或 Logging 代理程式。如要瞭解如何改用作業代理程式,請參閱「從舊版代理程式遷移至作業代理程式」。

  • 不適用:這部 VM 不支援執行代理程式。

  • VM 已停止:VM 未執行,因此代理程式狀態不明。

如要安裝作業套件代理程式,請按照下列步驟操作:

  • 選取要安裝代理程式的 VM 執行個體。
  • 在「執行個體」表格中,按一下「安裝/更新 Ops Agent」選項。

您也可以從特定 VM 的「VM Details」(VM 詳細資料) 頁面安裝或更新作業套件代理程式。

如果可以,系統會使用作業套件代理程式 OS 政策安裝代理程式。詳情請參閱「 管理受作業套件代理程式 OS 政策控管的 VM」。並非所有作業系統版本都支援 Ops Agent OS 政策。在本例中,按一下「Install/Update Ops Agent」(安裝/更新作業套件代理程式),系統會提供一系列要在 Cloud Shell 中執行的指令。

作業套件代理程式預設會收集指標和記錄檔。如要變更這項預設行為,請 設定作業套件代理程式

選用工作

本節將說明如何執行常見維護工作。

設定監控代理程式

如要調整代理程式設定,請參閱「設定 Monitoring 代理程式」。

設定 HTTP Proxy

如果您使用 HTTP Proxy 將要求 Proxy 至 Logging 和 Monitoring API,請執行下列操作:

Linux

  1. 編輯下列設定檔 (如果檔案不存在,請建立):

    • 如果是代理程式版本 6.0.0 以上,請編輯:

      /etc/default/stackdriver-agent
      
    • 如果是 6.0.0 之前的代理程式版本,請編輯適用於您作業系統的檔案:

      如果是 Debian 和 Ubuntu,請編輯:

      /etc/default/stackdriver-agent
      

      如果是 CentOS 和 SLES,請編輯:

      /etc/default/stackdriver-collectd
      
  2. 在檔案中新增下列內容:

     export http_proxy="http://proxy-ip:proxy-port"
     export https_proxy="http://proxy-ip:proxy-port"
     export no_proxy=169.254.169.254  # Skip proxy for the local Metadata Server.
    
  3. 在 VM 執行個體上執行下列指令,重新啟動代理程式:

     sudo service stackdriver-agent restart
    

Windows

  1. 如果您使用 HTTP Proxy,請從管理員命令提示字元執行下列指令。這會設定 HTTP_PROXYHTTPS_PROXY 環境變數,讓代理程式可以使用傳出 HTTPS 傳送資料:

    setx HTTP_PROXY http://proxy-ip:proxy-port /m
    setx HTTPS_PROXY http://proxy-ip:proxy-port /m
    setx no_proxy 169.254.169.254 /m
    

判斷代理程式版本

如要判斷系統中 Monitoring 代理程式的版本,請在您的 VM 執行個體上執行下列指令:

AMAZON LINUX AMI / CENTOS / RHEL

在 Amazon Linux、Red Hat 或 CentOS Linux 上執行下列指令:

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' stackdriver-agent

DEBIAN / UBUNTU

在 Debian 或 Ubuntu 上執行下列指令:

dpkg-query --show --showformat '${Package} ${Version} ${Architecture} ${Status}\n' stackdriver-agent

SLES / SUSE

在 SUSE 上執行下列指令:

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' stackdriver-agent

Windows

目前,無法判斷在 Windows 上執行的 Monitoring 代理程式版本。

重新啟動代理程式

您必須重新啟動 Monitoring 代理程式,才能擷取設定檔中的變更。如要重新啟動代理程式,請使用下列操作說明。

Linux

在您的執行個體上執行下列指令:


     sudo service stackdriver-agent restart

Windows

  1. 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。

  2. 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,開啟具有管理員權限的 PowerShell 終端機。

  3. 執行下列 PowerShell 指令:

Restart-Service -Name StackdriverMonitoring

升級代理程式

如要將 Monitoring 代理程式升級至最新版本,請按照下列說明操作:

Linux

如要將代理程式升級至最新版本,請執行下列指令:

sudo bash add-monitoring-agent-repo.sh --also-install

如要將代理程式升級至特定主要版本的最新修正版本,請執行下列指令:

sudo bash add-monitoring-agent-repo.sh --also-install \
  --version=MAJOR_VERSION.*.*

Windows

如要升級至最新代理程式版本,請依照本頁面的「在 Windows 上安裝」相關說明安裝最新代理程式。安裝程式會提示您解除安裝代理程式的先前版本。

列出所有代理程式版本

如要列出可用的代理程式版本,請執行下列指令:

AMAZON LINUX AMI / CENTOS / RHEL

列出可用的代理程式版本:

sudo yum list --showduplicates stackdriver-agent

DEBIAN / UBUNTU

列出可用的代理程式版本:

sudo apt-cache madison stackdriver-agent

SLES / SUSE

列出可用的代理程式版本:

sudo zypper search -s stackdriver-agent

Windows

不支援在 Windows 上安裝舊版代理程式。

解除安裝代理程式

如要移除 Monitoring 代理程式及其設定檔,請使用下列操作說明。

解除安裝代理程式後, Google Cloud 主控台最多可能需要一小時才會回報這項變更。

Linux

執行下列指令:

sudo bash add-monitoring-agent-repo.sh --uninstall

(選用) 如要移除存放區並解除安裝代理程式,請在先前的指令中附加 --remove-repo

Windows

在 Windows 控制台中,選擇 [Uninstall a program] (解除安裝程式)。您應會在可以解除安裝的程式清單中看到 Monitoring 代理程式。您也可以從安裝監控代理程式的目錄執行 uninstall.exe

沒有遠端套件存取權的 VM

安裝 Monitoring 代理程式需要存取遠端套件存放區,包括代理程式套件與其 (Linux 上的) 依附元件。

如果您使用 VPC-SC 或私人網路,網路設定也可能會影響您從上游存放區安裝代理程式依附元件的能力。您可以使用私人 Google 存取權存取代理程式套件。您可以按照「啟用私人 Google 存取權」一文的說明進行設定。

如果 VM 主機的安全性政策拒絕存取遠端套件存放區,建議您建立已預先安裝代理程式的自訂 VM 映像檔,並停用該映像檔中的套件管理功能。