Proxmox alerts in Discord, Google Chat and email

June 20, 2026 · 5 min read

Proxmox alerts in Discord, Google Chat and email

Proxmox VE is solid infrastructure software, but its built-in notification options are limited. The web UI shows you what is happening right now, but it will not ping you at 3 am when a guest stops responding or a node disappears from the cluster. If you are running production workloads on Proxmox, you need an alerting layer that watches for problems and delivers them to wherever you actually pay attention: your Discord server, Google Chat space, or inbox. NexoVirt ships a rule-based alerting engine that does exactly that, with no third-party monitoring service required.

Why Proxmox Needs an External Alerting Layer

The native Proxmox web interface is a management tool, not a monitoring system. It tells you the current state of your nodes and guests when you look at it. It does not proactively alert you when a guest transitions from running to stopped, when CPU on a node has been pinned at 95% for ten minutes, or when a guest is three days from plan expiry. For a homelab that you check daily this may be acceptable. For a VPS environment with paying customers, or any infrastructure where uptime matters, you need something watching continuously and notifying you through a channel you monitor.

Bolting a general-purpose monitoring tool like Prometheus + Alertmanager onto Proxmox works, but it adds significant operational complexity: exporters to install and maintain on each node, a separate database, alert rule files to manage, and routing configuration separate from everything else. NexoVirt's alerting is built directly on the metrics and inventory data the panel already collects, which means no extra exporters, no separate stack, and rules configured in the same UI you use to manage your guests.

What You Can Alert On

NexoVirt's alerting engine evaluates eight condition types against the metrics and inventory data it collects continuously:

  • Guest down. A guest that was previously running has stopped or become unreachable. Useful for detecting unexpected shutdowns and crashes.
  • Node unreachable. A Proxmox node has stopped reporting into the inventory collector. This catches hardware failures, network partitions, and host-level crashes.
  • Sustained CPU high. CPU utilisation on a guest or node has exceeded a configurable threshold for a configurable duration. Transient spikes are ignored; sustained pressure triggers the alert.
  • Sustained RAM high. Memory utilisation above threshold for a sustained period, on guests or nodes.
  • Sustained disk high. Disk usage above threshold, useful for catching guests approaching full volumes before they become a problem.
  • Agent unhealthy. The NexoVirt host agent has not reported a heartbeat within the expected window, or is running an outdated version.
  • Plan traffic. A plan-assigned guest is approaching or has exceeded its monthly traffic limit.
  • Plan expiry. A plan-assigned guest is within the configured warning window of its expiry date.

Each alert rule carries a threshold, a severity (for filtering on the receiving end), and a cooldown period so that a sustained condition does not flood your channels. Rules fire, renotify on cooldown, and resolve automatically when the condition clears.

Delivery Channels: Inbox, Email, and Webhooks

Alerts are delivered through three independent channels, and each rule can target any combination of them:

  • In-panel inbox. Every fired alert appears in the NexoVirt Alerts section, with a severity badge, timestamps, and acknowledge/resolve controls. This is always available regardless of webhook or email configuration.
  • Email. Alerts are sent via your configured SMTP settings using editable templates with a live preview. The same SMTP setup used for welcome emails and plan expiry notices handles alert delivery, so there is no separate mail configuration.
  • Webhooks. NexoVirt can POST alert payloads to one or more webhook endpoints. Three provider formats are supported: generic JSON (a standard {event, alert} envelope compatible with any HTTP receiver), Discord (rich embeds with severity-coloured sidebars), and Google Chat (Cards v2 format, compatible with Google Workspace spaces). The provider is auto-detected from the URL: paste a Discord webhook URL and NexoVirt recognises it automatically.

You can configure multiple webhook endpoints, each with independent severity and alert-type filters and an enabled toggle. A failing endpoint never blocks delivery to the others.

Setting Up Proxmox Discord Alerts

Getting Proxmox Discord alerts from NexoVirt takes about two minutes. In Discord, open the channel you want alerts delivered to, go to its settings, choose Integrations, and create a new webhook. Copy the webhook URL: it will look like https://discord.com/api/webhooks/<id>/<token>.

In NexoVirt, go to Settings → Alerts → Webhooks and add a new endpoint. Paste the Discord URL into the URL field. NexoVirt detects the discord.com/api/webhooks pattern and sets the provider to Discord automatically. Choose which severities and alert types should be routed to this endpoint, for example, you might send only Critical and High alerts to your main ops channel, and route all severities to a lower-traffic monitoring channel. Save, then use the Send test button in Settings → Alerts to verify delivery.

Discord alerts arrive as rich embeds. The severity maps to the embed colour, the alert type and subject appear in the title, and the detail (threshold, affected guest or node, current value) is in the body. A resolve notification is sent when the condition clears.

Google Chat and Email Alerts

Proxmox Google Chat alerts follow the same setup path. In Google Chat, open the space you want alerts in, go to Apps & Integrations, and add an incoming webhook. Copy the URL: it will contain chat.googleapis.com, which NexoVirt auto-detects as the Google Chat provider. Add the endpoint in Settings → Alerts → Webhooks, set your severity filters, and save. Alerts arrive as Cards v2 messages, compatible with Google Workspace spaces.

For Proxmox email alerts, go to Settings → Email → SMTP, enter your SMTP credentials, and set a from address. The alert templates (subject and body) are editable under Settings → Email → Templates, with a 50/50 live preview and variable chips so you can see exactly what a fired or resolved alert email will look like before you save. Email recipients are configured in Settings → Alerts. Mail is delivered via an outbox queue flushed by a background process every minute, so delivery is near-real-time but does not block the alerting engine if your SMTP server is slow.

Rule Scoping and Per-Guest Mute

Alert rules have three levels of scope. Global defaults apply across all hosts, nodes, and guests, useful for setting a baseline threshold you want everywhere. Per-host or per-node overrides let you tighten or loosen thresholds for specific infrastructure. Per-guest overrides go further, letting you set a different CPU threshold for a known high-CPU workload guest without raising the threshold for everything else.

When the most-specific matching rule wins, global defaults are always a fallback: you do not have to configure every combination manually.

If a guest should never trigger alerts at all, for example, a development VM where you expect erratic behaviour, a per-guest mute switch on the guest detail page excludes it from all alert evaluation. Node and host conditions are not affected by the guest mute.

Getting Started

NexoVirt's alerting engine is enabled by default and evaluates rules continuously in the background. The in-panel inbox works out of the box; webhook and email channels require only the respective configuration steps described above. Because alerting runs entirely on your own server and reads from the same database the rest of the panel uses, there is no external dependency to manage and no additional agent to install.

NexoVirt is available now. Community Edition is free (up to 2 nodes). If you are running Proxmox and want rule-based alerting delivered to Discord, Google Chat, or email without bolting on a separate monitoring stack, get started free and connect it to your existing infrastructure.

Try NexoVirt

One clean panel for every Proxmox host.