Recovery email sent without failure or recovery log entry
Christos Chatzaras <[email protected]> Thu, 9 Jul 2026 11:14:17 +0300
| Newsgroups | gmane.comp.monitoring.monit.general |
|---|---|
| Message-ID | <[email protected]> |
Hello, I am using Monit 6.0.0 on FreeBSD 14+. My configuration includes: set daemon 30 set alert [email protected] not on { instance, action, uptime } 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 The log shows only these CPU messages: Jul 9 10:32:17 server102 monit[42487]: 'server102.example.com' cpu = usage of 86.2% matches resource limit [cpu usage > 65.0%] Jul 9 10:32:48 server102 monit[42487]: 'server102.example.com' cpu = usage of 76.0% matches resource limit [cpu usage > 65.0%] There is no CPU recovery message in the Monit log. However, at the next cycle I received this email: Resource limit succeeded Description: cpu usage check succeeded [current cpu usage =3D 30.6%] I did not receive any failure email, and the Postfix logs contain only = the recovery email. How can Monit send a 'Resource limit succeeded' email when: 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. 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? Could this be related to having multiple CPU, load average, memory, = swap, and pageout rules under the same `check system` service? Thank you.