Azure Functions
编辑Azure Functions编辑
.NET APM 代理可以跟踪 Azure Functions 应用中的函数调用。
先决条件编辑
您需要一个 APM 服务器来发送 APM 数据。如果您还没有设置,请按照 APM 快速入门 进行操作。您将需要您的 APM 服务器 URL 和 APM 服务器 密钥令牌(或 API 密钥)来配置下面的 APM 代理。
您还需要一个要监控的 Azure Function 应用。如果您没有现有的,可以按照 此 Azure 指南 创建一个。
您还可以查看并使用此 已集成 Elastic APM 的 Azure Functions 示例应用。
目前,只能跟踪 隔离工作进程 中的 .NET Azure Functions。
步骤 1:添加 NuGet 包编辑
将 Elastic.Apm.Azure.Functions
NuGet 包添加到您的 Azure Functions 项目中
dotnet add package Elastic.Apm.Azure.Functions
步骤 2:添加跟踪中间件编辑
为了让 APM 代理跟踪 Azure Functions 调用,必须在您的 Azure Functions 应用中使用 Elastic.Apm.Azure.Functions.ApmMiddleware
。
using Elastic.Apm.Azure.Functions; using Microsoft.Extensions.Hosting; var host = new HostBuilder() .ConfigureFunctionsWorkerDefaults(builder => { builder.UseMiddleware<ApmMiddleware>(); }) .Build(); host.Run();
步骤 3:配置 APM 代理编辑
可以使用环境变量配置 APM 代理。使用环境变量允许您使用 Azure 门户中的应用程序设置,使您能够隐藏值并在无需重新部署代码的情况下更新设置。
在 Azure 门户中打开您的 Function 应用的“配置”>“应用程序设置”,并设置
ELASTIC_APM_SERVER_URL: <your APM server URL from the prerequisites step> ELASTIC_APM_SECRET_TOKEN: <your APM secret token from the prerequisites step>
例如
限制编辑
由于担心无意中增加 Azure Functions 成本(对于消费计划),Azure Functions 检测目前不在后台收集系统指标。