场景监控介绍
场景监控
是业务的"全天候保镖" - 它7×24小时监控系统运行状态,在业务受阻前识别风险,保障用户体验和系统稳定。AngusTester场景监控帮您:
✅ 提前预警90%潜在故障
✅ 减少60%业务中断时间
✅ 提升用户满意度40%+
✅ 节省75%故障排查时间
什么是场景监控?业务的健康监测系统
场景监控是真实用户视角的业务连续性守护者:
与传统监控对比:
维度 | 传统监控 | 场景监控 |
---|---|---|
视角 | 系统资源 | 用户体验 |
颗粒度 | 单点指标 | 业务流程 |
价值 | 系统可用性 | 业务连续性 |
时效 | 被动响应 | 主动防御 |
好的场景监控不是火灾报警器,而是烟雾探测器 - 在起火前就发出预警
四大核心监控场景
1. 接口响应守护 - 保障服务畅通
目的: 确保API及时响应,避免用户等待
实战案例:
2. 系统健康巡检 - 全面健康诊断
监控要点:
最佳实践:
- 定时执行/health端点检查
- 关键服务进程监控
- 自动生成健康报告
3. 功能正确性验证 - 确保业务无错
持续验证机制:
验证频率:
- 核心功能:每分钟验证
- 重要功能:每5分钟验证
- 普通功能:每小时验证
4. 业务连续性保障 - 实时业务审计
支付业务监控案例:
markdown
**监控指标:**
- 每小时支付成功率 ≥ 99.5%
- 支付金额差异 < 0.1%
- 异常支付率 < 0.5%
**预警规则:**
🟢 正常:所有指标达标
🟡 警告:1项指标超标
🔴 严重:2+项指标超标
AngusTester场景监控方案
智能监控控制台
统一监控面板:
四步极简配置
智能告警系统
分级告警策略:
严重级别 | 通知方式 | 响应要求 |
---|---|---|
⚠️ 警告级 | 邮件+应用内消息 | 2小时内处理 |
🚨 严重级 | 短信+电话(TODO) | 30分钟内处理 |
🔥 紧急级 | 电话+值班呼叫(TODO) | 立即处理 |
根因分析引擎(TODO)
自动诊断流程:
场景监控字段信息
参数 | 字段名 | 类型 | 必填 | 长度限制 | 说明 |
---|---|---|---|---|---|
ID | id | bigint | 条件 | / | 监控任务唯一标识符;修改时必须 |
场景ID | scenarioId | long | 是 | / | 关联场景唯一标识 |
监控名称 | name | string | 是 | ≤100 | 监控任务名称 |
描述 | description | string | 否 | ≤200 | 监控任务描述 |
时间设置 | timeSetting | object | 是 | / | 监控执行时间配置 |
服务器配置 | serverSetting | list | 否 | / | 监控目标服务器配置 |
通知设置 | noticeSetting | object | 是 | / | 告警通知配置 |
项目ID | projectId | 只读 | / | / | 所属项目ID |
场景名称 | scenarioName | string | 只读 | / | 关联场景名称 |
监控状态 | status | enum | 只读 | / | 状态枚举:待执行/成功/失败 |
失败原因 | failureMessage | string | 只读 | / | 监控失败详细信息 |
下次执行时间 | nextExecDate | datetime | 只读 | / | 下次监控执行时间 |
最后监控历史ID | lastMonitorHistoryId | long | 只读 | / | 最后一次监控历史记录ID |
最后监控时间 | lastMonitorDate | datetime | 只读 | / | 最后一次监控执行时间 |
监控统计 | count | object | 只读 | / | 监控结果统计信息 |
租户ID | tenantId | long | 只读 | / | 所属租户ID |
创建人ID | createdBy | long | 只读 | / | 监控任务创建人ID |
创建人姓名 | createdByName | string | 只读 | / | 创建人姓名 |
创建时间 | createdDate | datetime | 只读 | / | 监控任务创建时间 |
最后修改人ID | lastModifiedBy | long | 只读 | / | 最后修改人ID |
最后修改人姓名 | lastModifiedByName | string | 只读 | / | 最后修改人姓名 |
最后修改时间 | lastModifiedDate | datetime | 只读 | / | 最后修改时间 |
时间设置字段(timeSetting)
参数 | 字段名 | 类型 | 必填 | 长度限制 | 说明 |
---|---|---|---|---|---|
创建方式 | createdAt | enum | 是 | / | 创建方式枚举:立即/定时/周期 |
指定时间 | createdAtSomeDate | datetime | 条件 | / | 定时执行的具体时间(当创建方式为"定时"时必须) |
周期单位 | periodicCreationUnit | enum | 条件 | / | 周期单位枚举:天/周/月(当创建方式为"周期"时必须) |
星期几 | dayOfWeek | enum | 条件 | / | 星期枚举:周一至周日(当周期单位为"周"时必须) |
每月日期 | dayOfMonth | int | 条件 | / | 每月具体日期(1-31)(当周期单位为"月"时必须) |
每日时间 | timeOfDay | time | 条件 | / | 每日具体时间(当创建方式为"周期"时必须) |
小时 | hourOfDay | int | 条件 | / | 小时(1-23)(当创建方式为"周期"时必须) |
分钟 | minuteOfHour | int | 条件 | / | 分钟(1-59)(当创建方式为"周期"时必须) |
是否一次性 | onetime | boolean | 否 | / | 是否只执行一次(默认false ) |
通知设置字段(noticeSetting)
参数 | 字段名 | 类型 | 必填 | 长度限制 | 说明 |
---|---|---|---|---|---|
启用通知 | enabled | boolean | 是 | / | 是否启用告警通知 |
组织类型 | orgType | enum | 条件 | / | 组织类型枚举:用户/部门/小组(当启用通知时必须) |
组织列表 | orgs | set | 条件 | / | 通知接收组织列表(当启用通知时必须) |
监控统计字段(count)
参数 | 字段名 | 类型 | 说明 |
---|---|---|---|
总监控次数 | totalNum | int | 监控任务执行总次数 |
成功次数 | successNum | int | 监控成功次数 |
失败次数 | failureNum | int | 监控失败次数 |
成功率 | successRate | double | 监控成功率(百分比) |
最近24小时次数 | last24HoursNum | int | 最近24小时监控次数 |
最近24小时成功次数 | last24HoursSuccessNum | int | 最近24小时监控成功次数 |
最近24小时成功率 | last24HoursSuccessRate | double | 最近24小时监控成功率 |
最近7天次数 | last7DayNum | int | 最近7天监控次数 |
最近7天成功次数 | last7DaySuccessNum | int | 最近7天监控成功次数 |
最近7天成功率 | last7DaySuccessRate | double | 最近7天监控成功率 |
最近30天次数 | last30DayNum | int | 最近30天监控次数 |
最近30天成功次数 | last30DaySuccessNum | int | 最近30天监控成功次数 |
最近30天成功率 | last30DaySuccessRate | double | 最近30天监控成功率 |
平均延迟时间 | avgDelayTime | object | 平均延迟时间对象 |
最小延迟时间 | minDelayTime | object | 最小延迟时间对象 |
最大延迟时间 | maxDelayTime | object | 最大延迟时间对象 |
P50延迟时间 | p50DelayTime | object | 50分位延迟时间 |
P75延迟时间 | p75DelayTime | object | 75分位延迟时间 |
P90延迟时间 | p90DelayTime | object | 90分位延迟时间 |
监控状态(status)
枚举值 | 说明 |
---|---|
PENDING | 待执行 |
SUCCESS | 成功 |
FAILURE | 失败 |
组织类型(orgType)
枚举值 | 说明 |
---|---|
USER | 用户 |
DEPT | 部门 |
GROUP | 小组 |
时间单位(periodicCreationUnit)
枚举值 | 说明 |
---|---|
DAY | 天 |
WEEK | 周 |
MONTH | 月 |