Monitoring corosync
corosync is the membership and messaging layer under a Proxmox VE cluster and under Pacemaker stacks. The agent recognises it by its systemd unit, reports whether the unit is active, and ships its journal. Whether a stopped corosync is a problem depends entirely on whether the node belongs to a cluster, so the alert for it does not read this definition at all; the section on alerts explains where it reads from instead.
How corosync is recognised
The signed corosync definition matches a host where the corosync.service unit exists,
running or not. That is deliberate: on a standalone Proxmox VE node the unit is installed
and inactive, and the definition still has to match to say so. Every two minutes the agent
runs systemctl is-active corosync and turns the answer into a 0/1 metric. An inactive unit
is a successful probe with a value of 0, not a failed check.
What is collected
Unit state. One metric, 1 when the unit is active and 0 otherwise.
| Signal | Metric |
|---|---|
| corosync unit active | svc.corosync.unit_active |
Names, tags and units are in the metrics reference.
Logs. The logs-corosync definition ships the journal entries of corosync and
pmxcfs (the Proxmox cluster file system, which sits on top of corosync) at notice level
and above by default, every 30 seconds. Membership changes, token timeouts and quorum
transitions arrive as log lines under this service. See Logs.
Alerts out of the box
No rule watches svc.corosync.unit_active. The rule corosync is not running exists, but
it reads svc.proxmox.cluster.corosync_active, a metric the Proxmox VE definition emits
only on a node that is a cluster member (the node sees a cluster in its status or carries a
cluster configuration file). A standalone node never emits that metric and therefore never
fires the rule, however long its corosync stays inactive. On a cluster member the rule opens
when the daemon is inactive for 2 minutes, at warning severity, and closes when it is active
again. The whole cluster-side picture, quorum included, is on
Monitoring Proxmox VE.
| Rule | Fires when | Severity | Ships |
|---|---|---|---|
| corosync is not running | the membership daemon is inactive on a Proxmox cluster member for 2 minutes | warning | on |
On a Pacemaker cluster without Proxmox there is no built-in rule; a custom rule on
svc.corosync.unit_active == 0 in the console (/alerting/rules) gives you the same
alert, since every metric above can drive one. Thresholds and hysteresis are in the
rules catalog.
Limitations
- Only the unit state is read. Ring status, the token timeout, the vote count and the quorum verdict are not collected from corosync itself; on Proxmox VE the quorum verdict comes from the Proxmox definition instead.
- No corosync version or configuration fact is reported.
- Without systemd there is no unit to match, so the definition does not apply on other init systems.
- Nothing is read from Pacemaker or the resource layer above corosync.
Related
- Monitoring Proxmox VE, including quorum and the cluster-plane corosync metric
- Monitoring DRBD and LINSTOR for the replicated storage that usually runs alongside
- Proxmox monitoring on the main site