[NEW FEATURE] Full inventory postpone or reduce inventory size most of the time #592
Pinned
g-bougard
announced in
Nightly builds
Replies: 1 comment 3 replies
-
UPDATE:
TODO:
|
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We implemented a new configuration variable named
full-inventory-postpone
. The purpose is to reduce the inventory size sending partial inventories with only the changed categories.It works in the following way:
That last step is the way the agent can make a "full inventory postpone". There are few conditions to make this possible:
json
option must also be set,partial
inventory property is only supported in that case,full-inventory-postpone
must be set to a non null positive value. Actually its value is set by default to 14.The postpone number is stored with the digests. It grows until it reaches the configured value. The next time the inventory task runs, the full inventory won't be postponed, so a full inventory is sent or stored and the postpone number stored with digests is set to 0. So with the default value, the agent can postpone 14 times the full inventory sending and the 15th will always be a full inventory. With the default inventory delay set to 24h on server-side, this means an agent will send a full inventory after 2 weeks.
The main goal of this feature is to reduce load on GLPI servers with a big number of assets to integrate.
Before this feature, the category digest was still computed but only for a restricted number of categories. This was only used to output a line in log to tell which category changed. Now most category digests are computed. One of the required change was to make the inventory output consistent when a category doesn't change. In that way, some category should now report their objects list ordered. This involves you'll be able to make a
diff
on 2 inventories and only the really changed categories should appear in the diff.As a reminder, you can see all the inventory categories in the glpi-agent man page. By default, digest won't be computed for
accesslog
andprovider
. The first because it changes all the time as this is indeed the inventory run date. The second because it's used for debugging purpose as it reports the used agent. By default,bios
andhardware
categories will always be kept even if they didn't change in inventory as they are simply required by GLPI to integrate consistently the inventory with the known asset: import and update rules required few properties from these categories.As example, for linux, the largest category in inventory is the software one. It may change often but this depends on the frequency softwares are updated. When no change is found, this can reduce the inventory size up to 90%. This is also valid for windows, but the size reducing will probably be lower.
What to know about this feature at the time of this writing:
full-inventory-postpone
key in registry usingstring
format and set it to another value or even disabling it with0
.If you want to get involved in that feature evaluation, we would appreciate all feedback and thought about the feature by itself. From the technical perspective, we would appreciate a feedback if you find a category which is still included even if it didn't really change. This could be the sign we still need to reorder a list reported for the category.
Beta Was this translation helpful? Give feedback.
All reactions