You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新增自定义指标未在Azure门户Application Insights中显示的问题

我来帮你排查这个自定义指标不显示的问题,结合你提到的场景和代码片段,咱们一步步梳理可能的原因和解决办法:

排查步骤与解决方案

1. 确认Application Insights初始化是否完整

你引入了applicationinsights包,但要确保完成了密钥配置和启动操作——这是所有遥测数据能上报的基础。比如:

var appInsights = require('applicationinsights');
// 替换成你Azure门户里的实际Instrumentation Key,必须调用start()启动遥测
appInsights.setup('YOUR_INSTRUMENTATION_KEY').start();

如果没调用start(),或者密钥配置错误,所有遥测数据都无法发送到Azure。

2. 检查自定义指标的上报逻辑

你需要确保在用户进入对话递增timesAsked后,主动调用Application Insights的trackMetric方法上报指标,而不是只做变量递增。示例代码如下:

// 全局变量,服务器重启时自动重置为0
let timesAsked = 0;

// 用户进入对话时的处理逻辑
function onUserEnterConversation() {
  timesAsked++;
  // 上报自定义指标到Application Insights
  appInsights.defaultClient.trackMetric({
    name: 'Number of times asked',
    value: timesAsked
  });
}

如果你的telemetry-module.js封装了遥测逻辑,一定要确认里面正确调用了trackMetric方法,不然就算变量递增了,Azure也收不到数据。

3. 考虑Azure门户的指标延迟与筛选

Application Insights的遥测数据通常有5-15分钟的延迟,别刚上报就急着去查,等一会儿再刷新页面。另外在指标Explorer里要注意:

  • 选择的时间范围要包含你上报指标的时间段
  • 在「指标命名空间」里选「自定义指标(Custom Metrics)」,再找你的「Number of times asked」
  • 确认筛选的资源是当前机器人对应的Application Insights实例

4. 排查遥测采样的影响

Application Insights默认会对遥测数据采样,如果采样率太低,可能导致你的自定义指标没被采集到。测试阶段可以临时把采样率设为100%(生产环境按需调整):

appInsights.setup('YOUR_INSTRUMENTATION_KEY')
  .setSamplingPercentage(100) // 强制采集所有遥测数据
  .start();

5. 检查网络与防火墙限制

如果你的机器人部署在内部网络或有防火墙,要确保服务器能访问Application Insights的上报端点:https://dc.services.visualstudio.com/v2/track。可以在服务器上用命令测试连通性:

curl https://dc.services.visualstudio.com/v2/track

如果无法访问,需要调整防火墙规则允许该地址的 outbound 请求。

6. 启用详细日志排查错误

开启Application Insights的详细日志,看看有没有发送失败的错误提示:

appInsights.setup('YOUR_INSTRUMENTATION_KEY')
  .setVerboseLogging(true)
  .start();

然后查看机器人的服务器日志,如果出现认证错误、网络超时等信息,就能针对性解决问题。

内容的提问来源于stack exchange,提问作者user4495602

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:56:14