排查 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
环境变量将日志放入本地文件。 支持的值为 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 反馈社区提交产品反馈。