- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
95 lines
3.2 KiB
YAML
95 lines
3.2 KiB
YAML
groups:
|
|
- name: oracle_alerts
|
|
interval: 30s
|
|
rules:
|
|
# Oracle data source health
|
|
- alert: OracleDataSourceDown
|
|
expr: up{job="oracle-data-source"} == 0
|
|
for: 2m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Oracle data source is down"
|
|
description: "Oracle data source {{ $labels.instance }} is unavailable"
|
|
|
|
# Oracle update frequency
|
|
- alert: OracleUpdateStale
|
|
expr: time() - oracle_last_update_timestamp > 300
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Oracle update is stale"
|
|
description: "Oracle {{ $labels.feed }} has not been updated in {{ $value }} seconds"
|
|
|
|
# Oracle update frequency too high
|
|
- alert: OracleUpdateFrequencyTooHigh
|
|
expr: rate(oracle_updates_total[5m]) > 1
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Oracle update frequency is too high"
|
|
description: "Oracle {{ $labels.feed }} is being updated {{ $value }} times per second"
|
|
|
|
# Oracle price deviation
|
|
- alert: OraclePriceDeviation
|
|
expr: abs(oracle_price - oracle_previous_price) / oracle_previous_price > 0.05
|
|
for: 1m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Oracle price deviation detected"
|
|
description: "Oracle {{ $labels.feed }} price changed by {{ $value | humanizePercentage }}"
|
|
|
|
# Oracle price deviation critical
|
|
- alert: OraclePriceDeviationCritical
|
|
expr: abs(oracle_price - oracle_previous_price) / oracle_previous_price > 0.10
|
|
for: 1m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "Critical oracle price deviation"
|
|
description: "Oracle {{ $labels.feed }} price changed by {{ $value | humanizePercentage }}"
|
|
|
|
# Oracle health check
|
|
- alert: OracleHealthCheckFailed
|
|
expr: oracle_health_check == 0
|
|
for: 2m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Oracle health check failed"
|
|
description: "Oracle service {{ $labels.instance }} health check is failing"
|
|
|
|
# Oracle transmitter unavailable
|
|
- alert: OracleTransmitterUnavailable
|
|
expr: up{job="oracle-transmitter"} == 0
|
|
for: 2m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "Oracle transmitter is unavailable"
|
|
description: "Oracle transmitter {{ $labels.instance }} is down"
|
|
|
|
# Oracle aggregator errors
|
|
- alert: OracleAggregatorErrors
|
|
expr: rate(oracle_aggregator_errors_total[5m]) > 0.1
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Oracle aggregator errors detected"
|
|
description: "Oracle aggregator error rate is {{ $value }} errors/second"
|
|
|
|
# Oracle round ID mismatch
|
|
- alert: OracleRoundIdMismatch
|
|
expr: oracle_round_id - oracle_expected_round_id > 1
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Oracle round ID mismatch"
|
|
description: "Oracle {{ $labels.feed }} round ID is {{ $value }} ahead of expected"
|
|
|