在個別 VM 中安裝作業套件代理程式

作業套件代理程式會收集 Compute Engine 執行個體的記錄檔和指標,將記錄檔傳送至 Cloud Logging,並將指標傳送至 Cloud Monitoring。

事前準備

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

在建立 VM 時自動安裝代理程式

詳情請參閱「在建立 VM 時安裝 Ops Agent」。

透過指令列安裝代理程式

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

安裝最新版代理程式

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

Linux

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

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

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

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

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

Windows

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

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

  3. 執行下列 PowerShell 指令:

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.ps1", "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1")
    Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall"
    

安裝特定版本的代理程式

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

Linux

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

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

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

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

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

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

    如需更多資訊和使用範例,請參閱指令碼註解。

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

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

    2. 在正式環境中,您可能需要固定使用主要版本,以免安裝可能包含回溯不相容變更的主要版本。如要固定在主要版本,請執行:

      sudo bash add-google-cloud-ops-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.*.*
      

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

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

      sudo bash add-google-cloud-ops-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION
      

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

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

    sudo systemctl status google-cloud-ops-agent"*"
    

    確認「Logging 代理程式」和「指標代理程式」元件正在執行。

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

Windows

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

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

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

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.ps1", "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1")
    

    執行 add-google-cloud-ops-agent-repo.ps1 腳本時,您也可以設定下列標記:

    • -Verbose:在指令碼執行期間開啟詳細記錄。
    • -AlsoInstall:新增代理程式套件存放區後,安裝代理程式。
    • -Version:設定要安裝的指令碼代理程式版本。如需版本資訊,請參閱「列出所有代理程式版本」。
    • -Uninstall:解除安裝代理程式。
    • -RemoveRepo:在安裝或解除安裝代理程式後,移除對應的代理程式套件存放區。
    • -WhatIf:只會觸發指令碼執行的模擬測試,並列印應執行的指令。
    • -UninstallStandaloneLoggingAgent:解除安裝舊版 Logging 代理程式 (StackdriverLogging)。
    • -UninstallStandaloneMonitoringAgent:解除安裝舊版 Monitoring 代理程式 (StackdriverMonitoring)。

    如需更多資訊和使用範例,請參閱指令碼註解。

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

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

    2. 在正式環境中,您可能需要固定使用主要版本,以免安裝可能包含回溯不相容變更的主要版本。如要固定在主要版本,請執行:

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version MAJOR_VERSION.*.*"
      

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

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version 1.*.*"
      
    3. 如要安裝特定版本的代理程式,請執行下列指令:

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version version-number"
      

      例如:

      Invoke-Expression "${env:UserProfile}\add-google-cloud-ops-agent-repo.ps1 -AlsoInstall -Version 1.0.1"
      

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

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

    Get-Service google-cloud-ops-agent
    

    代理程式的狀態應為 Running。

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

使用 Google Cloud 控制台安裝代理程式

您可以透過 Cloud Monitoring 或 Compute Engine 頁面的Google Cloud 控制台,在一或多個 Compute Engine VM 上安裝作業套件代理程式。

Cloud Monitoring

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

前往「VM Instances」(VM 執行個體)

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

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

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

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

  • 未偵測到:您未安裝代理程式,或代理程式未執行。如果不確定是否已安裝代理程式,可以查詢已安裝的版本。如果已安裝代理程式,可以重新啟動代理程式。 如果已安裝並啟動 Ops Agent,但狀態仍為「未偵測到」,則代理程式可能未正確啟動,或無法傳送指標。

    如要排解啟動問題,請參閱「已安裝代理程式,但未執行」。如要排解指標擷取問題,請參閱「排解資料擷取問題」。一般代理程式診斷指令碼和健康狀態檢查也可能有所幫助。

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

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

  • 待處理:正在安裝或升級 Ops Agent。

    如果代理程式安裝狀態持續顯示「待處理」超過 10 分鐘,可能是套用 Ops Agent OS 政策或啟動代理程式時發生問題。如需疑難排解資訊,請參閱 自動安裝政策的代理程式診斷工具。

  • Ops Agent 安裝失敗:無法安裝 Ops Agent。如需疑難排解資訊,請參閱「代理程式無法安裝」。

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

    新代理程式通常約需 10 分鐘,才能開始傳送遙測資料。你可以重新整理頁面來更新狀態。如果這個狀態持續超過 10 分鐘,可能代表擷取遙測資料時發生問題。詳情請參閱「已安裝代理程式,但未執行」。

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

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

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

