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

ILogger各等级日志需使用哪种Azure Alert Signal创建警报?

问题描述

已为Web应用配置Application Insights,且能在Azure门户正常接收数据;同时完成了Application Insights Logging with .NET配置,当前可通过指标下的“exceptions”信号,为_logger.LogError(new Exception(), "some message")这类带异常的日志创建警报并触发邮件通知。

现需要为以下几种日志创建带邮件通知的警报:

_logger.LogInformation("testing LogInformation");
_logger.LogWarning("testing LogWarning");
_logger.LogDebug("testing LogDebug");
_logger.LogError("testing LogError w/ no exception");

此前尝试用指标信号找不到对应日志级别的选项,用“All Administrative Operations”信号也未触发警报,咨询应使用哪种信号创建这类警报。

解决方案

这类普通日志条目没有对应的预定义指标信号,需要使用**日志查询警报(Log Alert)**来实现,具体操作如下:

  1. 选择正确的信号类型
    在Azure门户的Application Insights资源中,进入「警报」->「创建警报规则」,信号类型选择「日志」,再选择「自定义日志搜索」作为信号来源。

  2. 编写对应日志级别的Kusto查询
    不同日志级别对应traces表中的severityLevel字段值,对应关系:

  • Debug/Verbose: 0
  • Information: 1
  • Warning: 2
  • Error: 3
  • Critical: 4

针对不同日志的查询示例:

  • LogInformation:
traces
| where severityLevel == 1
// 可根据需求添加过滤条件,比如特定消息内容
// | where message contains "testing LogInformation"
| count
  • LogWarning:
traces
| where severityLevel == 2
| count
  • LogDebug:
traces
| where severityLevel == 0
| count
  • 不带异常的LogError:
// 若需严格区分无异常的Error,可过滤掉关联了异常的条目
traces
| where severityLevel == 3
| join kind=leftanti (exceptions) on operation_Id
| count

// 若无需区分,直接查询Error级别即可
// traces
// | where severityLevel == 3
// | count
  1. 配置触发条件与通知
    设置触发条件的阈值(比如计数大于0,即只要出现对应日志就触发),然后配置动作组,添加邮件通知的接收人即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:17:37