Logging 代理程式會從您的 VM 執行個體與所選第三方軟體套件,將記錄檔串流至 Cloud Logging。最佳做法是在所有的 VM 執行個體上執行 Logging 代理程式。
Compute Engine 的 VM 映像檔不包含 Logging 代理程式,因此您必須完成這些步驟,才能在這些執行個體上安裝代理程式。代理程式會在 Linux 與 Windows 中執行。
如果您的 VM 在 Google Kubernetes Engine 或 App Engine 中執行,代理程式已包含在 VM 映像檔中,因此您可以略過本頁面。
事前準備
如要安裝代理程式,請確保您具有以下項目:
- Google Cloud 專案中支援的 VM 執行個體。 - 安裝 Logging 代理程式時,至少須具備 250 MiB 的記憶體;不過我們建議您最好備有 1 GiB 的記憶體。
 - 此外,請確認 VM 執行的是支援的作業系統。 
- 授權與 Cloud Logging 或 Cloud Monitoring 通訊的 VM 執行個體憑證。根據預設,Compute Engine VM 執行個體通常已配置正確憑證。如果您有以下情況,可能就不具備適當憑證,必須完成「授權 Logging 代理程式」程序: - 您用來執行的 Compute Engine 執行個體非常舊,或當初建立 Compute Engine 執行個體時並沒有預設憑證。
 - 如要檢查您是否具備正確憑證,請執行驗證 Compute Engine 憑證的程序。 
- 如要查看定價資訊,請參閱「Google Cloud Observability 定價」。 
- 如果您使用的 VM 無法存取遠端套件存放區,請參閱「沒有遠端套件存取權的 VM」一節瞭解詳情。 
透過指令列安裝代理程式
如要使用指令列安裝代理程式,請按照下列操作說明進行。
安裝最新版代理程式
如要安裝最新版代理程式,請完成下列步驟。
Linux
- 使用 SSH 或類似工具開啟連至 VM 執行個體的終端機連線,並確認您有 - sudo存取權。
- 變更為您有寫入權限的目錄,例如主目錄。 
- 使用下列指令下載並執行代理程式安裝指令碼: - curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh sudo bash add-logging-agent-repo.sh --also-install- 安裝完成後,代理程式會自動啟動。 
Windows
- 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。 
- 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,開啟具有管理員權限的 PowerShell 終端機。 
- 執行下列 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
- 使用 SSH 或類似工具開啟連至 VM 執行個體的終端機連線,並確認您有 - sudo存取權。
- 變更為您有寫入權限的目錄,例如主目錄。 
- 下載代理程式安裝指令碼: - 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:只會觸發指令碼執行的試執行,並列印應執行的指令。
 - 詳情和使用範例請參閱指令碼註解。 
- 新增代理程式的套件存放區並安裝代理程式: - 如要列出可用的代理程式版本,請參閱「列出所有代理程式版本」。 
- 在實際工作環境中,您可能想固定使用主要版本,避免安裝可能包含回溯不相容變更的主要版本。如要固定在主要版本,請執行: - 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.*.*
- 如要安裝特定版本的代理程式,請執行下列指令: - sudo bash add-logging-agent-repo.sh --also-install \ --version=MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION
 
- 重新啟動代理程式服務 - 您必須重新啟動,上述一應俱全的套件安裝的設定才會生效。 - sudo service google-fluentd restart
安裝指令碼成功執行後,即可加以刪除。
- 如要確認代理程式運作狀況符合預期,請執行下列指令: - sudo service google-fluentd status- 代理程式的狀態應為「確定」。 
- 您也可以檢查記錄,確保沒有錯誤: - tail /var/log/google-fluentd/google-fluentd.log
如果您無法順利安裝,請參閱疑難排解頁面。
Windows
- 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。 
- 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,開啟具有管理員權限的 PowerShell 終端機。 - 執行下列 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\Google Cloud Observability\"- 安裝程式成功完成作業後,即可加以刪除。 - 如果您無法順利安裝,請參閱疑難排解頁面。 
使用 Google Cloud 控制台查看代理程式資訊
您可以在預先設定的 Monitoring「VM Instances」(VM 執行個體) 資訊主頁上,查看代理程式的狀態資訊。如要前往這個資訊主頁,請按照下列步驟操作:
前往 Google Cloud 控制台的「VM Instances dashboard」(VM 執行個體資訊主頁) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
資訊主頁「Inventory」(資產) 分頁的「List」(清單) 檢視畫面會列出所有 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 中執行的指令。
作業套件代理程式預設會收集指標和記錄檔。如要變更這項預設行為,請 設定作業套件代理程式。
選用工作
本節將說明如何執行常見維護工作。
啟用結構化記錄
在 Linux VM 上執行安裝指令碼時,如果存在 --also-install 旗標,指令碼預設會安裝 google-fluentd-catch-all 套件。如要改用結構化記錄,請完成下列步驟。
- 備份對「 - /etc/google-fluentd/config.d/」所做的任何本機變更。
- 根據 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 將要求 Proxy 至 Logging 和 Monitoring API,請執行下列操作:
Linux
- 編輯下列設定檔 (如果檔案不存在,請建立): - /etc/default/google-fluentd
- 在檔案中新增下列內容: - 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.
- 在 VM 執行個體上執行下列指令,重新啟動代理程式: - sudo service google-fluentd restart
Windows
- 如果您使用 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 169.254.169.254 /m
判斷代理程式版本
如要判斷系統上的 Logging 代理程式版本,請在 VM 執行個體上執行下列指令:
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
- 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。 
- 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,開啟具有管理員權限的 PowerShell 終端機。 
- 執行下列 PowerShell 指令: - reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\GoogleStackdriverLoggingAgent\ /v Version
重新啟動代理程式
您必須重新啟動 Logging 代理程式,才能擷取設定檔中的變更。如要重新啟動代理程式,請使用下列操作說明。
Linux
在您的執行個體上執行下列指令:
     sudo service google-fluentd restart
重新啟動 Logging 代理程式之後,您可能會想要傳送測試訊息。
Windows
- 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。 
- 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,開啟具有管理員權限的 PowerShell 終端機。 
- 執行下列 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 上安裝」相關說明安裝最新代理程式。安裝程式會提示您解除安裝代理程式的先前版本。
列出所有代理程式版本
如要列出可用的代理程式版本,請執行下列指令:
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 代理程式。您也可以從安裝 Logging 代理程式的目錄執行 uninstall.exe。
沒有遠端套件存取權的 VM
安裝 Logging 代理程式需要存取遠端套件存放區,包括代理程式套件與其 (Linux 上的) 依附元件。
如果您使用 VPC-SC 或私人網路,網路設定也可能會影響您從上游存放區安裝代理程式依附元件的能力。您可以使用私人 Google 存取權存取代理程式套件。您可以按照「啟用私人 Google 存取權」一文的說明進行設定。
如果 VM 主機的安全性政策拒絕存取遠端套件存放區,建議您建立已預先安裝代理程式的自訂 VM 映像檔,並停用該映像檔中的套件管理功能。
後續步驟
- 如要瞭解如何查看記錄,請參閱「使用記錄檔探索工具」。