Using aggregate data with Thorium
Because Thorium can store data in its register, you can keep track of a certain amount of aggregate data and perform operations based on it. Let's take a look at a classic example: load average. We'll use the load
beacon to keep track of load on a minion and fire events when it falls outside the bounds configured for it. Then we'll have Thorium perform calculations and react when another threshold is reached.
First, we need to set up the load
beacon. Let's go ahead and use the configuration that we looked at earlier in the chapter, with one addition. Add the following configuration to your minion
file:
beacons: load: - 1m: - 0.0 - 2.0 - interval: 30 - onchangeonly: True
Setting onchangeonly
to True
will tell the beacon not to fire any events unless the thresholds that we have configured have been passed. This will cut down on the amount of traffic that is sent to the master.
Then we'll set up a Thorium SLS file to take a look...