Add a health check

StackState Self-hosted v4.6.x

This page describes StackState version 4.6.

Go to the documentation for the latest StackState release.

Overview

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:

  1. Select the element that you want to assign a health check to.

  2. Click ADD NEW HEALTH CHECK under Health in the Component Details pane on the right of the screen.

  3. In the Add check dialog box, provide the following details:

    • Name - The health check name. Will be displayed in the StackState UI Health pane.

    • Description - Optional, can be used to explain the check in greater detail.

    • Remediation hint - Optional, will be automatically displayed on the element when this check goes to a non clear state, for example critical or deviating.

    • Check function - The check function to use to monitor the element's telemetry stream(s). See Check functions below.

  4. Provide the required check function arguments, these will vary according to the check function selected, but will include:

  5. Click CREATE to create the health check.

    • 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.

Metric stream configuration

Windowing method

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.

Time window (or window size)

By default, the time window is 300000 milliseconds (or 5 minutes). The time window will directly influence the number of positive or false negative alerts. The longer you configure the time window, the less sensitive it will be. However, if it is too short this may lead to a sudden spike in unwanted alerts, which might not help you meet your SLO. You should balance the time window based on the metric and how early you want to be alerted on spikes.

Check functions

Each health check calculated 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.

  • You can create a custom check function to customize how StackState assigns a health state to a metric stream.

  • Details of the available check functions can be found in the StackState UI, go to Settings > Check functions.

Check function: Autonomous metric stream anomaly detection

The Autonomous metric stream anomaly detection health check reacts to anomaly events and sets the component health state to the DEVIATING (orange).

➡️ Learn more about anomaly health checks.

Synchronize external health data

You can synchronize existing health checks from an external monitoring system and add them to StackState topology elements.

See also

Last updated