本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Lambda 而且 AWS X-Ray
您可以使用 AWS X-Ray 來跟踪您的 AWS Lambda 功能。Lambda 會執行 X-Ray 精靈,並記錄一個區段,其中包含有關叫用和執行函數的詳細資訊。對於進一步的檢測,您可以將 X-Ray SDK 與您的功能捆綁在一起,以記錄撥出電話並添加註釋和元數據。
如果您的 Lambda 函數是由另一個已檢測的服務呼叫,Lambda 會追蹤已經取樣的請求,而不需要任何其他設定。上游服務可以是已測試的 Web 應用程式或其他 Lambda 函數。您的服務可以使用已檢測的 AWS SDK 用戶端直接叫用函數,或透過使用已檢測的 HTTP 用戶端呼叫 API Gateway API。
AWS X-Ray 支援使用 AWS Lambda 和 Amazon SQS 追蹤事件導向的應用程式。使用主 CloudWatch 控台查看每個請求與 Amazon SQS 排入佇列並由下游 Lambda 函數進行處理時的連線檢視。來自上游訊息生產者的追蹤會自動連結至來自下游 Lambda 消費者節點的追蹤,以建立應用程式的 end-to-end 檢視。如需詳細資訊,請參閱追蹤事件導向應用程式。
注意
如果您已啟用下游 Lambda 函數的追蹤,則還必須啟用根 Lambda 函數的追蹤,以呼叫下游函數,以便下游函數產生追蹤。
如果您的 Lambda 函數按排程執行,或是由未經測試的服務叫用,您可以設定 Lambda 使用作用中追蹤來取樣和記錄叫用。
若要在 AWS Lambda 功能上設定 X-Ray 整合
-
開啟 AWS Lambda 主控台
。 -
從左側導覽列選取「功能」。
-
選擇函數。
-
在 [設定] 索引標籤上,向下捲動至 [其他監視工具] 卡。您還可以通過選擇左側導航窗格中的監視和操作工具來找到此卡。
-
選擇 Edit (編輯)。
-
在 AWS X-Ray 下,啟用 Active tracing (主動追蹤)。
在具有對應 X-Ray SDK 的執行階段中,Lambda 也會執行 X-Ray 精靈。
Lambda 上的 X-Ray 軟件包
-
適用於 Go 的 X-Ray SDK — 移至 1.7 及更新版本的執行階段
-
適用於 Java 的 X-Ray SDK-Java 8 運行時
-
適用於 Node.js — Node.js 4.3 和更新的執行階段的 X-Ray 開發套件
-
適用於 Python 的 X-Ray 開發套件 — Python 2.7、Python 3.6 和更新的執行階段
-
適用於 .NET 核心 2.0 和更新的執行階段的 X-Ray SDK
若要在 Lambda 上使用 X-Ray SDK,請在每次建立新版本時將其與函數程式碼搭配使用。您可以使用與測量在其他服務上執行的應用程式相同的方法來檢測 Lambda 函數。主要差別是,您無法使用軟體開發套件來檢測傳入的請求、制定抽樣決策及建立區段。
檢測 Lambda 函數和 Web 應用程式之間的另一個區別是,您的函數程式碼無法修改 Lambda 建立並傳送至 X-Ray 的區段。您可以建立子區段並記錄註釋和中繼資料,但您無法新增註釋和中繼資料到父區段。
若要取得更多資訊,請參閱AWS Lambda 開發人員指南中的使用 AWS X-Ray