对Node.js应用和服务进行 Application Insights 监视故障排除

本文讨论解决与 Application Insights 监视Node.js应用和服务相关的常规问题的故障排除步骤。

故障排除清单

排查步骤 1:测试应用程序主机与引入服务之间的连接

Application Insights SDK 和代理将遥测数据作为 REST 调用引入到引入终结点。 若要测试从 Web 服务器或应用程序主机到引入服务终结点的连接,请使用 PowerShell 中的原始 REST 客户端或运行 curl 命令。 有关更多信息,请参阅排查 Azure Monitor Application Insights 中缺失应用程序遥测的问题

故障排除步骤 2:设置自我诊断

“自我诊断”是指 Application Insights Node.js SDK 中的内部日志记录条目

若要识别和诊断影响 Application Insights 的问题,可以启用“自我诊断”。自我诊断是从 Application Insights Node.js SDK 收集内部日志记录条目的集合。

默认情况下,Application Insights Node.js SDK 日志到警告级别的控制台。 以下代码演示如何为内部日志启用调试日志记录和生成遥测:

let appInsights = require("applicationinsights");
appInsights.setup("<Your-Connection-String>")
    .setInternalLogging(true, true)    // Enable both debug and warning logging.
    .setAutoCollectConsole(true, true) // Generate trace telemetry for winston, bunyan, and console logs.
    .start();

还有几个环境变量可用于设置自我诊断配置。

可以通过配置 APPLICATION_INSIGHTS_ENABLE_DEBUG_LOGS 环境变量来启用调试日志。 若要禁用警告,请配置 APPLICATION_INSIGHTS_DISABLE_WARNING_LOGS 环境变量。

可以通过配置 APPLICATIONINSIGHTS_LOG_DESTINATION 环境变量将日志放入本地文件中。 支持的值为 filefile+console。 默认情况下,名为 applicationinsights.log 的文件在临时目录中生成,其中包含所有日志条目。 临时目录根据下表进行命名和定位。

操作系统 目录位置
Unix/Linux /tmp
Windows USERDIR\AppData\Local\Temp

可以通过配置 APPLICATIONINSIGHTS_LOGDIR 环境变量来配置日志目录(而不是临时目录)的特定位置。

以下代码演示如何在 Node.js 中为日志目录配置自我诊断设置:

process.env.APPLICATIONINSIGHTS_LOG_DESTINATION = "file";
process.env.APPLICATIONINSIGHTS_LOGDIR = "C:\\applicationinsights\\logs"

// Application Insights SDK setup code follows.

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 对这些产品的性能和可靠性不作任何明示或默示担保。

第三方联系人免责声明

Microsoft 会提供第三方联系信息来帮助你查找有关本主题的其他信息。 此联系信息可能会更改,恕不另行通知。 Microsoft 不保证第三方联系信息的准确性。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区