排查 Node.js 中的 OpenTelemetry 问题

本文讨论如何排查 Node.js 中的 OpenTelemetry 问题。

故障排除清单

步骤 1:启用诊断日志记录

Azure Monitor 导出程序将 OpenTelemetry API 记录器用于内部日志。 若要启用记录器,请运行以下代码片段:

const { diag, DiagConsoleLogger, DiagLogLevel } = require("@opentelemetry/api");
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");

const provider = new NodeTracerProvider();
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ALL);
provider.register();

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

Application Insights SDK 和代理发送遥测数据,以作为引入终结点的 REST 调用进行引入。 若要测试从 Web 服务器或应用程序主机计算机到引入服务终结点的连接,请使用 PowerShell 中的cURL命令或原始 REST 请求。 有关详细信息,请参阅 排查 Azure Monitor Application Insights 中缺少的应用程序遥测问题

已知问题

以下项是 Azure Monitor OpenTelemetry 导出程序已知问题:

  • 依赖项遥测中缺少操作名称。 缺少操作名称会导致失败,并会对性能选项卡体验产生不利影响。

  • 请求和依赖项遥测中缺少设备模型。 缺少的设备模型会对设备队列分析产生负面影响。

  • 依赖项名称中缺少数据库服务器名称。 由于不包括数据库服务器名称,因此 OpenTelemetry 导出程序错误地将具有相同名称的表聚合到不同的服务器上。

联系我们寻求帮助

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