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

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

本指南說明如何在 Compute Engine 和 Amazon Elastic Compute Cloud (EC2) VM 上,安裝 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 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 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
    

    代理人的狀態應為「OK」

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

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

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

Windows

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

  2. 在 PowerShell 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 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」(VM 執行個體) 資訊主頁

前往「VM Instances」(VM 執行個體) 資訊主頁

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

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

「監控」中的「VM 執行個體」資訊主頁會顯示代理程式狀態。

「Agent」欄會回報以下值:

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

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

    將滑鼠游標懸停在表格中的作業套件代理程式指標上,即可查看作業套件代理程式版本的相關資訊。如果您執行的是舊版,系統也會建議您升級代理程式。

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

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

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

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

  • 不適用:這個 VM 不是支援執行代理程式的平台。

  • VM 已停止:VM 未執行,因此無法得知代理程式狀態。

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

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

您也可以針對特定 VM 在「VM Details」頁面中安裝或更新作業套件代理程式。

盡可能使用作業套件代理程式 OS 政策安裝代理程式。詳情請參閱「 管理受 Ops Agent OS 政策涵蓋的 VM」。並非所有作業系統的所有版本都支援 Ops Agent OS 政策。在這種情況下,點選「Install/Update Ops Agent」即可取得一系列可在 Cloud Shell 中執行的指令。

作業套件代理程式預設會同時收集指標和記錄檔。您可以 設定作業套件代理程式來變更這項預設行為。

選用工作

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

設定監控代理程式

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

設定 HTTP Proxy

如果您使用 HTTP Proxy 將要求轉送至記錄和監控 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 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 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] (解除安裝程式)。您應會在可解除安裝的程式清單中看到監控代理程式。您也可以從安裝監控服務專員的目錄執行 uninstall.exe

沒有遠端套件存取權的 VM

安裝 Monitoring 代理程式需要存取遠端套件存放區,其中涵蓋代理程式套件與其在 Linux 上的依附元件。

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

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