Re: Recovery email sent without failure or recovery log entry

Christos Chatzaras <[email protected]> Thu, 9 Jul 2026 20:27:10 +0300
Newsgroups gmane.comp.monitoring.monit.general
Message-ID <[email protected]>
For anyone experiencing the same issue, this patch restores the behavior =
of the previous Monit version:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D296636


> On 9 Jul 2026, at 11:14, Christos Chatzaras <[email protected]> =
wrote:
>=20
> Hello,
>=20
> I am using Monit 6.0.0 on FreeBSD 14+.
>=20
> My configuration includes:
>=20
> set daemon 30
>=20
> set alert [email protected] not on { instance, action, uptime =
}
>=20
> check system $HOST
>  if cpu usage > 65% for 20 cycles then alert
>  if cpu usage > 90% for 10 cycles then alert
>  if loadavg (15min) per core > 1.0 for 10 cycles then alert
>  if loadavg (5min) per core > 1.5 for 5 cycles then alert
>  if memory usage > 96% for 10 cycles then alert
>  if swap usage > 8 GB for 10 cycles then alert
>  if pageout > 100 per second for 10 cycles then alert
>  if pageout > 1000 per second for 3 cycles then alert
>=20
> The log shows only these CPU messages:
>=20
> Jul  9 10:32:17 server102 monit[42487]: 'server102.example.com' cpu =
usage of 86.2% matches resource limit [cpu usage > 65.0%]
>=20
> Jul  9 10:32:48 server102 monit[42487]: 'server102.example.com' cpu =
usage of 76.0% matches resource limit [cpu usage > 65.0%]
>=20
> There is no CPU recovery message in the Monit log.
>=20
> However, at the next cycle I received this email:
>=20
> Resource limit succeeded
>=20
> Description:
> cpu usage check succeeded [current cpu usage =3D 30.6%]
>=20
> I did not receive any failure email, and the Postfix logs contain only =
the recovery email.
>=20
> How can Monit send a 'Resource limit succeeded' email when:
>=20
> 1. The CPU condition was above 65% for only two cycles, not the =
required 20 cycles.
> 2. No failure email was sent.
> 3. No recovery message was written to the Monit log.
>=20
> Does 'matches resource limit' only mean that the current sample =
matched the condition, or can it change the shared resource event state =
before the 20-cycle threshold is reached?
>=20
> Could this be related to having multiple CPU, load average, memory, =
swap, and pageout rules under the same `check system` service?
>=20
> Thank you.
>=20
>=20