Page tree

SAYMON документация

Skip to end of metadata
Go to start of metadata


This section defines conditions to change states of objects and links:

If necessary, the graphic condition constructor can be switched to text mode using  button on the right of the section's header.

The order of conditions can be changed with drag&drop.

 button allows to add comments, that will be displayed in State history of the object and sent in notifications.

 and  buttons allow to set new conditions to all objects of the same class and to make them default for all new objects of this class.

New default conditions do not override previously modified conditions of manually changed objects as they set to be "unique" or "custom".

The conditions construction

Each condition consists of:

  • type (Compare, Splash or Predict);
  • data source - metric name from data table of the current or external object;
  • comparison operator - one of the available in the dropdown list, e.g.,  > or  matches;
  • sample value to compare with (it is possible to use regular expressions with string comparison operators like "matches").

Any condition can be composed of several subconditions joined by  AND logic operator:

In this case  subcondition 1 and  subcondition 2 are joined by the curly bracket }.

Manual input allows to specify a metric name, the object ID to which the metric belongs, and mathematical formulas.

The sequence of conditions execution

The set of conditions is represented as a waterfall of sequential clauses. The cycle works till the first condition is satisfied. In other case object state is changed to NO DATA with No suitable condition reason.

Object state is changed to default state (No data on object) that is configured in server {} section of a server configuration file.

If it is required to prevent object state changing to the NO DATA due to empty result of a successful check it is recommended to use the Don't change state option:

The method described above works only for successful check that returns any result to the server. In case the check cannot be accomplished, object state is changed to No data on object.

The mentioned option might also be useful if you need to ignore some value or a range of values. For instance, if you need to check whether some resource is accessible via HTTP-GET request, you may configure state conditions like this:

  • if response code equals to 200, change state to WORKING;
  • if the code doesn't equal to 200 during more than 1 minute, change state to ALARM;
  • otherwise don't change state.

Here is an example of such configuration:

When setting up conditions using the “Sensor Error” metric, the following logic of state change is applied:

  • if state change conditions is not configured for the object or none of them satisfies the condition according to the metric “Sensor Error”, then the object state changes to the ALARM;
  • if the condition configured with using the “Sensor Error” metric is satisfied, then the object goes into the state of this condition.

  • No labels