在 Lambda 函數上啟用應用程式訊號 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Lambda 函數上啟用應用程式訊號

您可以為 Lambda 函數啟用 Application Signals。如此一來,您的 函數就會將指標傳送至 Application Signals,您可以使用它來監控應用程式的運作狀態,並追蹤其針對業務目標的長期效能。

當您啟用此功能時,Application Signals 會使用透過 Lambda layer 提供的增強型 AWS Distro for OpenTelemetry (ADOT) 程式庫自動檢測您的 Lambda 函數。此 Lambda layer 套件和部署應用程式訊號自動檢測所需的程式庫。

除了支援 Application Signals 之外,此 Lambda 層也是 Lambda OpenTelemetry 支援的一部分,並提供追蹤功能。

開始使用

為 Lambda 函數啟用 Application Signals 的方法有三種。

為 Lambda 函數啟用 Application Signals 後,該函數的遙測需要幾分鐘的時間才會出現在 Application Signals 主控台中。

  • 使用 CloudWatch Application Signals 主控台

  • 使用 Lambda 主控台

  • 手動將 Application Signals layer 新增至 Lambda 函數執行時間。

這些方法都會將圖 OpenTelemetry 層 AWS 的 Distro 新增至您的 函數。

使用 CloudWatch Application Signals 主控台

使用這些步驟來使用 Application Signals 主控台來啟用 Lambda 函數的 Application Signals。

使用 Application Signals 主控台啟用 Lambda 函數的 Application Signals
  1. 在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,依次選擇 Application Signals服務

  3. 服務清單區域中,選擇啟用應用程式訊號

  4. 選擇 Lambda 圖磚。

  5. 選取您要為 Application Signals 啟用的每個函數,然後選擇完成

使用 Lambda 主控台

使用這些步驟來使用 Lambda 主控台來啟用 Lambda 函數的 Application Signals。

使用 Lambda 主控台啟用 Lambda 函數的 Application Signals
  1. 在 開啟 AWS Lambda 主控台https://console.aws.amazon.com/lambda/

  2. 在導覽窗格中,選擇函數,然後選擇您要啟用的函數名稱。

  3. 選擇組態索引標籤,然後選擇監控和操作工具

  4. 選擇編輯

  5. CloudWatch Application Signals 和 X-Ray 區段中,選取使用 Application Signals 自動收集應用程式追蹤和標準應用程式指標,以及使用 X-Ray 自動收集 Lambda 服務追蹤以實現端對端可見性。

  6. 選擇 Save (儲存)。

手動啟用 Application Signals

使用這些步驟來手動啟用 Lambda 函數的 Application Signals。

手動啟用 Lambda 函數的 Application Signals
  1. 將 Application Signals Lambda layer 新增至您的 Lambda 執行時間。若要尋找 layer ARN,請參閱 Application Signals Lambda 層 ARNs

  2. 新增環境變數 AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrument

  3. 將 AWS 受管IAM政策CloudWatchLambdaApplicationSignalsExecutionRolePolicy連接至 Lambda 執行角色。

  4. (選用) 建議您啟用 Lambda 主動追蹤,以獲得更好的追蹤體驗。如需詳細資訊,請參閱使用 視覺化 Lambda 函數叫用 AWS X-Ray

手動停用 Application Signals

使用這些步驟來手動停用 Lambda 函數的 Application Signals。

若要手動停用 Lambda 函數的 Application Signals,請從 Lambda 執行時間移除 Application Signals Lambda 層,並移除AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrument環境變數。

Application Signals Lambda 層 ARNs

下表列出ARNs要用於支援它的每個 區域的 Application Signals Lambda layer 的 。

Python
區域 ARN

美國東部 (維吉尼亞北部)

arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

美國東部 (俄亥俄)

arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroPython:5

美國西部 (加利佛尼亞北部)

arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroPython:12

美國西部 (奧勒岡)

arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroPython:12

非洲 (開普敦)

arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (香港)

arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (海德拉巴)

"arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (雅加達)

arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (墨爾本)

arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (孟買)

arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (大阪)

arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (首爾)

arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (新加坡)

arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (雪梨)

arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroPython:5

亞太區域 (東京)

arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

加拿大 (中部)

arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

歐洲 (法蘭克福)

arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

歐洲 (愛爾蘭)

arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

歐洲 (倫敦)

arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroPython:5

歐洲 (米蘭)

arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroPython:5

Europe (Paris)

arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroPython:5

歐洲 (西班牙)

arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroPython:5

歐洲 (斯德哥爾摩)

arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

歐洲 (蘇黎世)

arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroPython:5

以色列 (特拉維夫)

arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroPython:5

Middle East (Bahrain)

arn:aws:lambda:me-south-1:980921751758:layer:AWSOpenTelemetryDistroPython:5

中東 (UAE)

arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroPython:5

南美洲 (聖保羅)

arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:5

Node.js
區域 ARN

美國東部 (維吉尼亞北部)

arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

美國東部 (俄亥俄)

arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroJs:5

美國西部 (加利佛尼亞北部)

arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

美國西部 (奧勒岡)

arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroJs:5

非洲 (開普敦)

arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (香港)

arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (海德拉巴)

"arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (雅加達)

arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (墨爾本)

arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (孟買)

arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (大阪)

arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (首爾)

arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (新加坡)

arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (雪梨)

arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroJs:5

亞太區域 (東京)

arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

加拿大 (中部)

arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

歐洲 (法蘭克福)

arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

歐洲 (愛爾蘭)

arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

歐洲 (倫敦)

arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroJs:5

歐洲 (米蘭)

arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroJs:5

Europe (Paris)

arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroJs:5

歐洲 (西班牙)

arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroJs:5

歐洲 (斯德哥爾摩)

arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

歐洲 (蘇黎世)

arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroJs:5

以色列 (特拉維夫)

arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroJs:5

Middle East (Bahrain)

arn:aws:lambda:me-south-1:980921751758:layer:AWSOpenTelemetryDistroJs:5

中東 (UAE)

arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroJs:5

南美洲 (聖保羅)

arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroJs:5

啟用交易搜尋

您可以使用交易搜尋來增強 Lambda 可觀測性,這可擷取 Lambda 函數調用的所有追蹤範圍,而無需取樣。此功能可讓您收集 100% 的函數範圍,不受追蹤內容傳播中的sampled旗標影響。這可確保對下游相依服務沒有額外的影響。透過在 Lambda 上啟用交易搜尋,您可以完全了解您的函數效能,並對很少發生的問題進行故障診斷。若要開始使用,請參閱交易搜尋