Host your own email and enhance your privacy
Fired by Prometheus rule EFSBurstCreditsLow — BurstCreditBalance below 20% of baseline for 1 h.
The EFS file system is on bursting throughput mode and has spent down its accumulated credits. Once credits hit zero, EFS throttles I/O to the file system’s baseline rate (which scales with stored size — small file systems get very little baseline).
For Cabalmail, EFS holds:
/home/<user> for each Cognito user)./uptime-kuma, ntfy auth/cache at /ntfy, Healthchecks SQLite at /healthchecks, Prometheus TSDB at /prometheus, Grafana SQLite at /grafana, Alertmanager state at /alertmanager).When credits run out:
aws cloudwatch get-metric-statistics --namespace AWS/EFS --metric-name BurstCreditBalance \
--dimensions Name=FileSystemId,Value=<fs-id> \
--start-time $(date -u -v-24H +%FT%TZ) --end-time $(date -u +%FT%TZ) \
--period 300 --statistics Average
A steep drop in the last hour points to a runaway process. A linear drift over days means baseline > burst earnings — file system needs to grow or move to elastic mode.
MeteredIOBytes per access point in the EFS console. If /uptime-kuma or /prometheus is dominating, the monitoring stack is the culprit (often Kuma writing 1-second probe results to SQLite — bump the monitor interval). If /home dominates, look for a stuck procmail or a brute-force on IMAP creating lots of failed-auth log writes.aws efs update-file-system --file-system-id <fs-id> --throughput-mode elastic). Costs more but eliminates the throttle class entirely.warning severity. Once the file system is at zero credits and throttling, expect mail-delivery latency alerts to follow if any are configured (Phase 4 §2 adds these).