Ad blocker detected: Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker on our website.
I am using cacti 0.8.8h version running on a centos-7 box. Recently, I started noticing loads of processes running on the box which increases the cpu-load.Considering the number of devices (~7.5k) this might be normal. However I am seeing hundreds of postdrop,sendmail, "poller.php --debug" process. Digging further I see this cronjob,
This might contribute the load hike. My question is, I have configured the poller process through cacti GUI under "Poller" tab and was thinking that will take care of the polling process. If thats true, is it safe to disable the above cronjob?
Well apologies as this may not be a perfect explanation.
The cron job is what actually 'does' everything, without it nothing will run or poll.
When the cron job runs I believe it queries MySQL to find out 'what' to do, which is the poller settings as well as hosts to poll etc.. But this is where my understanding gets fuzzy as well.
Specifically around poller intervals, and how to sync the cron job frequency to your collection rates.
Others may have more insight here, but the most important point is if you remove the cron job you are essentially turning Cacti off, the web page will still load but it will stop collecting data and building graphs.
> Cron starts Poller at cron defined interval (which should be the same as the setting as it's is verified)
> Poller starts
> finds the polling interval, checks whether to update MIBs (every four hours)
> finds the cron interval, and assumes that the interval is either 60 seconds (1 minute) or 300 seconds (5 minutes)
> finds the number of subprocesses for the current poller, or uses the system default
> finds how many times a poller should run within a cron period
> finds how long the current process should run
> finds how many items should be used per subprocess
> for each run within the cron interval:
> find the hosts that need to be polled
> see if there was an existing process and warn if so
> starts spine or cmd.php with the poller id, first and last host to process (maximum calculated above) [repeated until all hosts are processing]
> waits until the next poller interval or maximum runtime
That doesn't even go into detail about what CMD.PHP or Spine do for each host
Wow! didnt expect lot happens from the poller job. Thanks for letting me know. I have one more question, since I have around 7.5k hosts (~5 graphs each) configured, does it optimize the performance if I increase the cronjob from every 5 minutes to 10 or even higher?
Not particularly from what I can think of. As described about, the cron interval is assumed to be either 1 minute or 5 minutes (not sure why that seems pretty limited to me). It may be to ensure a refresh of memory usage to prevent memory leaks crippling a system.