对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
环境变量将日志放入本地文件中。 支持的值为 file
和 file+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 反馈社区。