Page tree

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

Skip to end of metadata
Go to start of metadata

За основу каждого из примеров использования правила EXTEND взяты взаимоисключающие поля include и exclude.

Пример 1. Расширение таблицы данных всеми новыми метриками, кроме указанных.

Цель: сэкономить сетевой трафик.

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

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

    Пусть нам достаточно знать лишь Status Code (код состояния) и Response Time (скорость ответа). Если пренебречь обновлением метрики body (тело ответа) и флажком "Присылать тело ответа" , то можно существенно сэкономить сетевой трафик.

  2.  В правилах формирования данных указать расширение таблицы всеми новыми метриками, кроме body.

    [
      {
        "actions": [
          {
            "type": "extend",
    		"exclude": ["body"]
          }
        ]
      }
    ]

Пример 2. Совмещение include и exclude.

Цель: отобразить в таблице метрики, по которым данные отсутствуют.

Пусть в секции Мониторинга настроена проверка, по всем метрикам которой собрать данные не удалось. Это может произойти при передаче данных по протоколу, не подразумевающему гарантированный ответ от сервера, - UDP.  Метрики, по которым данные отсутствуют, автоматически удаляются из таблицы данных.

Например, в рамках проекта "умный дом" контролируются датчики движения и открытия двери. На сервер поступили данные только с датчика движения motion и отобразились в Таблице данных. Чтобы метрика  door не удалилась, необходимо расширить таблицу актуальных значений метрикой с указателем на устаревшие данные (last_)  last_door и перезаписать в неё последние пришедшие данные.

[
  {
    "actions": [
      {
        "type": "extend",
        "include": [
         "last_door"
		]
      },
      {
        "type": "set",
        "field": "last_door",
        "value": "current.door"
      },
	  {
		"type": "extend",
        "exclude": [
          "last_door"
        ]
      }
    ]
  }
]

  • No labels