Scenario Monitoring Introduction
Scenario Monitoringserves as the "24/7 bodyguard" for your business - it continuously monitors system operations, identifies risks before service disruptions occur, and safeguards user experience and system stability. AngusTester Scenario Monitoring helps you:
✅ Detect 90% of potential failures in advance
✅ Reduce business downtime by 60%
✅ Improve user satisfaction by 40%+
✅ Save 75% of troubleshooting time
What is Scenario Monitoring? The Health Check System for Business
Scenario monitoring is the guardian of business continuity from real user perspective:
Comparison with Traditional Monitoring:
| Dimension | Traditional Monitoring | Scenario Monitoring |
|---|---|---|
| Perspective | System Resources | User Experience |
| Granularity | Single Metrics | Business Processes |
| Value | System Availability | Business Continuity |
| Timeliness | Reactive Response | Proactive Defense |
Effective scenario monitoring isn't a fire alarm—it's a smoke detector that warns before flames appear
Four Core Monitoring Scenarios
1. API Response Guardian - Ensuring Service Availability
Purpose: Guarantee timely API responses to prevent user waiting
Practical Case:
2. System Health Inspection - Comprehensive Diagnostics
Key Monitoring Aspects:
Best Practices:
- Scheduled /health endpoint checks
- Critical service process monitoring
- Automated health reports
3. Functional Correctness Verification - Ensuring Business Accuracy
Continuous Validation Mechanism:
Verification Frequency:
- Core functions: Per-minute verification
- Important functions: Every 5 minutes
- General functions: Hourly verification
4. Business Continuity Assurance - Real-time Business Audit
Payment Monitoring Case:
**Monitoring Metrics:**
- Hourly payment success rate ≥ 99.5%
- Payment amount variance < 0.1%
- Abnormal payment rate < 0.5%
**Alert Rules:**
🟢 Normal: All metrics met
🟡 Warning: 1 metric exceeded
🔴 Critical: 2+ metrics exceededAngusTester Scenario Monitoring Solution
Intelligent Monitoring Console
Unified Dashboard:
Four-Step Simplified Configuration
Smart Alert System
Tiered Alert Strategy:
| Severity | Notification Method | Response Requirement |
|---|---|---|
| ⚠️ Warning | Email + In-app Message | Handle within 2 hours |
| 🚨 Critical | SMS + Phone (TODO) | Handle within 30 minutes |
| 🔥 Emergency | Phone + On-call (TODO) | Immediate action |
Root Cause Analysis Engine (TODO)
Automated Diagnosis Flow:
Scenario Monitoring Field Specifications
| Parameter | Field Name | Type | Required | Length Limit | Description |
|---|---|---|---|---|---|
| ID | id | bigint | Conditional | / | Unique monitoring task identifier; mandatory for modifications |
| Scenario ID | scenarioId | long | Yes | / | Associated scenario unique ID |
| Monitoring Name | name | string | Yes | ≤100 | Monitoring task name |
| Description | description | string | No | ≤200 | Monitoring task description |
| Time Settings | timeSetting | object | Yes | / | Monitoring execution time configuration |
| Server Configuration | serverSetting | list | No | / | Target server configuration |
| Notification Settings | noticeSetting | object | Yes | / | Alert notification configuration |
| Project ID | projectId | Read-only | / | / | Associated project ID |
| Scenario Name | scenarioName | string | Read-only | / | Associated scenario name |
| Monitoring Status | status | enum | Read-only | / | Status Enum: Pending/Success/Failure |
| Failure Reason | failureMessage | string | Read-only | / | Detailed failure information |
| Next Execution Time | nextExecDate | datetime | Read-only | / | Next scheduled execution time |
| Last Monitoring History ID | lastMonitorHistoryId | long | Read-only | / | Last monitoring history record ID |
| Last Monitoring Time | lastMonitorDate | datetime | Read-only | / | Last monitoring execution time |
| Monitoring Statistics | count | object | Read-only | / | Monitoring result statistics |
| Tenant ID | tenantId | long | Read-only | / | Associated tenant ID |
| Creator ID | createdBy | long | Read-only | / | Monitoring task creator ID |
| Creator Name | createdByName | string | Read-only | / | Creator name |
| Creation Time | createdDate | datetime | Read-only | / | Monitoring task creation time |
| Last Modifier ID | lastModifiedBy | long | Read-only | / | Last modifier ID |
| Last Modifier Name | lastModifiedByName | string | Read-only | / | Last modifier name |
| Last Modified Time | lastModifiedDate | datetime | Read-only | / | Last modification time |
Time Settings Fields (timeSetting)
| Parameter | Field Name | Type | Required | Length Limit | Description |
|---|---|---|---|---|---|
| Creation Method | createdAt | enum | Yes | / | Creation Method Enum: Immediate/Scheduled/Recurring |
| Specified Time | createdAtSomeDate | datetime | Conditional | / | Specific execution time (required when creation method is "Scheduled") |
| Recurrence Unit | periodicCreationUnit | enum | Conditional | / | Recurrence Unit Enum: Day/Week/Month (required for "Recurring") |
| Day of Week | dayOfWeek | enum | Conditional | / | Weekday Enum: Monday-Sunday (required when unit is "Week") |
| Day of Month | dayOfMonth | int | Conditional | / | Specific day (1-31) (required when unit is "Month") |
| Time of Day | timeOfDay | time | Conditional | / | Specific time (required for "Recurring") |
| Hour | hourOfDay | int | Conditional | / | Hour (1-23) (required for "Recurring") |
| Minute | minuteOfHour | int | Conditional | / | Minute (1-59) (required for "Recurring") |
| One-time Execution | onetime | boolean | No | / | Execute only once (default false) |
Notification Settings Fields (noticeSetting)
| Parameter | Field Name | Type | Required | Length Limit | Description |
|---|---|---|---|---|---|
| Enable Notifications | enabled | boolean | Yes | / | Whether to enable alert notifications |
| Organization Type | orgType | enum | Conditional | / | Org Type Enum: User/Department/Group (required when enabled) |
| Organization List | orgs | set | Conditional | / | Notification recipient organizations (required when enabled) |
Monitoring Statistics Fields (count)
| Parameter | Field Name | Type | Description |
|---|---|---|---|
| Total Executions | totalNum | int | Total monitoring executions |
| Success Count | successNum | int | Successful monitoring executions |
| Failure Count | failureNum | int | Failed monitoring executions |
| Success Rate | successRate | double | Monitoring success rate (percentage) |
| Last 24h Count | last24HoursNum | int | Monitoring executions in last 24 hours |
| Last 24h Successes | last24HoursSuccessNum | int | Successful executions in last 24 hours |
| Last 24h Success Rate | last24HoursSuccessRate | double | Success rate in last 24 hours |
| Last 7 Days Count | last7DayNum | int | Monitoring executions in last 7 days |
| Last 7 Days Successes | last7DaySuccessNum | int | Successful executions in last 7 days |
| Last 7 Days Success Rate | last7DaySuccessRate | double | Success rate in last 7 days |
| Last 30 Days Count | last30DayNum | int | Monitoring executions in last 30 days |
| Last 30 Days Successes | last30DaySuccessNum | int | Successful executions in last 30 days |
| Last 30 Days Success Rate | last30DaySuccessRate | double | Success rate in last 30 days |
| Average Latency | avgDelayTime | object | Average latency object |
| Minimum Latency | minDelayTime | object | Minimum latency object |
| Maximum Latency | maxDelayTime | object | Maximum latency object |
| P50 Latency | p50DelayTime | object | 50th percentile latency |
| P75 Latency | p75DelayTime | object | 75th percentile latency |
| P90 Latency | p90DelayTime | object | 90th percentile latency |
Monitoring Status (status)
| Enum Value | Description |
|---|---|
PENDING | Pending |
SUCCESS | Success |
FAILURE | Failure |
Organization Type (orgType)
| Enum Value | Description |
|---|---|
USER | User |
DEPT | Department |
GROUP | Group |
Time Unit (periodicCreationUnit)
| Enum Value | Description |
|---|---|
DAY | Day |
WEEK | Week |
MONTH | Month |