当前位置: 首页 > news >正文

通知告警系统深入指南 —— Aneiang.Yarp 2.3.0.20 核心功能

本文深度解析通知告警系统的事件驱动架构、多渠道 Webhook、冷却机制与队列分发模型。


GitHub https://github.com/AneiangSoft/Aneiang.Yarp

Gitee https://gitee.com/aneiangsoft/aneiang-yarp

官方文档 https://yarp.aneiang.com

在线演示 https://yarp-test.aneiang.com/aneiang (账号 admin / demo123

在这里插入图片描述


一、功能背景

没有告警的生产网关,等于没有哨兵的城堡。Aneiang.Yarp 2.3.0.20 的通知系统解决:把"被动发现"变成"主动推送"——当网关检测到安全攻击、服务故障或配置变更时,通过 Webhook 实时推送到 IM/告警平台。


二、事件驱动架构

事件源(分散在各模块)├── WafMiddleware              → WAF 拦截├── CircuitBreakerMiddleware   → 熔断器打开├── RequestRetryMiddleware     → 重试耗尽├── YARP 代理层                → 代理 5xx├── RateLimitMiddleware        → 限流触发└── ConfigChangeAuditLog       → 配置变更│ 调用 NotifyXxx()(fire-and-forget)▼
ConfigChangeEventDispatcher (BackgroundService, 200ms 轮询)ConcurrentQueue<PendingNotification> ← readonly struct, 零堆分配│▼
NotificationService├── 匹配告警规则 → 匹配渠道 → 冷却检查 → 发送└── 记录 SQLite 通知历史

关键设计:事件源(中间件)调用 NotifyXxx() 后立即返回,不阻塞业务请求。分发器在后台异步处理。


三、六大事件类型

事件 触发条件 级别 典型场景
CircuitBreakerOpen 连续失败 > FailureThreshold 严重 下游服务崩溃
RetryExhausted 全部重试仍失败 警告 间歇性网络故障
WafBlock WAF 规则命中 严重 恶意攻击
ProxyError 反向代理 5xx 警告 目标服务异常
RateLimitExceeded 请求超速率限制 提示 流量突增
ConfigChange 路由/集群 CRUD 信息 运维审计

四、多渠道 Webhook 配置

钉钉机器人

{"ChannelType": "DingTalk","WebhookUrl": "https://oapi.dingtalk.com/robot/send?access_token=xxx","TimeoutMs": 5000,"RetryCount": 3
}

推送 Markdown 格式,支持 @所有人

通用 HTTP Webhook

{"ChannelType": "Http","WebhookUrl": "http://your-alert-manager:9093/api/v1/alerts","CustomHeaders": {"X-Alert-Source": "AneiangGateway","Authorization": "Bearer your-token"},"TimeoutMs": 10000,"RetryCount": 2
}

可对接 Prometheus AlertManager、企业微信、飞书、自定义告警平台。

渠道参数说明

参数 类型 默认值 说明
ChannelType enum DingTalkHttp
WebhookUrl string Webhook 地址
CustomHeaders dict 自定义请求头
TimeoutMs int 5000 发送超时(毫秒)
RetryCount int 0 失败重试次数

五、告警冷却机制

为什么需要冷却?

没有冷却:熔断打开 → 通知 → 熔断打开 → 通知 → ...(刷屏)有冷却(默认 300s):熔断打开 → 通知 → 冷却中(5min)... → 冷却结束再次熔断打开 → 通知

实现原理

每事件规则独立配置冷却时间。NotificationService 维护 ConcurrentDictionary<string, DateTime> 追踪最近发送时间,同类型事件在窗口内跳过发送。

配置项 默认值 说明
冷却时间 300 秒 同一事件两次通知的最小间隔
作用域 按事件类型 不同类型独立计算

六、通知历史持久化

所有发送记录写入 SQLite NotificationHistory 表,Dashboard 支持分页查询 + 按事件类型过滤 + 查看发送成功/失败状态。

-- 概念示意
NotificationHistory├── Id, EventType, ChannelId├── Title, Message├── IsSuccess, ErrorMessage└── Timestamp

七、配置变更自动通知

通知系统与审计日志深度集成:

用户修改路由 → ConfigChangeAuditLog 记录审计→ ConfigChangeEventDispatcher 入队通知事件→ NotificationService 匹配规则 → 发送通知

路由/集群的增删改、重命名、配置回滚,均自动产生通知,无需额外代码。


八、Dashboard 管理界面

