# Compound Check

The Compound Check is a virtual, aggregated check, meaning that there are multiple individual checks, in a specified monitor subgroup, whose statuses/results make up the results of this Compound Check.

## Use Case <a href="#compoundcheck-usecase" id="compoundcheck-usecase"></a>

If you have multiple checks that need to be collectively assessed before creating an event/alert, this is the check type that allows the logic that says, “Whenever X checks are over a certain count/threshold set an aggregate result to all of them.”

**Example 1 Global API Application Response**: If you have 4 global checks, measuring your API response from 4 different locations, US, EU, APAC, and China but you know that China has a firewall that has caused checks to be periodically down (fatal) for known periods, the Compound Check can create logic that states that 3 of the 4 checks must be in a fatal condition for at least X number of times (or X percentage of the results) before you can declare the API application to be in a Fatal condition.

**Example 2 North America Regional Performance over Time**: If you have 6 North America checks, measuring your Check-out Cart response times from 6 different locations, 4 US (Northeast, Northwest, Southeast, and Southwest), 2 Canadian (East and West Coasts), the Compound Check can create logic that states that 4 of the 6 checks must be in a slow response/Warning condition least 25% of the results in the last hour before you can send an alert to your operations team to check if your e-commerce application servers might be overloaded.

This will give you the ability to lower your false-positive rates when you set realistic thresholds and have other checks be validators of what may turn out to be a historically unreliable region or network.

| **Step**                                                                                                                                                                                                                                                                                              | **Screenshot**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ol start="1"><li>Click the “Compound Check” button in the New Check creation wizard to start creating a Compound Check.</li></ol>                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <ol start="2"><li>Fill Out the Create Compound Check Dialog by naming the check, describing it, and tagging it.</li></ol>                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <p>3. Select from a pre-defined Monitor <strong>Subgroup</strong> from the dropdown box.</p><p>This will focus the aggregation of the checks to a specific group of checks.</p><p>If you don’t have that Subgroup pre-defined, you will need to do this first for it to show up in this dropdown.</p> | <p></p><p>The monitor subgroup containing the checks to aggregate. Status information from all checks in the selected subgroup will be included. E.g. for the selection “Basic Checks \ URL Checks”, all URL Checks under the Basic Checks Group will be aggregated.</p><p></p>                                                                                                                                                                                                                                                                                                                                                                      |
| <h3 id="compoundcheck-monitoringgroupaggregationsacrosschecksinthegroup">Monitoring Group Aggregations Across Checks in the Group</h3>                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|                                                                                                                                                                                                                                                                                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <h4 id="compoundcheck-returnvalue">Return Value</h4>                                                                                                                                                                                                                                                  | <p>Which type of aggregation information to be returned on the selected checks.</p><p>Choices are:</p><ul><li><strong>Count</strong> - The absolute number of checks with the specified severity statuses.</li><li><strong>Percent</strong> - The percent of selected checks with the specified severity statuses.</li></ul><p>The screenshot shows a Return Value of <strong>Percent</strong>.</p>                                                                                                                                                                                                                                                  |
| <h4 id="compoundcheck-latestrun-severitystatusmatchlist">Latest Run - Severity Status Match List</h4>                                                                                                                                                                                                 | <p>A string containing the severity statuses to <em>include</em> in aggregation. Possible values are I (Info), W (Warning), E (Error), and F (Fatal).</p><p><strong>Example</strong>: WEF (this string will aggregate all selected checks with a severity status of Warning, Error, or Fatal).</p><p>In the screenshot, the string is set to <strong>EF. So, in the count/percent Return Value, only the checks that return an E (Error) or F (Fatal) are calculated in the count/percentage.</strong></p>                                                                                                                                           |
| <h4 id="compoundcheck-latestrun-checksthreshold">Latest Run - Checks Threshold</h4>                                                                                                                                                                                                                   | <p>This is the <strong>threshold</strong> for the “Latest Run - Result Severity“ to be applied.</p><p>So, if the <em>Return Value</em> (<strong>Count</strong>/<strong>Percent</strong> of checks matching the <em>Latest Run - Severity Status Match List</em>) exceeds this setting, then the severity status of this Compound Check will be set to the <em>Latest Run - Result Severity,</em> chosen <strong>below</strong>.</p><p>In the screenshot, the threshold is set to <strong>50 + Percent</strong></p>                                                                                                                                   |
| <h4 id="compoundcheck-latestrun-resultseverity">Latest Run - Result Severity</h4>                                                                                                                                                                                                                     | <p>The severity status to set for this Compound Check if the number of checks matches the criteria in the previous two fields.</p><p>NOTE: If both the <em>Latest Run</em> and <em>Consecutive Runs</em> criteria are triggered at the same time, then the worst of two severities will be applied.</p><p>In the screenshot, the Result Severity is set to <strong>F</strong> meaning (in this screenshot) that if <em><strong>50%</strong></em> of the checks in the Basic Checks\URL Checks result in Error or Fatal, the result severity will be <strong>Fatal</strong>.</p>                                                                      |
| <h3 id="compoundcheck-consecutiveruns-checksresultsovertime">Consecutive Runs; Checks Results Over Time</h3>                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <h4 id="compoundcheck-consecutiveruns-count">Consecutive Runs - Count</h4>                                                                                                                                                                                                                            | <p>This Compound Check’s status will be set to the chosen <em>Consecutive Runs -Result Severity</em> (see that table row below) whenever the number of runs matching the <em>Consecutive Runs-Severity Status</em> for <em><strong>any single check in the selected monitor subgroup</strong></em> exceeds the number set here.</p><p>To disable tracking of individual checks, set this value to -1.</p><p>Tracking times start with the most current result and looks backwards.</p><p>In the screenshot, the Consecutive Runs Count is set to <strong>5</strong>; 5 consecutive runs of this check over time.</p>                                 |
| <h4 id="compoundcheck-consecutiveruns-severitystatus">Consecutive Runs - Severity Status</h4>                                                                                                                                                                                                         | <p>For any single check in the selected monitor subgroup, the severity status to use when counting matching consecutive runs. Possible values are I (Info), W (Warning), E (Error), and F (Fatal).</p><p><strong>Example</strong>: WEF (this string will count the total consecutive runs every single check has matched a severity status of Warning, Error, or Fatal).</p><p>In the screenshot, the Severity Status is set to EF, so for every check in the Basic Checks\URL Checks that has matched a severity status of Error or Fatal will be counted.</p>                                                                                      |
| <h4 id="compoundcheck-consecutiveruns-resultseverity">Consecutive Runs - Result Severity</h4>                                                                                                                                                                                                         | <p>The severity status to set for this Compound Check if the consecutive runs of a single check match the criteria in the previous two fields.</p><p>Possible values are I (Info), W (Warning), E (Error), and F (Fatal).</p><p>NOTE: If both the “Latest Run” and “Consecutive Runs” criteria are triggered at the same time, then the worst of two severities will be applied</p><p>In the screenshot, the severity will be set to <strong>E</strong> meaning (in this screenshot) that if 5 consecutive checks in the <em>Basic Checks\URL</em> <em>Checks</em> result in Error or Fatal, the result severity will be <strong>Error</strong>.</p> |
