Boost Update Interval
Moderators: Developers, Moderators
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Boost Update Interval
I have confusion in understanding how boost plugin update works. As per my understanding, spine poller will poll each host in cacti every 5 minutes (Poller Interval) then Boost will update the rrd and depicts graphs. So even boost will update rrd every 5 minutes? The reason I am confused is from the boost setting i can see lots of parameters like below,
The boost status is,
BY seeing that i convinced the boost will update rrd by every 2 hours or if it reaches 500,000 records. However from the log, i can see its updating every 5 minutes (approx). Could some give me an overview the flow of how it works?
Oct 25 12:04:20 cacti3 Cacti[5577]: SYSTEM: BOOST STATS: Time:224.1100 RRDUpdates:95038
Oct 25 12:08:44 cacti3 Cacti[31714]: SYSTEM: BOOST STATS: Time:190.2200 RRDUpdates:95081
Oct 25 12:16:26 cacti3 Cacti[41070]: SYSTEM: BOOST STATS: Time:86.5000 RRDUpdates:25250
Oct 25 12:23:02 cacti3 Cacti[26537]: SYSTEM: BOOST STATS: Time:148.1000 RRDUpdates:190152
Oct 25 12:28:49 cacti3 Cacti[52129]: SYSTEM: BOOST STATS: Time:196.6800 RRDUpdates:95022
Oct 25 12:34:48 cacti3 Cacti[12886]: SYSTEM: BOOST STATS: Time:259.0900 RRDUpdates:95075
Oct 25 12:39:42 cacti3 Cacti[38253]: SYSTEM: BOOST STATS: Time:232.8300 RRDUpdates:95092
The boost status is,
BY seeing that i convinced the boost will update rrd by every 2 hours or if it reaches 500,000 records. However from the log, i can see its updating every 5 minutes (approx). Could some give me an overview the flow of how it works?
Oct 25 12:04:20 cacti3 Cacti[5577]: SYSTEM: BOOST STATS: Time:224.1100 RRDUpdates:95038
Oct 25 12:08:44 cacti3 Cacti[31714]: SYSTEM: BOOST STATS: Time:190.2200 RRDUpdates:95081
Oct 25 12:16:26 cacti3 Cacti[41070]: SYSTEM: BOOST STATS: Time:86.5000 RRDUpdates:25250
Oct 25 12:23:02 cacti3 Cacti[26537]: SYSTEM: BOOST STATS: Time:148.1000 RRDUpdates:190152
Oct 25 12:28:49 cacti3 Cacti[52129]: SYSTEM: BOOST STATS: Time:196.6800 RRDUpdates:95022
Oct 25 12:34:48 cacti3 Cacti[12886]: SYSTEM: BOOST STATS: Time:259.0900 RRDUpdates:95075
Oct 25 12:39:42 cacti3 Cacti[38253]: SYSTEM: BOOST STATS: Time:232.8300 RRDUpdates:95092
Re: Boost Update Interval
No, boost was made so that you don't actually do lots of small writes / seeks to the rrd files every 5 minutes (which requires lots of disk I/O and can add lots of polling time to the poller causing it to overrun on slower disked systems). Instead it delays all the writes and saves them into a memory table, them it does bulk updates.
1. Poller grabs the data from the host
2. Normally it would go in the poller output table
3. Instead boost grabs the data from there and sticks it in its table
4. It will continue to do them until 1 of 2 things happen
5. If you view a grab, before the graph image is created, it will do a quick bulk update of all that graphs data to its rrd, that way you see the latest data
6. Once any of the conditions in the settings are met, meaning it either hits the time limit or it hits X number of records in the table, it will go ahead and flush all that data back to the rrds.
The one thing you do have to do is ensure that you are using a memory table for the poller_output and the boost poller output table (otherwise you are just making those writes to mysql!) and ensure that the memory limits are setup properly. If you ever need to reboot the server, you will then need to disable boost, and wait until the boost table is flushed (I run the command manually instead of waiting for the poller) otherwise all data in the memory table will be lost.
1. Poller grabs the data from the host
2. Normally it would go in the poller output table
3. Instead boost grabs the data from there and sticks it in its table
4. It will continue to do them until 1 of 2 things happen
5. If you view a grab, before the graph image is created, it will do a quick bulk update of all that graphs data to its rrd, that way you see the latest data
6. Once any of the conditions in the settings are met, meaning it either hits the time limit or it hits X number of records in the table, it will go ahead and flush all that data back to the rrds.
The one thing you do have to do is ensure that you are using a memory table for the poller_output and the boost poller output table (otherwise you are just making those writes to mysql!) and ensure that the memory limits are setup properly. If you ever need to reboot the server, you will then need to disable boost, and wait until the boost table is flushed (I run the command manually instead of waiting for the poller) otherwise all data in the memory table will be lost.
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Re: Boost Update Interval
First of all thanks for your response. I really appreciate it.
From you explanation. the boost will gather poller data and keep in its table and update it , if the time limit (2hours in my case) expires or it hits X number of records (500,000) in the table.
Then how i am seeing latest data on graph every 5 minutes interval?
Also , I keep watching the boost status
where Boost updating this record every 5 minutes which still I couldnt understand why.
Am i confusing with multiple unrelated events? I need some understanding on this before i start some work. Any comment would be great.
From you explanation. the boost will gather poller data and keep in its table and update it , if the time limit (2hours in my case) expires or it hits X number of records (500,000) in the table.
Then how i am seeing latest data on graph every 5 minutes interval?
Also , I keep watching the boost status
where Boost updating this record every 5 minutes which still I couldnt understand why.
Am i confusing with multiple unrelated events? I need some understanding on this before i start some work. Any comment would be great.
- Attachments
-
- 3.PNG (4.49 KiB) Viewed 2932 times
Re: Boost Update Interval
First, it seems that you have boost disabled (you have to check that box up top) so I am not even sure why it is running at all. What version of Cacti / Spine?
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Re: Boost Update Interval
I have just disabled the "On demand Updating" feature from boost. We had an issue that cacti graphs only when the graphs was displayed. Disabling it fixed the issue but I am still seeing some gaps which am trying to fix.
You can find cacti details below,
You can find cacti details below,
Re: Boost Update Interval
Its been a while since I used the old boost plugin. In Cacti 1.0, Boost is integrated directly into the Core, so a lot of things have changed. But in 1.0 "Enable On Demand RRD Updating" is just the checkbox for Enabling Boost (ya the wording is really weird), is there another checkbox on the old plugin for directly enabling Boost?
The reason that I ask, is that it appears that there may be a bug. It honestly seems like your Boost is disabled (normally this just means that it wouldn't try to pull the data from the poller_output table itself), but Spine is set to directly inject into the Boost Poller table (that setting is set and the bug may be that its ignoring the fact that boost is disabled though). So that basically Spine keeps injecting the values. Boost, even when disabled, will pull out any data in its poller table (as it should, that is how it cleans itself up when you disable it).
So basically Boost is running every 5 minutes, because Spine is improperly injecting data into the Boost table. It sees that it shouldn't be there (its disabled) so it cleans them out.
The reason that I ask, is that it appears that there may be a bug. It honestly seems like your Boost is disabled (normally this just means that it wouldn't try to pull the data from the poller_output table itself), but Spine is set to directly inject into the Boost Poller table (that setting is set and the bug may be that its ignoring the fact that boost is disabled though). So that basically Spine keeps injecting the values. Boost, even when disabled, will pull out any data in its poller table (as it should, that is how it cleans itself up when you disable it).
So basically Boost is running every 5 minutes, because Spine is improperly injecting data into the Boost table. It sees that it shouldn't be there (its disabled) so it cleans them out.
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Re: Boost Update Interval
I see a separate option to enable boost server . You can find that below.
Also what i can see is, initially "Poller_output" table is populated then it directs to "poller_output_boost" . So this correlates your explanation on working of boost. So i believe "On Demand Update" is just the one of the feature on boost. You think enabling it will solve by issue of seeing gaps in graphs?
Also what i can see is, initially "Poller_output" table is populated then it directs to "poller_output_boost" . So this correlates your explanation on working of boost. So i believe "On Demand Update" is just the one of the feature on boost. You think enabling it will solve by issue of seeing gaps in graphs?
Re: Boost Update Interval
No, Boost Server is technically different also. Its a separate process that always stays running.
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Re: Boost Update Interval
So whats the difference in enabling/disabling "On demand Update" if boost is always running?
Anyway I have enabled the feature again and see how it trends.
Anyway I have enabled the feature again and see how it trends.
Re: Boost Update Interval
"On Demand Update" is really just the long name for "Boost". Boost was built as an "On Demand Updater" instead of the classic "Update everything Immediately every time" design of the poller.
Initially, its key feature was to store all data until needed and update the graphs on demand, and then periodically update the rest of the graphs. The key is that this was 1 feature, not 2 separate so there is no option to just disable the on demand updating of the graphs (even though it appears that way because its really badly worded). The only way its even working for you now is that there appears to be a bug in Spine.
Generally your gaps in the graphs are most likely caused by a different issue (its a bit hard to diagnose without some more info). Usually rrd files are owned by the user the poller runs as, and then when boost comes along and tried to "On Demand Update" them, it can't because it doesn't have write access as the web server user. It attempted to write it though, so it clears that data from the table, and thus you get the gaps. The Boost Server was made to fix that problem, as it would be ran as the specified root user, and Boost (as the web server) would contact it to tell it to update the files (as the root user) instead of it doing it.
First thing to check is whether the boost server process is running. If I remember correctly, for the plugin, in order to use boost server you had to take its service init script as shown here (it comes with the plugin)
http://svn.cacti.net/viewvc/boost/trunk ... iew=markup
and create the linux service with it. Then start it.
Initially, its key feature was to store all data until needed and update the graphs on demand, and then periodically update the rest of the graphs. The key is that this was 1 feature, not 2 separate so there is no option to just disable the on demand updating of the graphs (even though it appears that way because its really badly worded). The only way its even working for you now is that there appears to be a bug in Spine.
Generally your gaps in the graphs are most likely caused by a different issue (its a bit hard to diagnose without some more info). Usually rrd files are owned by the user the poller runs as, and then when boost comes along and tried to "On Demand Update" them, it can't because it doesn't have write access as the web server user. It attempted to write it though, so it clears that data from the table, and thus you get the gaps. The Boost Server was made to fix that problem, as it would be ran as the specified root user, and Boost (as the web server) would contact it to tell it to update the files (as the root user) instead of it doing it.
First thing to check is whether the boost server process is running. If I remember correctly, for the plugin, in order to use boost server you had to take its service init script as shown here (it comes with the plugin)
http://svn.cacti.net/viewvc/boost/trunk ... iew=markup
and create the linux service with it. Then start it.
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Re: Boost Update Interval
This solved most of my doubts. Just have one stupid question.
Speaking about boost process, i can see it is running using init script.
/etc/init.d/cacti_rrdsvc status
Status of Cacti RRDTool Process: running ...
ls -l /etc/init.d/cacti_rrdsvc
-rwxr-xr-x 1 root root 1337 Jul 15 14:11 /etc/init.d/cacti_rrdsvc
My rrd files are own by "cacti" user. I am keeping my graphs on trend now to see if i could find gaps after enabling "On demand Update". I am happy to provide more details if required.
From this, the graphs will be updated by boost for every 2 hours or if it hits the record limit. If thats the case how am i able to see graphs of continous flow? I should be expecting some wait time till the update is done for the graphs to plot right?Initially, its key feature was to store all data until needed and update the graphs on demand, and then periodically update the rest of the graphs
Speaking about boost process, i can see it is running using init script.
/etc/init.d/cacti_rrdsvc status
Status of Cacti RRDTool Process: running ...
ls -l /etc/init.d/cacti_rrdsvc
-rwxr-xr-x 1 root root 1337 Jul 15 14:11 /etc/init.d/cacti_rrdsvc
My rrd files are own by "cacti" user. I am keeping my graphs on trend now to see if i could find gaps after enabling "On demand Update". I am happy to provide more details if required.
Re: Boost Update Interval
When you view a graph, meaning that any time a graph image is loaded, Boost will automatically pull the data from the boost poller table, update the rrd file for that graph (using boost server if its running) so that the graph image always has the latest data. This was one of the whole points / compromises of Boost. Store the data (to save on seeks/writes) BUT make it user friendly so that graphs are updated automatically if we go to look at them. That is the "On Demand" part of Boost. No one really wants to wait 30 minutes for a graph to update when they are troubleshooting.5. If you view a grab, before the graph image is created, it will do a quick bulk update of all that graphs data to its rrd, that way you see the latest data
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Re: Boost Update Interval
The reason i asked you that question is I had an issue, where i never looked at the graphs lets say for 2 days and on the third day when i open , i saw it started graphing from that point. However the previous two days was blank.
One feature of boost is it start updating the rrd whenever we looked into it - (This part I understood)
Second feature is, it update periodically either by time or record - My doubt is over here. For an example if my boost update time is 2 hours. I see last update is at 1pm and second update will be at 3pm. However if I open the graphs at 2pm i can see the trend since 1pm. I mean to say its continous from 1pm where boost haven't updated the rrd. From where its getting those values as boost will provide only at 3pm?
If my question seems so trivial i apologies for that. I am trying to understand better by asking some simple questions.
One feature of boost is it start updating the rrd whenever we looked into it - (This part I understood)
Second feature is, it update periodically either by time or record - My doubt is over here. For an example if my boost update time is 2 hours. I see last update is at 1pm and second update will be at 3pm. However if I open the graphs at 2pm i can see the trend since 1pm. I mean to say its continous from 1pm where boost haven't updated the rrd. From where its getting those values as boost will provide only at 3pm?
If my question seems so trivial i apologies for that. I am trying to understand better by asking some simple questions.
Re: Boost Update Interval
That is what I am saying.
If you view the imagine at 2pm, it is going to have every data point from 1pm to 2pm also, because you are viewing the graph. When you view the graph, boost intercepts the request, updates the rrd with the latest data (all the data from 1pm to 2pm) from the poller table, and then allows the image to be created with all the data.
If you view the imagine at 2pm, it is going to have every data point from 1pm to 2pm also, because you are viewing the graph. When you view the graph, boost intercepts the request, updates the rrd with the latest data (all the data from 1pm to 2pm) from the poller table, and then allows the image to be created with all the data.
-
- Cacti User
- Posts: 67
- Joined: Wed Nov 25, 2015 2:35 pm
Re: Boost Update Interval
ah got it now. Thanks a lot for helping me out.
Now i have to work on actual issue (Gaps in graphs) by knowing what am doing.
Now i have to work on actual issue (Gaps in graphs) by knowing what am doing.
Who is online
Users browsing this forum: No registered users and 2 guests