通知设置页面提供三大管理区域:

区域 功能
Webhook 渠道管理 添加/编辑/删除/测试渠道连通性
告警规则配置 6 种事件类型独立开关 + 冷却时间设置
高级设置 超时/重试/通知历史上限

九、启动预热

StartupWarmupService 启动时自动创建 11 种事件类型的默认通知规则(种子数据);NotificationWarmupService.PreloadAsync() 将渠道/规则/设置加载到内存缓存。预热失败不阻塞应用启动。


十、常见问题

问题 解答
通知不发 检查渠道连通性(Dashboard 有测试按钮)、检查告警规则开关、检查冷却窗口
延迟多久? 200ms 轮询间隔 + HTTP 发送时间,通常 300-500ms
支持哪些渠道? 钉钉机器人 + 通用 HTTP Webhook(可对接 AlertManager/企业微信/飞书等)
通知有重试吗? 有,每渠道独立配置 RetryCount
http://www.jsqmd.com/news/1020549/

相关文章:

  • 用AI御三家和Mac mini 搭了个私人生产力系统
  • 2026洗地机价格硬核排行!性价比之王推荐 - 工业清洁测评社
  • Fable 5访问暂停后,模型接入层不能再只写死一个模型名
  • 第二篇 提高篇:解锁 Java 实用技能(第 7-10 章)
  • 2026年评价高的语音识别芯片市场格局梳理与优质供应商选型分析
  • 真空膨化机核心技术解析与源头厂家实力参考 - 优质品牌商家
  • 告别CondaValueError:升级Conda、清理.condarc与重建虚拟环境的完整避坑流程
  • 2026年6月制袋机品牌哪家强,平口包装袋制袋机/快递袋吹膜机/吹膜机/塑料造粒机,制袋机生产厂家哪家强 - 品牌推荐师
  • Windows 7已成过去式?从CVE-2019-0708看老旧系统在企业的遗留风险与实战化防御演练
  • 2026年魔芋面品牌推荐榜单:0脂低卡荞麦魔芋面/免泡即食代餐/酸辣麻酱味OEM源头厂家深度评测 - 品牌发掘
  • ZIP / TAR.GZ 怎么打开?用 OpenFiles 先预览压缩包内容,再决定解压
  • DLSS Swapper完整指南:轻松管理游戏DLSS版本的终极解决方案
  • 软件项目管理WBS拆解:解决需求模糊难题与多场景任务分配,提升软件项目管理效能
  • Windows 11升级难题终极解决方案:MediaCreationTool.bat完全使用指南
  • 锂电模组钢带产线优化:多规格一键换型与零调试方案解析
  • 2026年 广东滚筒厂家推荐榜:包胶/无动力/链轮/主动/从动/积放/304不锈钢/压槽/镀锌/电动滚筒实力之选 - 品牌发掘
  • 2026年芝麻黑路沿石口碑观察:五莲县三大源头厂家综合对比与案例解析 - 优质品牌商家
  • MetaboAnalystR 4.0:如何快速掌握代谢组学分析的终极开源解决方案
  • AI 绘图工具对比:DALL-E / Midjourney / SD 实测
  • 美国海牙认证怎么办理?美国海牙认证多少钱?
  • 如何突破OBS分辨率限制:Spout2插件完整解决方案
  • 2026年q2国内低温压差膨化机源头厂家综合排行:山东,变温压差膨化机/宠物食品冻干机/山东冻干机/实力盘点 - 优质品牌商家
  • 武汉公司注册多少钱 剖析本地创业财税服务的真实成本与价值 - 热点观察
  • STM32CubeIDE调试报错‘Failed to start GDB server’?别急着重启电脑,试试这5个排查步骤
  • 2026q2西安原点办公家具厂家联系方式实测评测:西安办公家具源头厂家/西安原点办公家具联系方式/实力盘点 - 优质品牌商家
  • 从 Dubbo+ZK 到 Nacos:注册中心深度拆解
  • 有序分类数据误用计数模型的风险与矫正:Poisson/NB在腹泻评分分析中的实践指南
  • 2026年高端汽车维修公司选型:中高端汽车维修/全车整备保养/同城汽车维修/周边汽车保养/核心维度与实操推荐 - 优质品牌商家
  • 2026年当前,寻找西安装修优质公司?这份联系指南与深度解析助您决策 - 品牌鉴赏官2026
  • XUnity自动翻译器:打破游戏语言壁垒的智能翻译插件