Monitoring¶
Everything you need to observe, measure, and respond to what's happening inside your Mailyte email server. From real-time dashboards to automated incident response, this section covers the full monitoring stack.
Mailyte ships with a complete monitoring stack built on Prometheus, Grafana, and a custom health monitor. You get metrics, dashboards, alerts, and auto-healing out of the box — no third-party setup required.
Architecture at a Glance¶
graph LR
subgraph Services
PF[Postfix]
DV[Dovecot]
RS[Rspamd]
API[FastAPI :5000]
DB[(MySQL)]
RD[(Redis)]
WK[Workers]
end
subgraph Monitoring Stack
HM[Health Monitor :8080]
PR[Prometheus :9090]
GR[Grafana :3000]
AM[Alertmanager :9093]
end
PF --> PR
DV --> PR
RS --> PR
API --> PR
DB --> PR
RD --> PR
WK --> PR
HM --> PF
HM --> DV
HM --> RS
HM --> API
HM --> DB
HM --> RD
HM --> WK
PR --> GR
PR --> AM
AM --> WH[Webhooks / Email / Slack] The Three Pillars¶
| Pillar | Tool | What It Gives You |
|---|---|---|
| Metrics | Prometheus | Time-series data from every service — queue depths, delivery rates, error counts, latency |
| Visualization | Grafana | Pre-built dashboards with graphs, tables, and heatmaps |
| Alerting | Alertmanager + Webhooks | Notifications via Slack, Teams, email, or any webhook when things go wrong |
In This Section¶
-
Overview
The three pillars of observability and how they fit together in Mailyte.
-
Prometheus
Metrics collection, scrape configuration, and retention settings.
-
Grafana
Pre-built dashboards, custom panels, and visualization setup.
-
Alerting
Alert rules, severity levels, and notification channel configuration.
-
Health Checks
The health monitor service on
:8080— what it checks and how to use it. -
Enterprise Metrics
Business-level metrics per organization — delivery rates, usage, and billing data.
Deep Dives¶
| Page | What It Covers |
|---|---|
| Service Monitoring | Per-service health and status checks for Postfix, Dovecot, Rspamd, and workers |
| System Monitoring | OS-level CPU, RAM, disk, and network stats via node exporter |
| Auto-Healing | Automatic restart of failed services with configurable thresholds |
| Webhook Notifications | Push alerts to Slack, Teams, PagerDuty, or any HTTP endpoint |
| Performance | Response times, throughput, queue depths, and delivery latency |
| SLA Monitoring | Uptime tracking and delivery SLA compliance reporting |
| Troubleshooting | Fixing issues with the monitoring stack itself |
Quick Start¶
Already have Mailyte running? Verify the monitoring stack is healthy:
If any of these fail
Head to Troubleshooting for step-by-step diagnosis of common monitoring issues.
Key ports to remember
| Service | Port | URL |
|---|---|---|
| Health Monitor | 8080 | http://localhost:8080/health |
| Prometheus | 9090 | http://localhost:9090 |
| Grafana | 3000 | http://localhost:3000 |
| Alertmanager | 9093 | http://localhost:9093 |
Related Sections¶
- Configuration > Monitoring Configuration — Configure scrape targets and alert rules
- Configuration > Prometheus Setup — Full
prometheus.ymlreference - Deployment > Monitoring Stack — Deploying the monitoring infrastructure
- Reference > Prometheus Metrics — Every exposed metric with labels and types
- Reference > Performance Metrics — Key metrics and their healthy ranges