The threshold test may be applied to any scalar sample facet value. When inclusive parameter is TRUE, the parent observation fires if the sample facet value is included in the threshold bounds (i.e. less than upper or greater than or equal to the lower). When inclusive parameter is FALSE, the parent observation fires if the sample facet value is excluded from the threshold bounds (i.e. greater than or equal to the upper and less than lower). Thresholds with the same inclusive parameter value can be successfully chained (multiple non-overlapping observations with threshold tests for a given monitor’s facet value). Refer to Table 60 - threshold Test Truth Table, for examples of how thresholds are evaluated. arg0, upper and lower test parameters can be a literal, a facet ID or a special function taking a facet ID as an argument.
inclusive = True:
value | lower | upper | breach? |
79.999r | 80 | 90 | no |
80.0 | 80 | 90 | yes |
89.999r | 80 | 90 | yes |
90.0 | 80 | 90 | no |
90.001 | 80 | 90 | no |
inclusive = False:
value | lower | upper | breach? |
79.999r | 80 | 90 | yes |
80.0 | 80 | 90 | no |
89.999r | 80 | 90 | no |
90.0 | 80 | 90 | yes |
90.001 | 80 | 90 | yes |
The compare test may be applied to any sample facet. The arg0 and arg1 parameters can be a literal, a facet ID or a special function taking a facet ID as an argument. arg0 and arg1 must have compatible types. For example, you may not compare a facet value that is type “int” with a string literal. If such a configuration is implemented then the agent will log a warning indicating that the operand types are incompatible. The operator defines the type of comparison and can be one of the following relational operators:
eq - equal
ne - not equal (neq is also acceptable)
gt - greater than
ge - greater than or equal (gte is also acceptable)
lt - less than
le - less than or equal (lte is also acceptable)
The compare test will always perform the evaluation in the order: arg0, operator, arg1.
The true test is a generalisation of the notNull test which works on all data types. Essentially it behaves in the same way as implicitly using the bool() casting function on arg0 and comparing for equality with 0.
The behaviour of the true test performed on different types is comparable to the behaviour of the bool() function (as described in <Test>): For an argument that is any non-zero number, including negative numbers, the test will succeed. For an argument that is any string with a non-zero length the test will succeed. In all other cases the test will fail. arg0 must be ‘1’ for this test to succeed.
The false test is a generalisation of the null test which works on all data types. Essentially it behaves as implicitly using the bool() casting function on arg0 and comparing for equality with 0.
The behaviour of the false test performed on different types is comparable to the behaviour of the bool() function (as described in <Test>): For an argument that is any non-zero number, including negative numbers, the test will fail. For an argument that is any string with a non-zero length the test will fail. In all other cases the test will pass. arg0 must be ‘0’ for this test to succeed.
The regex test is successful if a string value in arg0 matches the regular expression of the regex parameter. See Regular Expression Syntax for information on how to specify regular expressions.
Deprecated, the false test is preferred now.
The null test may be applied to string type sample facets. This is essentially a compare test (as described above) where the arg1 is preset to an empty string (‘’) and the operator is set to eq.
Deprecated, the true test is preferred now.
The notNull test may be applied to string type sample facets. This is essentially a null test (described above) where result is negated.
The processUp test is only valid in observations for the agent.mon.processMonitor, or any monitor that elicits a “pid” facet value. The observation fires if the test detects a pid value, when the last pid value detected was null.
The processDown test is only valid in observations for the agent.mon.processMonitor, or any monitor that elicits a “pid” facet value. The observation fires if the test detects a null pid value, when the last pid value detected was not null.
The processBounce test is only valid in observations for the agent.mon.processMonitor, or any monitor that elicits a “pid” facet value. The observation fires if the test detects a new pid value, when the last pid value detected was not null.
The processDead test is only valid in observations for the agent.mon.processMonitor, or any monitor that elicits a “pid” facet value. The observation fires if the test detects that the pid facet value has been missing for 5 consecutive tests. The observation will re-fire every 5 minutes.