建议删除来自应用程序到 Azure App Insights 的 Session/Keepalive 日志数据

Advisable to remove the Session/Keepalive log data coming from Applications to Azure App Insights

我们在 Azure 上托管了一个 Web 应用程序,它向 App Insights 发送遥测数据,开发团队询问是否可以关闭发送从 Web 应用程序发布的 SESSION/KEEPALIVE 数据。这会影响 Application Insights 中的用户流等任何功能吗? 对此有何指导? 以下是示例数据:-

时间戳 |编号 |来源 |姓名 | url |成功 |结果代码 |持续时间 |性能桶 -- | -- | -- | -- | -- | -- | -- | -- | -- 2019-09-25T16:00:31.8191577Z | \|Ac34D.9fIx+.4c3e0b35_ | POST session/keepalive | http://XXXXXXXXXXXXXX.com/session/keepalive |真 | 200 | 15.8274 | <250毫秒 2019-09-25T16:00:42.7423811Z | \|Ac34D.FqSNy.83ee6e0d_ | POST session/keepalive | http://XXXXXXXXXXXXXX.com/session/keepalive |真 | 200 | 38.3679 | <250毫秒 2019-09-25T16:00:48.716939Z | \|Ac34D.h8kwN.34c0b012_ | POST session/keepalive | http://XXXXXXXXXXXXXX.com/session/keepalive |真 | 200 | 16.0359 | <250毫秒 2019-09-25T16:00:54.1607213Z | \|Ac34D.v2qfF.4c3e0b36_ | POST session/keepalive | http://XXXXXXXXXXXXXX.com/session/keepalive |真 | 200 | 15.2518 | <250 毫秒

Applications Insights 中的视图通常以一组特定的遥测项目类型为目标。

例如,用户流 UI 利用 PageViewCustomEvent 遥测类型。因此,如果 keep alive 被报告为其中一种类型,它将显示在 UI 中。

但是,如果上面的示例是 Dependency 遥测,则该视图不会受到影响。

一般来说,如果您想在遥测数据到达 AI 并进行存储处理之前删除一些遥测数据,您可以使用 TelemetryProcessor(如果是 Java Script SDK, TelemetryInitializer) 将其过滤掉:

var telemetryInitializer = (envelope) => {
  if (envelope.data.someField == 'keepalive') return false;
};
appInsights.addTelemetryInitializer(telemetryInitializer);