Skip to content

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.

    Overview

  • Prometheus


    Metrics collection, scrape configuration, and retention settings.

    Prometheus

  • Grafana


    Pre-built dashboards, custom panels, and visualization setup.

    Grafana

  • Alerting


    Alert rules, severity levels, and notification channel configuration.

    Alerting

  • Health Checks


    The health monitor service on :8080 — what it checks and how to use it.

    Health Checks

  • Enterprise Metrics


    Business-level metrics per organization — delivery rates, usage, and billing data.

    Enterprise Metrics

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:

Bash
curl http://localhost:8080/health

Returns a JSON summary of every service's status.

Bash
curl http://localhost:9090/-/healthy

Open http://your-server:9090 for the Prometheus UI.

Bash
curl http://localhost:3000/api/health

Open http://your-server:3000 and log in with the default credentials from your .env file.

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