Monitor Everything Under Your VMs
Storage, queues, load balancers, services and pools are what actually takes a private cloud down - and they are exactly the layer generic server monitoring skips. One agent covers Ceph, RabbitMQ, HAProxy, systemd, ZFS and the metrics server you run yourself.
Built for teams monitoring production infrastructure
No credit card · 2-minute setup
Infrastructure Services
-
One Agent, No Exporters
Every engine is a per-instance toggle on the agent you already installed. Nothing to deploy per service, no scrape config to maintain, no inbound port.
-
Alerts That Know the Domain
A queue with zero consumers, a backend pool that lost every member, a pool that went DEGRADED, a unit that failed - each one a one-click template, not a threshold you invent.
-
Planned Work Stays Quiet
A drained HAProxy server freezes its alert instead of resolving it, a cluster under maintenance stops paging, and a dead agent can never hold an incident open on frozen state.
Six Engines, One Agent
Ceph
Cluster health, monitor quorum, OSDs up and in, placement-group states, capacity, client I/O and recovery throughput, per-pool usage and per-OSD latency and fullness.
RabbitMQ
Per-queue depth, unacknowledged messages, consumer count and publish/deliver rates, plus per-node memory and disk alarms and file-descriptor and socket usage.
HAProxy
Per-backend status, live and total servers, sessions, session rate, queue depth, 4xx and 5xx rates and retries - plus the status of every individual server.
systemd
Per-unit state, enablement, restart counts and memory, with the failing unit's journal excerpt and reverse dependencies captured at the moment it broke.
ZFS
Per-pool health straight from zpool, capacity and fragmentation, degraded vdev counts, resilver progress and scrub errors.
Prometheus / VictoriaMetrics
Your own metrics server, checked from outside: reachability, version, series count, storage size, scrape targets down, rule failures and free disk space.
Deep dive
Ceph as a Cluster, Not a Pile of Hosts
A Ceph cluster is an organization-level object here, identified by its fsid and reported by however many of your hosts run the agent. Monitor a five-node cluster from five agents and you still get one cluster, one health verdict and one incident - not five copies of the same story. The agent reads Ceph with a scoped read-only keyring; it never needs the admin key.
Health, quorum and capacity are always derived from the reporters that are currently fresh, so the most complete one is authoritative and another takes over the moment it goes quiet. A cluster only becomes visible once two separate hosts confirm the same fsid, which is what stops a typo or a half-configured host from inventing a phantom cluster; for a genuine single-node or lab cluster you promote it yourself with one click.
Its own page charts capacity, OSD and placement-group states, monitor quorum, client throughput and IOPS as a read/write butterfly, recovery throughput and the misplaced and degraded object backlog. Below that, a per-pool table ranks pools by usage, and an OSD section names the slowest and the fullest OSDs rather than just counting how many are nearfull.
Deep dive
Queues and Load Balancers: the Two Alerts You Actually Want
RabbitMQ is polled over its management API, so it is monitored the same way from a Linux, Windows or macOS host. The alert fires when a queue crosses a depth you set or when it has zero consumers while messages are piling up - the canonical sign your workers died, and the case a depth threshold alone misses on a slow queue. One incident per queue, named for it.
HAProxy is read from the stats socket or the HTTP CSV. By default the alert watches the backend aggregate, so it pages when a whole pool is down; switch it to per-server and it pages the moment any single member fails. Pick the one that matches how you run: whole-pool keeps a rolling deploy quiet, per-server tells you about the member nobody noticed.
Both understand planned work. A backend or server in MAINT or DRAIN freezes its alert rather than resolving it, so draining a node for maintenance never sends the false all-clear that would tell you the outage is over.
Deep dive
Who Watches the Watcher
If you run Prometheus or VictoriaMetrics, it is the thing watching everything else - which means that when it dies, nothing reports the outage. The collector of outages is the collector that went down, so the failure is silent by construction and you find out when someone asks why the graphs stopped.
Fivenines checks that server as software, from outside it: reachability, flavour and version, series count and storage size, plus scrape targets down, rule evaluation failures, dropped notifications and write-ahead-log corruptions on Prometheus, or free disk space, slow inserts and rows ignored on VictoriaMetrics. Bad credentials or a TLS problem are reported as a configuration error rather than an outage, because those are different work.
The targets alert is deliberately conservative: if the targets API stops answering, it freezes instead of reporting that everything recovered. Losing visibility is not the same as being healthy, and a monitoring tool that confuses the two is worse than none.
Services and Storage on the Host Itself
systemd units, with the evidence attached
The agent collects service, timer and socket units with no sudo. When one enters failed, the alert carries the journal excerpt and the reverse dependencies captured at that moment - so the notification tells you what broke, not just that something did. One incident per unit, and you can scope it to a named list.
ZFS pools, honest about what it does not know
The zpool health word is stored exactly as zpool reports it, alongside capacity, fragmentation, degraded vdev counts, resilver progress and scrub errors. Where zpool status could not be read, the value is empty rather than zero - a blank scrub-error count and a clean one are different facts, and only one of them is good news.
Deep dive
Alerting Without Writing Rules
Seven triggers cover this layer, and every one of them ships as a one-click workflow template: Ceph cluster degraded, RabbitMQ queue backlog, HAProxy backend down, systemd service down, ZFS pool degraded, monitoring stack unreachable and Prometheus scrape targets down. Pick one from the gallery and it lands fully wired - trigger, condition and notification - and every node stays editable.
Defaults are chosen to page on the thing that matters and stay quiet otherwise. The ZFS alert watches DEGRADED, FAULTED, UNAVAIL and SUSPENDED, with OFFLINE and REMOVED available if you want them, since those are usually an operator's own doing. The systemd alert watches failed by default, with inactive opt-in. The Ceph alert watches HEALTH_ERR, and you can add HEALTH_WARN to page earlier - many clusters live in WARN, so that is your call rather than ours.
Alerts fan out per entity, so two failed units open two incidents, each named for its unit, and you know what to look at before you open anything. Everything else on the platform still applies: business-hours and maintenance gates, cooldowns, rechecks and escalation.
Alerts go where your team works: email, Slack, Microsoft Teams, Telegram, Discord, Pushover, PagerDuty or webhooks.
Included on every plan, Starter upward
No add-on and no per-integration charge. Enable as many of these as an instance runs - it still counts once against your plan's monitor limit.
How It Compares
| Approach | Setup | Ceph | Queues + LB | Alert rules |
|---|---|---|---|---|
| Prometheus + Grafana | Hours per stack | Exporter required | Exporter required | Hand-written |
| Zabbix | Per-template | Official template | Official template | Template macros |
| Netdata | Auto-detected | Collector | Collector | Config files |
| Fivenines | Toggle per host | Cluster-scoped | Supported | One-click templates |
Frequently Asked Questions
Do I need a separate agent or exporter for each service? +
How does Ceph monitoring work - do I install the agent on every node? +
What do the queue and load balancer alerts actually fire on? +
Why would I monitor my own Prometheus or VictoriaMetrics server? +
Are these on a paid tier? +
Explore next
Related Features
Proxmox Monitoring
The hypervisor layer above this one - clusters, quorum, nodes, VMs, LXC containers and storage pools.
Explore ->Server Alerts
Per-entity alerts on all eight channels, with escalation gates for business hours, maintenance and cooldowns.
Explore ->Custom Dashboards
Chart Ceph, RabbitMQ, HAProxy, systemd and ZFS metrics next to the rest of your fleet.
Explore ->Linux Server Monitoring
The base metrics under all of it - CPU, memory, disk, network and processes from one open-source agent.
Explore ->See how Fivenines compares to other tools
Read our guide to the best infrastructure monitoring tools in 2026.
Monitor the layer under your VMs in 2 minutes
14-day trial. No credit card required.
No credit card · 2-minute setup · Cancel anytime