本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Lambda 函數日誌
為了協助您故障診斷故障, 會代表您 AWS Lambda 自動監控 Lambda 函數。您可以使用 Lambda 主控台、CloudWatch 主控台、 AWS Command Line Interface (AWS CLI)、CloudWatch API 檢視 Lambda 函數的日誌。您也可以設定 Lambda 將日誌傳送至 Amazon S3 和 Firehose。
只要函數的執行角色具有必要的許可,Lambda 就會擷取函數處理之所有請求的日誌,並將其傳送至預設目的地 Amazon CloudWatch Logs。您也可以使用 Lambda 主控台將 Amazon S3 或 Firehose 設定為記錄目的地。
-
CloudWatch Logs 是 Lambda 函數的預設記錄目的地。CloudWatch Logs 提供即時日誌檢視和分析功能,並支援根據您的日誌資料建立指標和警示。
-
Amazon S3 長期儲存經濟實惠,Athena 等服務可用於分析日誌。延遲通常較高。
-
Firehose 提供日誌到各種目的地的受管串流。如果您需要將日誌傳送至 AWS 其他服務 (例如 OpenSearch Service 或 Redshift Data API) 或第三方平台 (例如 Datadog、New Relic 或 Splunk),Firehose 會透過提供預先建置的整合來簡化該程序。您也可以串流到自訂 HTTP 端點,而無需設定其他基礎設施。
選擇要傳送日誌的服務目的地
選擇 服務做為函數日誌的目的地時,請考慮下列關鍵因素:
-
成本管理因服務而異。Amazon S3 通常提供最經濟實惠的長期儲存選項,而 CloudWatch Logs 可讓您即時檢視日誌、處理日誌和設定提醒。Firehose 成本包括串流服務和與您將其設定為串流內容相關聯的成本。
-
分析功能因服務而異。CloudWatch Logs 擅長即時監控,並原生與其他 CloudWatch 功能整合,例如 Logs Insights 和 Live Tail。Amazon S3 與 Athena 等分析工具搭配運作良好,可以與各種 服務整合,但可能需要額外的設定。Firehose 透過提供預先建置的整合,簡化直接串流至特定 AWS 服務 (例如 OpenSearch Service 和 Redshift Data API) 和支援的第三方平台 (例如 Datadog 和 Splunk),進而減少組態工作。
-
設定和易用性因服務而異。CloudWatch Logs 是預設的日誌目的地,無需額外設定即可立即運作,並透過 CloudWatch 主控台提供直接的日誌檢視和分析。如果您需要將日誌傳送至 Amazon S3,則需要在 Lambda 主控台中執行一些初始設定,並設定儲存貯體許可。如果您需要將日誌直接傳送到 OpenSearch Service 或第三方分析平台等服務,Firehose 可以簡化該程序。
設定日誌目的地
AWS Lambda 支援函數日誌的多個目的地。本指南說明可用的記錄目的地,並協助您根據需求選擇正確的選項。無論您選擇哪個目的地,Lambda 都會提供選項來控制日誌格式、篩選和交付。
Lambda 支援函數日誌的 JSON 和純文字格式。JSON 結構化日誌提供增強的可搜尋性並啟用自動化分析,而純文字日誌則提供簡單性和可能降低的儲存成本。您可以同時設定系統和應用程式日誌的日誌層級,以控制 Lambda 傳送至所選目的地的日誌。篩選可協助您管理儲存成本,並讓您在偵錯期間更輕鬆地尋找相關的日誌項目。
如需每個目的地的詳細設定說明,請參閱下列各節:
設定 Lambda 函數的進階日誌記錄控制項
為了讓您進一步控制擷取、處理和取用函數日誌的方式,Lambda 提供下列記錄組態選項:
-
日誌格式 - 選取函數日誌的純文字和結構化 JSON 格式。
-
日誌層級 - 針對 JSON 結構化日誌,選擇 Lambda 傳送至 CloudWatch 的日誌詳細資訊層級,例如
FATAL
、、ERROR
WARN
、INFO
、DEBUG
和TRACE
。 -
日誌群組 - 選擇函數傳送日誌的 CloudWatch 日誌群組。
若要進一步了解如何設定進階日誌記錄控制項,請參閱下列章節: