Possible regression in Heartbeat 7.5.0

I'm running Heartbeat using the official Heartbeat docker image. Ever since updating from 7.4.2 to 7.5.0, none of my HTTP monitors appear to be getting run. I have around 300 monitors configured with their schedule set to "0 0 */2 * * * *" (every 2 hours). I've tried changing it to "0 */5 * * * * *" (every 5 minutes) and get the same result where no monitors are getting run. I then tried running only 3 monitors with schedule "0 */5 * * * * *". Voila! Monitors are getting run.

So, there appears to be some kind of bug in 7.5.0 that when a large number of monitors are configured, then they just don't get run.

PS: No errors are appearing in the heartbeat logs when I've got the ~300 monitors configured.

[SOLVED]: False alarm. The problem was with the machine I was running heartbeat on. It wasn't powerful enough to handle ~300 monitors. After upgrading to better hardware, heartbeat 7.5.0 works as intended.

FYI, the scheduler fix in https://github.com/elastic/beats/pull/14959 should make heartbeat able to scale better. I'm hoping we can release this as early as 7.5.1

1 Like