Alerts

Get notified when your servers need attention.

Overview

Mighty Monitor continuously evaluates incoming metrics against configurable thresholds. When a threshold is breached, an alert is triggered and notifications are sent to your configured channels. When the metric recovers, a recovery notification is sent automatically.

Alert types

Four alert types are built in:

AlertWhat it measuresThreshold type
CPU HighNormalized load (load average / core count)Decimal (e.g. 0.8, 1.5)
RAM HighMemory used as a percentagePercentage (0–100)
Disk HighDisk used as a percentagePercentage (0–100)
Host SilentAgent stopped sending heartbeatsIntervals (× 30s each)

Each alert type has two severity levels: Warning and Critical. If a warning is already active and the metric worsens past the critical threshold, the alert escalates automatically.

Alert profiles

Alert profiles bundle thresholds, alert behavior, and notification routing into a single configuration that can be assigned to one or more hosts. Every organization has a Default profile that applies to any host without an explicit assignment.

Creating a profile

  1. Go to Settings → Alert Profiles.
  2. Click New profile.
  3. Give it a name (e.g. “Database Servers”).
  4. Configure thresholds and behavior, then save.

Thresholds

Each profile has warning and critical thresholds for every alert type:

  • CPU — Normalized load. A value of 1.0 means the load average equals the number of cores.
  • RAM / Disk — Percentage used (0–100). Warning must be lower than critical.
  • Host Silent — Number of missed intervals (each interval is 30 seconds).

Alert behavior

Fine-tune how alerts trigger and recover:

SettingWhat it does
Consecutive breachesHow many consecutive threshold breaches are required before an alert fires. Prevents alerts from transient spikes.
Consecutive recoveryHow many consecutive non-breaching intervals are required before a recovery fires. Prevents flapping.
CooldownMinutes to wait before re-alerting on the same condition at the same severity. Recovery notifications are never suppressed.

Assigning to hosts

Assign a profile to a host from the host detail page under Host Settings. Hosts without an explicit profile use the Default profile. Deleting a profile reverts its hosts back to the Default profile.

Notification channels

Notification channels are configured globally in Settings → Integrations, then assigned to individual alert profiles. This lets different profiles route to different channels.

Email

Email notifications are available on all plans. Configure recipients per alert profile:

  • Org members — Toggle any team member on or off.
  • Custom addresses — Add any external email address (e.g. a shared ops inbox).

Emails include the alert type, severity, host name, current value, and threshold, with a direct link to the host detail page.

Slack

Connect Slack to receive alert notifications as rich, interactive messages.

Setup

  1. Go to Settings → Integrations.
  2. Click Add to Slack and complete the OAuth flow.
  3. Assign the Slack channel to an alert profile in the Alert Profiles tab.

How it works

  • When an alert fires, a message is posted with the alert details and two buttons: View Host and Mute 1h.
  • If the alert escalates (warning → critical), the original message is updated in place.
  • When the metric recovers, the same message is updated with a recovery status and the action buttons are removed.

Each alert profile can route to a different Slack channel, overriding the integration default. Configure this per-profile in the Alert Profiles tab.

Webhooks

Webhooks let you send alert data to any HTTPS endpoint. Every webhook request is signed so you can verify it came from Mighty Monitor.

Adding a webhook

  1. Go to Settings → Integrations.
  2. Click Add webhook.
  3. Enter a name, the HTTPS endpoint URL, and a signing secret (minimum 16 characters). You can click Generate to create one automatically.
  4. Assign the webhook to an alert profile in the Alert Profiles tab.

Payload

Webhooks are sent as POST requests with a JSON body:

{
  "event": "alert.triggered",
  "timestamp": "2026-02-22T10:00:00Z",
  "host": {
    "id": "host-uuid",
    "displayName": "web-svr-1"
  },
  "alert": {
    "type": "cpu",
    "severity": "crit",
    "status": "triggered",
    "value": 2.4567,
    "threshold": 2.0
  }
}

The event field is either alert.triggered or alert.recovered. Alert types are cpu, ram, disk, and silent.

Verifying signatures

Every webhook request includes these headers:

HeaderDescription
X-MightyMonitor-SignatureHMAC-SHA256 signature, prefixed with sha256=
X-MightyMonitor-TimestampUnix timestamp of the request
X-MightyMonitor-EventEvent type (alert.triggered or alert.recovered)

To verify the signature:

  1. Construct the message: {timestamp}.{raw_body}
  2. Compute HMAC-SHA256(your_secret, message).
  3. Compare the hex-encoded result with the value after the sha256= prefix.

Delivery

  • Timeout: 10 seconds per attempt.
  • Retries: up to 5 attempts with backoff.
  • Delivery log: view the status and HTTP response code for each delivery attempt in Settings → Integrations.

Push notifications

If you use the Mighty Monitor iOS app, push notifications are sent automatically when alerts fire or recover. Just sign in to the iOS app and allow notifications when prompted — no additional setup required.

Muting a host

Muting a host temporarily suppresses all notifications for that host. Alerts are still evaluated and recorded, but no notifications are sent until the mute expires.

You can mute a host from:

  • The host detail page in the web dashboard.
  • The Mute 1h button on Slack alert messages.