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

Logging 代理程式會從您的 VM 執行個體與所選第三方軟體套件,將記錄檔串流至 Cloud Logging。最佳做法是在所有的 VM 執行個體上執行 Logging 代理程式。

Compute Engine 和 Amazon Elastic Compute Cloud (EC2) 的 VM 映像檔不包含 Logging 代理程式,因此您必須完成這些步驟才能在這些執行個體上安裝代理程式。代理程式會在 Linux 與 Windows 中執行。

如果您的 VM 在 Google Kubernetes EngineApp Engine 中執行,代理程式已包含在 VM 映像檔中,因此您可以略過本頁面。

事前準備

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

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

    • 安裝 Logging 代理程式時,至少須具備 250 MiB 的記憶體;不過我們建議您最好備有 1 GiB 的記憶體。

    此外,請確認您的 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-logging-agent-repo.sh
    sudo bash add-logging-agent-repo.sh --also-install
    

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

Windows

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

  2. 在 PowerShell 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 PowerShell 終端機。

  3. 執行下列 PowerShell 指令:

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-22.exe", "${env:UserProfile}\StackdriverLogging-v1-22.exe")
    & "${env:UserProfile}\StackdriverLogging-v1-22.exe"
    

安裝特定版本的代理程式

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

Linux

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

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

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

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

    執行 add-logging-agent-repo.sh 指令碼時,您也可以設定下列標記:

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

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

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

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

    2. 對於實際工作環境,您可能會想將版本固定為主要版本,以免安裝可能包含回溯不相容性變更的主要版本。如要將檔案固定在主要版本,請執行:

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

      例如,如要將代理程式釘選至 1.x.x,請執行以下指令:

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

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

    上述萬用套件安裝的設定必須重新啟動才能生效。

    sudo service google-fluentd restart
    

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

  • 如要確認代理程式是否正常運作,請執行以下指令:

    sudo service google-fluentd status
    

    代理人的狀態應為「OK」

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

    tail /var/log/google-fluentd/google-fluentd.log
    

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

Windows

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

  2. 在 PowerShell 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 PowerShell 終端機。

    1. 執行下列 PowerShell 指令:

      (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-22.exe", "${env:UserProfile}\StackdriverLogging-v1-22.exe")
      & "${env:UserProfile}\StackdriverLogging-v1-22.exe"
      

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

    https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-22.exe

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

    & "${env:UserProfile}\StackdriverLogging-v1-22.exe" /S
    

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

    & "${env:UserProfile}\StackdriverLogging-v1-22.exe" /S /D="C:\Stackdriver\Logging\"
    

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

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

使用 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 中執行的指令。

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

選用工作

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

啟用結構化記錄功能

在 Linux VM 上執行安裝指令碼時,如果有 --also-install 標記,指令碼預設會安裝 google-fluentd-catch-all 套件。如要切換至結構化記錄,請完成下列步驟。

  1. 備份 /etc/google-fluentd/config.d/ 的所有本機變更。

  2. 視 Linux 發行版而定,執行下列其中一個指令:

    • YUM:

      sudo yum remove -y google-fluentd-catch-all-config
      sudo yum install -y google-fluentd-catch-all-config-structured
      sudo service google-fluentd restart
      
    • APT:

      sudo apt-get remove -y google-fluentd-catch-all-config
      sudo apt-get install -y google-fluentd-catch-all-config-structured
      sudo service google-fluentd restart
      

如要瞭解結構化記錄,請參閱結構化記錄指南。

設定記錄代理程式

代理程式已預先設定,可監控特定的已知記錄位置。如果是 Linux 系統,這些位置會在 google-fluentd-catch-all-config 套件中說明,且會由安裝指令碼自動提取。在 Windows 上,代理程式預設會監控 Windows 事件記錄。

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

設定 HTTP Proxy

如果您使用 HTTP Proxy 將要求轉送至記錄和監控 API,請執行下列操作:

Linux

  1. 編輯下列設定檔 (如果尚未建立檔案,請先建立檔案):

     /etc/default/google-fluentd
    
  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 google-fluentd 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
    

判斷代理程式版本

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

AMAZON LINUX AMI / CENTOS / RHEL

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

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' google-fluentd google-fluentd-catch-all-config google-fluentd-catch-all-config-structured

DEBIAN / UBUNTU

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

dpkg-query --show --showformat '${Package} ${Version} ${Architecture} ${Status}\n' google-fluentd google-fluentd-catch-all-config google-fluentd-catch-all-config-structured

SLES / SUSE

在 SUSE 上執行下列指令:

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' google-fluentd google-fluentd-catch-all-config google-fluentd-catch-all-config-structured

Windows

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

  2. 在 PowerShell 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 PowerShell 終端機。

  3. 執行下列 PowerShell 指令:

     reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\GoogleStackdriverLoggingAgent\ /v Version
    

重新啟動代理程式

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

Linux

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


     sudo service google-fluentd restart

重新啟動 Logging 代理程式之後,您可能會想要傳送測試訊息

Windows

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

  2. 在 PowerShell 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 PowerShell 終端機。

  3. 執行下列 PowerShell 指令:

Restart-Service -Name StackdriverLogging

升級代理程式

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

Linux

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

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

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

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

Windows

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

列出所有服務專員版本

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

AMAZON LINUX AMI / CENTOS / RHEL

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

sudo yum list --showduplicates google-fluentd

DEBIAN / UBUNTU

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

sudo apt-cache madison google-fluentd

SLES / SUSE

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

sudo zypper search -s google-fluentd

Windows

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

解除安裝代理程式

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

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

Linux

執行下列指令:

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

如要除瞭解除安裝代理程式之外,還要移除存放區,請在先前的指令後方附加 --remove-repo

Windows

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

沒有遠端套件存取權的 VM

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

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

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

後續步驟