如要安裝 Ops Agent,請按照下列步驟操作:

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

您也可以從特定 VM 的「VM Details」(VM 詳細資料)頁面安裝或更新 Ops Agent。

系統會盡可能使用 Ops Agent OS 政策安裝代理程式。詳情請參閱「 管理 Ops Agent OS 政策涵蓋的 VM」。並非所有作業系統版本都支援 Ops Agent OS 政策。在這種情況下,按一下「安裝/更新 Ops Agent」會提供一系列要在 Cloud Shell 中執行的指令。

Ops Agent 預設會收集指標和記錄檔。如要變更這項預設行為,請 設定 Ops Agent。

Compute Engine

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面:

    前往「VM instances」(VM 執行個體) 頁面

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

  2. 按一下要安裝代理程式的 VM 名稱。

  3. 按一下「可觀測性」分頁標籤。

  4. 按一下「安裝 Ops Agent」。

    系統會盡可能使用 Ops Agent OS 政策安裝代理程式。詳情請參閱「 管理 Ops Agent OS 政策涵蓋的 VM」。並非所有作業系統版本都支援 Ops Agent OS 政策。在這種情況下,按一下「安裝/更新 Ops Agent」會提供一系列要在 Cloud Shell 中執行的指令。

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

    如果代理程式安裝狀態持續顯示「待處理」超過 10 分鐘,可能是套用 Ops Agent OS 政策或啟動代理程式時發生問題。如需疑難排解資訊,請參閱 自動安裝政策的代理程式診斷工具。

確認 Ops Agent 正在執行

如要確認 Ops Agent 是否正在執行,請使用下列任一方法:

  • VM 執行個體資訊主頁:這個資訊主頁可讓您查看整個 VM 機群的代理程式安裝狀態。不過,如果 VM 缺少必要的存取權範圍,或相關聯的服務帳戶沒有足夠的 IAM 角色,狀態可能就不準確。

  • gcpdiag: 與「VM 執行個體」資訊主頁相比,gcpdiag 可提供更可靠且健全的代理程式狀態資訊, 驗證代理程式安裝作業和 VM 遙測資料傳輸作業。 使用 gcpdiag 須符合部分必要條件, 但可提供更完善的代理程式狀態監控方式。

使用「VM 執行個體」資訊主頁

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

前往「VM Instances」(VM 執行個體)

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

資訊主頁「商品型錄」分頁的「清單」檢視畫面會列出所有 VM,並包含代理程式的狀態欄。

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

  • 未偵測到:您未安裝代理程式,或代理程式未執行。如果不確定是否已安裝代理程式,可以查詢已安裝的版本。如果已安裝代理程式,可以重新啟動代理程式。 如果已安裝並啟動 Ops Agent,但狀態仍為「未偵測到」,則代理程式可能未正確啟動,或無法傳送指標。

    如要排解啟動問題,請參閱「已安裝代理程式,但未執行」。如要排解指標擷取問題,請參閱「排解資料擷取問題」。一般代理程式診斷指令碼和健康狀態檢查也可能有所幫助。

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

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

  • 待處理:正在安裝或升級 Ops Agent。

    如果代理程式安裝狀態持續顯示「待處理」超過 10 分鐘,可能是套用 Ops Agent OS 政策或啟動代理程式時發生問題。如需疑難排解資訊,請參閱 自動安裝政策的代理程式診斷工具。

  • Ops Agent 安裝失敗:無法安裝 Ops Agent。如需疑難排解資訊,請參閱「代理程式無法安裝」。

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

    新代理程式通常約需 10 分鐘,才能開始傳送遙測資料。你可以重新整理頁面來更新狀態。如果這個狀態持續超過 10 分鐘,可能代表擷取遙測資料時發生問題。詳情請參閱「已安裝代理程式,但未執行」。

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

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

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

