在门户中添加日志记录并监视 Azure 函数
现在,你已使用 Azure Functions Maven 原型成功部署了第一个无服务器 Web 功能,公司想让你研究如何使用 Azure Application Insights 分析应用程序的使用情况。
在本单元中,你将了解作为基本故障排除工具的日志流式处理以及 Azure Functions 和 Application Insights 之间的集成。
使用 Azure CLI 实时流式传输日志
部署并运行函数应用后。 可以使用以下 Azure CLI 命令从应用获取实时日志流式处理,以进行基本的故障排除:
az webapp log tail -n <function app name> -g <resource group name>
Function 应用的流量可能会生成流日志,如以下示例所示:
对于更复杂的故障排除和监视情况,Application Insights 会更合适。
什么是 Application Insights?
Azure Application Insights 是包含在 Azure Monitor 中的应用程序性能管理 (APM) 服务,并与 Azure Functions 集成。 Application Insights 有助于开发人员在客户使用应用程序时查看和分析实时数据。 Application Insights 提供了一组全面的工具,这些工具有助于分析和响应可能影响应用程序的问题。
Application Insights 支持使用 Node.js、Java 或 .NET 开发的应用程序。 它可以让你的开发团队更加灵活地选择如何构建公司的应用程序。
Application Insights 提供有关失败请求、服务器响应时间、服务器请求和可用性的基本信息。 默认情况下,已为 Azure Functions 启用 Application Insights。 如果在代码中包含遥测跟踪点,Application Insights 还可以使用从应用程序发送的遥测数据。
将检测添加到 Java 项目
若要达到 Application Insights 的最佳使用效果,需要更新函数项目。 需要进行两种类型的更改:
第一组更改是对配置的更新,目的是添加 Application Insights 和日志记录支持:
更新项目的 pom.xml 文件以添加 Application Insights 库的依赖项。
更新项目的 host.json 文件,添加参数来定义你希望日志记录和 Application Insights 如何作用于应用程序。
第二组更改是对应用程序代码的修改,这让你可以对应用程序的报告进行微调:
若要在 Application Insights 中实现事件跟踪,需要将跟踪器添加到代码。
在代码执行中的关键点添加跟踪器,例如选择新页面时,或将特定数据保存到应用程序时。
了解日志记录和监视选项
在函数应用程序中使用 Application Insights 的推荐方法是对应用程序的监视和报告进行微调。 不过还可以从 Azure 提供的内置日志中检索有关应用程序操作的数据。
例如,可以通过选择“函数应用”菜单上的“日志流”来使用日志流式处理。 然后选择“文件系统日志”或“应用见解日志”。