Files
smom-dbis-138/monitoring/prometheus/alerts/oracle.yml

95 lines
3.2 KiB
YAML
Raw Normal View History

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"