Объект
Объект – это основная сущность, с помощью которой осуществляется сбор данных и мониторинг. Объекты получают и хранят метрики, принадлежат какому-либо Классу, имеют Свойства, Владельца, Состояние и прочие параметры.
Объект может представлять:
- физическое устройство (сервер, процессор, маршрутизатор);
- программный модуль (база данных, web-сервер);
- более высокоуровневый элемент, относящийся к бизнес-процессам (услуга, платформа).
Объекты могут иметь неограниченное число дочерних объектов. Вложенные друг в друга объекты образуют иерархию, количество уровней которой также не ограничено. Любой объект также может иметь неограниченное число родителей.
Простейшим примером иерархии объектов может служить физический сервер, представленный объектом Server и содержащий внутри себя объекты CPU, RAM, File System и СУБД, который, в свою очередь, содержит внутри себя дочерние объекты отдельных баз данных.

Модель объекта
Таблица ниже содержит описание всех полей внутреннего представления объектов в системе:
| Поле | Тип | Описание |
|---|---|---|
| background | String | Фоновое изображение объекта. |
| created | Integer | Временная метка создания объекта. |
| class_id | String | Идентификатор класса объекта. |
| child_ids | Array<String> | Массив идентификаторов дочерних объектов. |
| child_link_ids | Array<String> | Массив идентификаторов дочерних связей. |
| child_ref_ids | Array<String> | Массив идентификаторов дочерних ссылок. |
| client_data | String | Клиентские данные объекта. Дополнительная информация в разделе Клиентские данные. |
| comment | String | Пользовательский комментарий к объекту. |
| description | String | Описание объекта. |
| discovery_id | String | Discovery ID объекта. Дополнительную информацию можно найти на странице Discovery ID. |
| entityType | Integer | Тип сущности. Для объекта, тип сущности – 1. |
| geoposition | Array<Float> | Позиция объекта на карте. Определяется как массив из двух элементов. Первый – широта, второй – долгота. |
| geopositionRadius | Integer | Радиус геопозиции объекта на карте. |
| hidden | Integer | Не возвращать этот объект в запросах. 1 если этот объект скрыт, 0 если нет. Значение по умолчанию – 0. |
NOTE: Этот параметр может игнорироваться некоторыми запросами (например Поиск объектов и Получить объекты (API v2)). Обратитесь к странице документации запросов, чтобы узнать, дают ли они возможность вернуть скрытые объекты. | | id | String
required | Идентификатор объекта. | | last_state_update | Integer | Временная метка последнего обновления состояния объекта. | | manual_state | ManualState | Информация о переводе объекта в ручное состояние. | | mute_alert | Object | Информация об отключении аварий на этом объекте. null, если генерация аварий включена. | | mute_alert.reason | String | Комментарий о причине отключения аварии. | | mute_alert.by | String | ID пользователя, отключившего аварии на этом объекте. | | name | String
required | Имя объекта. | | operations | Array<Operation> | Массив операций объекта. | | owner_id | String | Идентификатор пользователя, который создал объект или является его владельцем. | | parent_id | Array<String> | Массив идентификаторов родительских объектов. | | properties | Array<Property> | Массив свойств объекта. | | state_id | String | Идентификатор состояния объекта. | | tags | Array<Tag> | Массив тегов объекта. | | updated | Integer | Временная метка последнего изменения объекта. | | _version | Integer | Версия объекта. Версия увеличивается на 1 при изменении любого поля объекта. | | weight | Integer | Вес объекта. |
Клиентские данные
Клиентские данные – набор полей, которые определяют отображение объекта в пользовательском интерфейсе. Данные поля указываются в формате JSON и хранятся на сервере в виде строки. Таблица ниже содержит описание всех полей:
| Поле | Тип | Описание |
|---|---|---|
| charts | Array<Array<String>> | Массив графиков. Каждый график хранится как отдельный массив, первый элемент которого представляет собой идентификатор графика, а второй – математическую формулу для метрик, отображаемых на графике. |
| collapseSections | Map<String, Boolean> | Коллекция имён метрик связи, чьи графики должны быть свёрнуты. Каждая запись коллекции представляет собой пару, первый элемент который является названием метрики, а второй - булевым значением. Если значение равно true, соответствующий график будет свернут. Дополнительные информация доступна статье Названия секций. |
| custom_style.height | Integer | Высота объекта в пикселях. Указывается с суффиксом px. |
| custom_style.left | Integer | Отступ объекта от левой границы в пикселях. Указывается с суффиксом px. |
| custom_style.top | Integer | Отступ объекта от верхней границы в пикселях. Указывается с суффиксом px. |
| custom_style.width | Integer | Ширина объекта в пикселях. Указывается с суффиксом px. |
| custom_style.zIndex | Integer | Z-индекс объекта. Данный индекс определяет отображение перекрывающих друг друга объектов в Стандартном Виде. Объект с большим значением индекса будет отображаться поверх объекта с меньшим значением индекса. |
| headlinePropIds | Array<String> | Массив ключей свойств, значения которых должны отображаться на объекте. |
| joinedGraphs | Array<String> | Массив идентификаторов графиков, отображаемых на общем графике. |
| nonPinnedSections | Map<String, Boolean> | Коллекция имён секций объекта, которые должны быть откреплены. Каждая запись коллекции представляет собой пару, первый элемент который является названием секции, а второй - булевым значением. Если значение равно true, соответствующая секция будет свернута. Дополнительные информация доступна статье Названия секций. |
| widgets | Array<Widget> | Массив виджетов, сконфигурированных для связи. |