您可以使用 Ruby 適用的 Cloud Logging 程式庫,或直接使用 Ruby 適用的 Cloud Logging Cloud 用戶端程式庫,將記錄從 Ruby 應用程式寫入至 Cloud Logging。
您不必安裝 Cloud Logging 代理程式,就可以在 Compute Engine VM 執行個體上使用 Ruby 適用的 Cloud Logging 程式庫。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
- 安裝 Ruby 2.2+ 以上版本。
將 Google Cloud Observability Gem 新增至 Gemfile:
使用 Bundler 安裝 Gem:
bundle install
如果您將應用程式部署至 App Engine 或使用 App Engine 特定程式庫,請將您的資源設定為 GAE 應用程式。
如果您在 Compute Engine 上部署應用程式,請將資源設定為 GCE VM 執行個體。
如果您在 Google Kubernetes Engine 上部署應用程式,叢集的記錄設定可決定記錄項目的資源類型。如需關於舊版 Google Cloud Observability 和 Google Cloud Observability Kubernetes Monitoring 解決方案的詳細討論,以及這些選項影響資源類型的方式,請參閱遷移至 Google Cloud Observability Kubernetes Monitoring 一文。
如果您的應用程式直接使用 Cloud Logging API,資源取決於 API 與您的設定。例如,在您的應用程式中,您可以指定資源或使用預設資源。
如果您在記錄檔探索工具中看不到任何記錄,請切換至進階查詢模式並使用空白查詢,以便查看所有記錄項目。
- 如要切換至進階查詢模式,請按一下記錄探索器頂端的選單 (▾),然後選取「Convert to advanced filter」。
- 清除顯示在篩選器方塊中的內容。
- 按一下 [Submit Filter] (提交篩選器)。
您可以檢查個別項目,以識別您的資源。
安裝程式庫
我們提供 Ruby 適用的 Cloud Logging 程式庫,為以 Rack 為基礎的 Ruby 網路架構提供簡單易用的記錄器實作:
啟用程式庫
如果您使用的是 Ruby on Rails,Bundler 會在應用程式啟動時自動將程式庫載入應用程式,並將預設 Rails.logger
設為 Cloud Logging 記錄器的例項。
如果您的網路架構支援 Rack 記錄器,其他 Rack 式應用程式可以使用 Rack 中介軟體將 Rack 記錄器取代為 Cloud Logging 記錄器:
設定程式庫
您可以自訂 Ruby 適用的 Cloud Logging 程式庫行為。如需可能的設定選項清單,請參閱程式庫設定說明。
使用 Cloud Logging 記錄器
啟用 Ruby 適用的 Cloud Logging 程式庫後,您可以在應用程式中使用記錄器:
logger.info "Hello World!"
logger.error "Oh No!"
如要進一步瞭解安裝相關資訊,請參閱 Ruby 適用的 Cloud Logging 程式庫說明文件。您也可以使用問題追蹤工具回報問題。
使用 Cloud Logging 用戶端程式庫寫入記錄
如要瞭解如何直接使用 Ruby 適用的 Cloud Logging 用戶端程式庫,請參閱「Cloud Logging 用戶端程式庫」一文。
在 Google Cloud上執行
應用程式如要使用 Ruby 適用的 Cloud Logging 程式庫寫入記錄,底層資源的服務帳戶必須具備 Logs Writer (roles/logging.logWriter
) IAM 角色。大多數環境都會自動將這個角色指派給預設服務帳戶。 Google Cloud
App Engine
App Engine 會自動啟用 Cloud Logging,而且您的應用程式預設服務帳戶預設會具備寫入記錄項目的 IAM 權限。
詳情請參閱「寫入及查看記錄」。
Google Kubernetes Engine (GKE)
GKE 會自動授予預設服務帳戶「記錄檔寫入者 (roles/logging.logWriter
)」 IAM 角色。如果您使用 Workload Identity Federation for GKE 搭配這個預設服務帳戶,讓工作負載存取特定Google Cloud API,則不需要額外設定。不過,如果您使用 Workload Identity Federation for GKE 搭配自訂 IAM 服務帳戶,請確認自訂服務帳戶具備「記錄寫入者」(roles/logging.logWriter
) 角色。
如有需要,您也可以在建立叢集時使用下列指令新增 logging.write
存取範圍:
gcloud container clusters create example-cluster-name \
--scopes https://www.googleapis.com/auth/logging.write
Compute Engine
使用 Compute Engine VM 執行個體時,請將 cloud-platform
存取範圍新增到每個執行個體。透過Google Cloud 主控台建立新執行個體時,您可在「Create Instance」面板的「Identity and API access」 部分中執行此操作。請使用 Compute Engine 預設服務帳戶或您選擇的其他服務帳戶,並選取「Identity and API access」(身分及 API 存取權) 區段的「Allow full access to all Cloud APIs」(允許所有 Cloud API 的完整存取權)。無論您選取哪個服務帳戶,請確認該帳戶已在Google Cloud 主控台的「IAM & Admin」區段中取得「Logs Writer」角色。
在本機和其他位置執行
如要在 Google Cloud以外使用 Ruby 適用的 Cloud Logging 程式庫,包括在您自己的工作站、資料中心的電腦或其他雲端服務供應商的 VM 執行個體上執行程式庫時,您必須在本機環境中設定應用程式預設憑證 (ADC),以便向 Ruby 適用的 Cloud Logging 程式庫進行驗證。
詳情請參閱「為內部部署或其他雲端服務供應商設定 ADC」。
使用 Ruby on Rails 設定介面:如果您使用 Ruby on Rails 架構,請透過 Ruby on Rails 設定介面提供參數:
您也可以使用下列方式為所有 Google Cloud Observability Gem 設定共用設定:
Rails 在實際工作環境模式下執行時,預設為啟用 Logging。如要在開發模式下啟用 Logging,請新增以下內容:
使用檢測設定介面:
在其他以 Rack 為基礎的應用程式中使用時,請透過設定介面提供參數:
您也可以使用下列方式為所有 Google Cloud Observability Gem 設定共用設定:
查看記錄
前往 Google Cloud 控制台的「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在記錄檔瀏覽器中,您必須指定一或多個資源,但資源的選取可能並不明顯。下列提示可協助您著手操作:
如需更多資訊,請參閱「使用記錄檔探索工具」。