Дерево страниц

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

Перейти к концу метаданных
Переход к началу метаданных

За основу каждого из примеров использования правила SET взяты форматы значения (value).

Пример 1. В качестве value установлены числовые и текстовые значения.

Цель: расширить возможности по настройке условий перехода состояний и повысить уровень визуализации.

Пошаговое руководство:

  1. В секции Мониторинг настроить тип проверки Ping.

    Пусть нас интересует метрика  packetLossPercentile (персентиль потерь пакетов). Для себя мы определили, что допустимое значение  packetLossPercentile = 10.

  2. В правилах формирования данных настроить условие (conditions) и действие (actions):
    если  packetLossPercentile = [0;10], то в таблицу данных от агента записывается метрика  packetLossPercentile со значением OK.

    Структура записи условий аналогична текстовому представлению условий смены состояний.
    Создайте нужное условие в секции "Условия перехода состояний", затем переключите графический редактор на текстовый вид при помощи кнопки и скопируйте условие в секцию "Правила формирования данных".

    В скором времени появится графический конструктор (улыбка)

    [
      {
        "condition": {
            "packetLossPercentile": {
            "_eq": "[0;10]"
          }
          },
        "actions": [
          {
            "type": "set",
            "field": "packetLossPercentile",
            "value": "OK"
          }
        ]
      }
    ]
  3. В условиях перехода состояний указать:
    если  packetLossPercentile = OK, то объект переходит в состояние WORKING.
  4. В правилах формирования данных настроить условие и действие:
    если  packetLossPercentile > 10, то в таблицу данных от агента записывается метрика  packetLossPercentile со значением warning

    [
      {
        "condition": {
            "packetLossPercentile": {
            "_gt": "10"
          }
          },
        "actions": [
          {
            "type": "set",
            "field": "packetLossPercentile",
            "value": "warning"
          }
        ]
      }
    ]
  5. В условиях перехода состояний указать:
    если  packetLossPercentile = warning, то объект переходит в состояние OVERLOADED. И не является приоритетным для решения тех. поддержкой.


  6. В правилах формирования данных настроить условие (conditions) и действие (actions):
    если  packetLossPercentile > 10 и это значение пришло больше одного раза, то в таблицу данных от агента метрика  packetLossPercentile записывается со значением alert.

    [
      {
        "condition": {
          "packetLossPercentile": {
            "_gt": "10"
          }
        },
        "actions": [
          {
            "type": "extend",
            "include": "over_packetLossPercentile"
          }
        ]
      },
      {
        "actions": [
          {
            "type": "set",
            "field": "over_packetLossPercentile",
            "value": "1"
          }
        ]
      },
      {
        "condition": {
          "packetLossPercentile": {
            "_gt": "10"
          },
          "over_packetLossPercentile": {
            "_eq": "1"
          }
        },
        "actions": [
          {
            "type": "set",
            "field": "packetLossPercentile",
            "value": "alert"
          },
          {
            "type": "drop",
            "include": [
              "over_packetLossPercentile"
            ]
          }
        ]
      }
    ]
  7. В условиях смены состояний указать:
    packetLossPercentile = alert, то объект переходит в состояние ALARM. И требует от технической поддержки немедленного вмешательства.


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


Пример 2. В качестве value установлены формулы с использованием метрик из таблицы данных с указателями current и new.

Цель: получить отображение шаговых значений.

Пошаговое руководство:

  1. В секции Мониторинг настроить тип проверки процесс по имени.

    Пусть нас интересует изменение метрики  bytesResident (объём используемой физической памяти) в рамках одного процесса. То есть разница вновь пришедшего значения (new) и текущего (current): {{new.bytesResident}}-{{current.bytesResident}}.

  2. В правилах формирования данных создать новую метрику last_diff (разность), а в значении прописать формулу:
[
  {
    "actions": [
      {
        "type": "set",
        "field": "last_diff",
        "value": "{{new.bytesResident}}-{{current.bytesResident}}"
      }
    ]
  }
]
  • Нет меток