Page tree

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

Skip to end of metadata
Go to start of metadata

Описание

В данной секции настраиваются условия, в соответствии с которыми объект меняет состояния:

Графический конструктор условий при необходимости можно переключить на текстовый режим кнопкой , расположенной в правой части заголовка секции. 

Набор условий представляет собой каскад равноправных записей.

Последовательность выполнения условий

Данный цикл работает до первого выполненного условия. Если ни одно из условий не выполнено, то объект переходит в состояние НЕТ ДАННЫХ с указанием причины Нет подходящего условия.

Объект переводится в состояние по умолчанию (Нет Данных), которое указано в разделе server {} файла конфигурации сервера.

Если необходимо исключить ситуацию перехода в состояние НЕТ ДАННЫХ по причине отсутствия данных у выполненной проверки (см. комментарий ниже) или отсутствия подходящего условия, рекомендуется использовать последним безусловный переход в необходимое состояние, например АВАРИЯ:

Описанный выше метод работает только для выполненной проверки, возвращающей пустые данные. Если по каким-либо причинам проверка не выполняется, то объект будет принудительно переведен в состояние Нет Данных.

Построение условий

Каждое условие состоит из:

  • источника данных - имя метрики из таблицы Данных от агента;
  • оператора - один из доступных в выпадающем списке, например, > или совпадает с;
  • значения, с которым выполняется сравнение.

При выборе текстового оператора совпадает с в качестве значения можно использовать регулярное выражение.

Любое условие может состоять из нескольких, соединенных логическим оператором И:

В этом случае УСЛОВИЕ 1 и УСЛОВИЕ 2 будут объединены левой фигурной скобкой {.

В условиях также доступны следующие дополнительные действия: Длительность и  Ручной ввод.

Длительность определяет период, в течение которого условие должно выполняться непрерывно, чтобы перевести объект в указанное состояние.

Ручной ввод позволяет указывать названия метрик, ID-объекта, которому метрика принадлежит, и математичеке фомулы.

Порядок условий можно менять перетаскиванием.

Редактор формул

Для создания более сложных условий, основанных на математических операциях, рекомендуется использовать редактор формул. Для введения формулы необходимо:

  1. Перейти в режим ручного ввода



  2. В поле условия ввести название метрики или выбрать её в отфильтрованном списке вариантов. Название каждой метрики должно быть записано в фигурных скобках следующим образом: {{имя_метрики}}

  3. При помощи математических символов, констант и скобок ввести формулу. Например, разность максимального времени приёма-передачи и минимального времени приёма-передачи: 
    {{roundTripMaximum}} - {{roundTripMinimal}}

Над введённой математической операцией автоматически отобразится результат вычислений.

Ниже приведён список всех доступных операций и функций:

ОперацияОписание
!Факториал
^Возведение в степень
*, /, %Умножение, деление, остаток
+, -, ||Сложение, вычитание, конкатенация
==, !=, >=, <=, >, <Операторы сравнения (равно, не равно, и т.д.).
andЛогическое И
or

Логическое ИЛИ

notЛогическое НЕ
x ? y : zОператор условия (если x, то y, иначе z)
ОператорОписание
x!Факториал (x * (x-1) * (x-2) * ... * 2 * 1).gamma(x + 1) для нецелых чисел.
abs xМодуль x
ceil xОкругление до следующего целого
floor xОкругление до предыдущего целого
length xДлина строки x
round xОкругление до ближайшего целого
sqrt xКвадратный корень
trunc xОтбрасывает дробную часть числа.


exp xЭкспонента (e^x - показательная функция с основанием e)
ln xНатуральный логарифм
log xНатуральный логарифм (синоним для ln x, не десятичный)
log10 xДесятичный логарифм


acos xАрккосинус от x (в радианах)
acosh xГиперболический арккосинус от x (в радианах)
asin xАрксинус от x (в радианах)
asinh xГиперболический арксинус от x (в радианах)
atan xАрктангенс от x (в радианах)
atanh xГиперболический арктангенс от x (в радианах)
cos xКосинус от x (x в радианах)
cosh xГиперболический косинус от x (x в радианах)
sin xСинус от x (x в радианах)
sinh xГиперболический синус от x (x в радианах)
tan xТангенс от x (x в радианах)
tanh xГиперболический тангенс от x (x в радианах)
ФункцияОписание
random(n)Случайное число в диапазоне [0, n). Если n равно 0 или не задано, значение приравнивается 1.
min(a,b,…)Минимальное значение из списка.
max(a,b,…)Максимальное значение из списка.
hypot(a,b)Гипотенуза, т.е. квадратный корень суммы квадратов двух аргументов (sqrt(a^2+b^2)).
pyt(a, b)Синоним гипотенузы (hypot(a,b)).
pow(x, y)Эквивалент возведения в степень (x^y).
atan2(y, x)Арктангенс x/y, т.е. угол между (0, 0) и (x, y) в радианах.
if(x, y, z)Эквивалент оператора условия (если x, то y, иначе z).

Использование метрик из других объектов

Комбинация состояний нескольких объектов позволяет определить причину аварии. Это реализуется при помощи связанных проверок - использование метрик из других объектов при настройке условий состояний.

Для этого необходимо иметь доступ к этим объектам и при настройке условий перехода в формуле указать ID-объекта и название используемой метрики через двоеточие. Например, сложение "stdout.x" рассматриваемого объекта и "stdout.x" другого объекта:

{{stdout.x}} + {{5b97713ed3ae514148346675:stdout.x}}

Дополнительные кнопки управления

Кнопка  позволяет добавлять комментарии, которые будут отображаться в Истории состояний объекта и отправляться в уведомлениях.

Кнопки и позволяют назначить объектам аналогичного класса новые условия перехода состояний или применить к текущему объекту условия по умолчанию, указанные для данного класса.

Если у каких-либо иных объектов данного класса ранее были изменены условия перехода состояний, то они считаются "уникальными" для этих объектов, и нажатие кнопки не приведет к их изменению.



  • No labels