MONITRC run time updation causing MONIT to freeze.

Kannamraju P <[email protected]> Tue, 27 Oct 2020 20:17:09 -0400
Newsgroups gmane.comp.monitoring.monit.general
Message-ID <CAOaXqMh42t7mCxxPOugBykGWPNnq0YTwOdrJ5k6-zZSbwV7szQ@mail.gmail.com>
Hi All,
  I am running into a race condition , when I try to dynamically update
monitrc externally while MONIT is running , here is my use case

1. MONIT setup in daemon mode with 5 sec polling timeout . It  has a set of
static services defined in the default MONITRC file.
2. Default  Monitrc includes one more custom config file ex: monitrc_custom
file
   *."include /etc/monitrc_custom"*

    a) In this custom monitrc file , services get added and deleted
dynamically by an external process
    b) Any updation to monitrc is followed by monit reload, so that MONIT
picks up the updated service details

  With this setup I am observing that when both external service and monit
try to access the custom monitrc file , MONIT is getting stuck .
It becomes non responsive  and "Monit summary" results in all processes
stuck in initializing state .

ex:

[image: image.png]


Is there a way I can apply some locking mechanism to avoid the
contention of both external processes and monit accessing
config files at same time ?


-- 
thanks & Regards,
Raju
image.png (image/png, 22.2 KB) - not displayed