使用 gcpdiag

如要瞭解如何使用 gcpdiag,請參閱「使用 gcpdiag 驗證代理程式狀態」。

選用工作

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

設定 HTTP Proxy

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

Linux

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

     /etc/systemd/system.conf
    
  2. 在檔案中新增下列內容:

     DefaultEnvironment="HTTP_PROXY=http://proxy-ip:proxy-port" "HTTPS_PROXY=http://proxy-ip:proxy-port" "NO_PROXY=http://metadata.google.internal"  # Skip proxy for the local Metadata Server.
    
  3. 重新載入環境變數:

     sudo systemctl daemon-reload
    
  4. 在 VM 執行個體上執行下列指令,重新啟動代理程式:

     sudo systemctl restart google-cloud-ops-agent"*"
    

Windows

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

    setx HTTP_PROXY http://proxy-ip:proxy-port /m
    setx HTTPS_PROXY http://proxy-ip:proxy-port /m
    setx no_proxy "metadata.google.internal,169.254.169.254" /m
    

判斷代理程式版本

如要判斷系統上的 Ops Agent 版本,請在 VM 執行個體上執行下列指令:

Google Cloud 控制台

如要查看 VM 上的 Ops Agent 版本,請按照下列步驟操作:

  • 在「Monitoring VM Instances」(監控 VM 執行個體) 頁面的「Instances」(執行個體) 表格中,找到 VM 的項目。如需導覽資訊,請參閱「使用 Google Cloud 控制台安裝代理程式」。

  • 將滑鼠游標懸停在表格項目中的「Ops Agent」指標上。

CENTOS / RHEL

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

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' google-cloud-ops-agent

DEBIAN / UBUNTU

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

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

SLES / SUSE

在 SUSE 上執行下列指令:

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' google-cloud-ops-agent

Windows

在 Windows 上執行下列指令:

googet installed google-cloud-ops-agent

重新啟動代理程式

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

Linux

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


     sudo systemctl restart google-cloud-ops-agent

Windows

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

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

  3. 執行下列 PowerShell 指令:

Restart-Service google-cloud-ops-agent -Force

升級代理程式

如要將 Ops Agent 升級至最新版本,請按照下列說明操作:

Google Cloud 控制台

您可以按照 Cloud Monitoring 安裝說明升級 Ops Agent。詳情請參閱「使用Google Cloud 控制台安裝代理程式」一文。

Linux

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

sudo bash add-google-cloud-ops-agent-repo.sh --also-install

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

sudo bash add-google-cloud-ops-agent-repo.sh --also-install \
  --version=MAJOR_VERSION.*.*

Windows

如要升級至最新代理程式版本,請按照下列步驟操作:

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

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

    Copy-Item -Path "C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml" -Destination "C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.bak"
    
  3. 執行下列 PowerShell 指令,移除已安裝的代理程式,並執行安裝指令:

    googet -noconfirm remove google-cloud-ops-agent
    googet -noconfirm install google-cloud-ops-agent
    

列出所有代理程式版本

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

CENTOS / RHEL

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

sudo yum list --showduplicates google-cloud-ops-agent

DEBIAN / UBUNTU

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

sudo apt-cache madison google-cloud-ops-agent

SLES / SUSE

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

sudo zypper search -s google-cloud-ops-agent

Windows

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

googet available google-cloud-ops-agent

解除安裝代理程式

如要移除 Ops Agent 及其設定檔,請使用下列操作說明。

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

Linux

執行下列指令:

sudo bash add-google-cloud-ops-agent-repo.sh --uninstall

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

Windows

如要解除安裝 Ops Agent,請按照下列步驟操作:

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

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

  3. 執行下列 PowerShell 指令:

    googet -noconfirm remove google-cloud-ops-agent
    

沒有遠端套件存取權的 VM

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

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

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

後續步驟