訪問 AWS Lambda 的 Amazon CloudWatch 日誌

AWS Lambda 會自動替您監控 Lambda 函數,並經過 Amazon CloudWatch 報告各項指標。爲幫助您診斷函數中的問題,Lambda 會記錄您的函數處理的全部請求,並經過 Amazon CloudWatch Logs 自動存儲您的代碼生成的日誌。html

您能夠在代碼中插入日誌記錄語句來幫助驗證代碼是否按預期運行。Lambda 自動與 CloudWatch Logs 集成,並將您的代碼的全部日誌推送到與 Lambda 函數關聯的 CloudWatch Logs 組(即名爲 /aws/lambda/<函數名> 的組)。有關日誌組和經過 CloudWatch 控制檯訪問它們的更多信息,請參閱 Amazon CloudWatch 用戶指南 中的監控系統、應用程序和自定義日誌文件git

您能夠藉助 Lambda 控制檯、CloudWatch 控制檯、AWS CLI 或 CloudWatch API 查看 Lambda 日誌。下面的流程介紹如何使用 Lambda 控制檯查看日誌。github

注意網絡

使用 Lambda 日誌沒有額外的費用;不過,會收取標準 CloudWatch Logs 費用。有關更多信息,請參閱 CloudWatch 訂價app

使用 Lambda 控制檯查看日誌ide

  1. 打開 Lambda 控制檯函數

  2. 打開 Lambda 控制檯 函數頁面工具

  3. 選擇 Monitoring開發工具

    
          事件

    所示爲 Lambda 函數指標的圖形化表示。ui

  4. 選擇查看 CloudWatch 中的日誌

Lambda 使用您的函數的權限將日誌上傳到 CloudWatch Logs。若是您未在控制檯中看到日誌,請檢查您的執行角色權限

AWS Lambda 執行角色

AWS Lambda 函數的執行角色授予該函數訪問 AWS 服務和資源的權限。您在建立函數時提供該角色,當您的函數被調用時,Lambda 代入該角色。您能夠建立一個有權將日誌發送到 Amazon CloudWatch 並將跟蹤數據上傳到 AWS X-Ray 的開發執行角色。

建立執行角色

  1. 打開 IAM 控制檯中的「角色」頁面

  2. 選擇 Create role (建立角色)

  3. 建立具備如下屬性的角色:

    • 可信任的實體 – AWS Lambda

    • 權限 – AWSLambdaBasicExecutionRoleAWSXrayWriteOnlyAccess

    • 角色名稱 – lambda-role

能夠隨時在函數的執行角色中添加或刪除權限,或配置您的函數以使用不一樣的角色。爲您的函數使用 AWS 開發工具包調用的任何服務以及爲 Lambda 用來啓用可選功能的服務添加權限。

如下託管策略提供使用 Lambda 功能所需的權限:

  • AWSLambdaBasicExecutionRole – 將日誌上傳到 CloudWatch 的權限。

  • AWSLambdaKinesisExecutionRole – 讀取來自 Amazon Kinesis 數據流或使用者的事件的權限。

  • AWSLambdaDynamoDBExecutionRole – 讀取 Amazon DynamoDB 流記錄的權限。

  • AWSLambdaSQSQueueExecutionRole – 讀取 Amazon Simple Queue Service (Amazon SQS) 隊列消息的權限。

  • AWSLambdaVPCAccessExecutionRole – 管理彈性網絡接口以將您的函數鏈接到 VPC 的權限。

  • AWSXrayWriteOnlyAccess – 將跟蹤數據上傳到 X-Ray 的權限。

當您使用事件源映射調用您的函數時,Lambda 將使用執行角色讀取事件數據。例如,Amazon Kinesis 的事件源映射從數據流讀取事件並將事件成批發送到您的函數。能夠將事件源映射用於如下服務:

Lambda 從其讀取事件的服務

除了託管策略,Lambda 控制檯還爲建立包含與額外用例相關的權限的自定義策略提供模板。當您建立函數時,能夠選擇利用來自一個或多個模板的權限建立新的執行角色。當您從藍圖建立函數,或者配置須要訪問其餘服務的選項時,也會自動應用這些模板。示例模板可從本指南的 GitHub 存儲庫中找到。

相關文章
相關標籤/搜索