Problem:
As part of the general behavior, the Collector writes to disk after every read to update the "last read" signature to note where the Collector left off with the reading of a file or events. By default, every second the Collector saves the last read file (pointer) location in a source config file under the Collector. So, for N number of Sources, every second there will be N number of updates to these files. If you have a long list of sources configured under a collector these updates could result in higher than expected IOPS.
Resolution:
The following Collector properties can be updated within the /<sumo_home>/config/collector.properties file and control how often the Collector will write to the Source json files under the Collector, which can help reduce IOPS.
Parameter Name | Description | Default Value |
bladeManager.localPersist.interval.sec | Sets the interval for the Collector to update the last location information pointer within each Source file. | 1 |
bladeManager.fallback.localPersist.interval.sec | Sets the fallback interval for the above pointer. | 60 |
For example, to increase the interval of these writes from 1 second to every 30 seconds, with a backup of every 3 minutes:
- Stop the current Collector process.
- Open the following file for edit:
/<sumo_home>/config/collector.properties - Update the following parameters or add them to the end of the file.
bladeManager.localPersist.interval.sec = 30
bladeManager.fallback.localPersist.interval.sec = 180 - Restart the Collector process to apply the changes.
NOTE: Increasing these values may result in duplicated log ingest when an unexpected shutdown and subsequent restart event occurs due to the Collector not having the most up to date last read pointer for a Source. Any duplication due to an unexpected shutdown should be limited to the interval set within these parameters.
Comments
0 comments
Please sign in to leave a comment.