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

Azure Application Insights按日志名配置不同留存时长的方案咨询

优化Azure Application Insights日志留存方案

核心思路

将audit类日志与普通日志拆分存储,分别配置对应留存期,避免全表5年留存带来的存储成本浪费,同时精准满足合规要求。

具体实现步骤

1. 日志分类标记

在Java代码中给audit日志添加专属自定义属性,比如LogType: audit。以SLF4J/Logback为例,可通过MDC实现:

// 输出audit日志前添加标记
MDC.put("LogType", "audit");
logger.info("User {} executed operation: {}", userId, operation);
// 日志输出后移除标记,避免污染后续日志
MDC.remove("LogType");

2. 配置数据路由规则

在Azure Portal的Application Insights资源中,通过**数据收集规则(DCR)**将标记为audit的日志路由到单独的自定义表(如AuditTraces),其余日志保留在默认traces表:

  • 进入Application Insights资源 → 左侧菜单「数据收集」→「数据收集规则」
  • 创建新DCR并关联目标App Insights资源
  • 在「转换」环节添加分支规则:
    • 数据源选择traces
    • 过滤条件设为customDimensions.LogType == "audit"
    • 匹配的日志输出到新建的AuditTraces表,剩余日志输出到默认traces表

3. 设置差异化留存期

分别调整两张表的数据保留时长:

  • 进入关联的Log Analytics工作区 → 左侧菜单「表」
  • 找到AuditTraces表,点击「管理表」,设置保留期为5年
  • 找到默认traces表,设置保留期为3个月

4. 验证查询逻辑

确保后续可精准查询两类日志:

  • 查询audit日志:AuditTraces | where customDimensions.LogType == "audit"
  • 查询普通日志:traces | where isempty(customDimensions.LogType) or customDimensions.LogType != "audit"

方案优势

  • 成本优化:仅合规要求的audit日志长期存储,降低不必要的存储开支
  • 查询效率:拆分后单表数据量减少,日志查询速度更快
  • 合规精准:严格匹配不同日志的留存周期要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 10:04:52