Health checks report a health state for elements (components and relations). The health state can either be calculated internally by StackState based on data from telemetry streams or synchronized with an external monitoring system.
The combined check states attached to an element are used to calculate its overall health status. When the status of an element changes, a state change event is generated. These events can be used to trigger event notifications and actions.
Add a health check
Most elements in the StackState topology will have a relevant health check added when the are created. If required, you can also add custom health checks that calculate a health state in StackState based on available telemetry streams or synchronize health data from an external monitoring system.
To add a health check calculated in StackState:
Select the element that you want to assign a health check to.
The check is now active and visible under the Health section on the right-hand side of the screen.
The check will remain gray until enough telemetry data has been received to determine a health state.
Add a health check to an element
Each health check caluclated in StackState uses a check function to monitor the telemetry stream attached to the element.
Check functions are scripts that take streaming telemetry as an input, check the data based on its logic and on the supplied arguments and output a health state. The telemetry changes a check function responds to determine the way in which the health check reports element health state, for example by monitoring a metric stream for thresholds and spikes, or checking the generated events. A number of check functions are included out of the box with StackState, or you could create a custom check function.
Details of the available check functions check the StackState UI Settings > Check functions.
For metrics check functions, a windowing method and window size must be provided. This determines how often the check function will run based on the incoming metrics. There are two possible windowing methods, batching and sliding.
The batching windowing method groups metric data into strictly separate windows of the configured window time, with consistent start and end times. For example, with window size set to 60 seconds, a batching check will run every minute with metrics from the previous minute.
The sliding windowing method groups metric data into overlapping windows. For example, with window size set to 60 seconds, a sliding check will run whenever the data flows in after 60 seconds of metrics have been collected. Note that runs of the check will adhere to the Minimum live stream polling interval configured for the data source.