``` feat: add websocket tests, PoA metrics, marketplace endpoints, and enhanced observability - Add comprehensive websocket tests for blocks and transactions streams including multi-subscriber and high-volume scenarios - Extend PoA consensus with per-proposer block metrics and rotation tracking - Add latest block interval gauge and RPC error spike alerting - Enhance mock coordinator
54 lines
1.8 KiB
YAML
54 lines
1.8 KiB
YAML
groups:
|
|
- name: blockchain-node
|
|
rules:
|
|
- alert: BlockProposalStalled
|
|
expr: (block_interval_seconds_sum / block_interval_seconds_count) > 5
|
|
for: 1m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Block production interval exceeded 5s"
|
|
description: |
|
|
Average block interval is {{ $value }} seconds, exceeding the expected cadence.
|
|
|
|
- alert: BlockProposalDown
|
|
expr: (block_interval_seconds_sum / block_interval_seconds_count) > 10
|
|
for: 2m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "Block production halted"
|
|
description: |
|
|
Block intervals have spiked above 10 seconds for more than two minutes.
|
|
Check proposer loop and database state.
|
|
|
|
- alert: MinerErrorsDetected
|
|
expr: miner_error_rate > 0
|
|
for: 1m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "Miner mock reporting errors"
|
|
description: |
|
|
The miner mock error gauge is {{ $value }}. Investigate miner telemetry.
|
|
|
|
- alert: CoordinatorReceiptDrop
|
|
expr: rate(miner_receipts_attested_total[5m]) == 0
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "No receipts attested in 5 minutes"
|
|
description: |
|
|
Receipt attestations ceased during the last five minutes. Inspect coordinator connectivity.
|
|
|
|
- alert: RpcErrorsSpiking
|
|
expr: increase(rpc_request_failures_total[5m]) > 0
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "RPC error spike detected"
|
|
description: |
|
|
RPC request failures have increased during the last five minutes. Investigate rpc_request_failures_total for details.
|