排查 application Insights 监视 Node.js 应用和服务的问题

本文讨论解决与 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 反馈社区提交产品反馈。