在门户中添加日志记录并监视 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 应用的流量可能会生成流日志,如以下示例所示:

Image showing Log Streaming from Azure CLI.

对于更复杂的故障排除和监视情况,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 提供的内置日志中检索有关应用程序操作的数据。

例如,可以通过选择“函数应用”菜单上的“日志流”来使用日志流式处理。 然后选择“文件系统日志”或“应用见解日志”

Image showing where to find Log Streaming.