Классы объектов

Классы объектов

Классы объектов ​

Каждая сущность (объект и связь) принадлежит классу. Классы помогают более наглядно отобразить инфраструктуру, а также определяют логику мониторинга.

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

В виде сетки иконка класса отображается перед именем объекта:

В табличном виде иконка класса отображается перед именем объекта:

Класс объекта влияет на:

  • внешний вид объекта;
  • логику перехода состояний по умолчанию (для каждого класса можно отдельно настроить условия перехода состояний);
  • логику генерации аварий по умолчанию (для каждого класса можно отдельно настроить условия генерации аварий);
  • настроенные операции по умолчанию (для для каждого класса можно отдельно настроить операции)
  • набор отображаемых графиков;
  • список доступных настроек мониторинга;
  • наличие предопределённых настроек мониторинга.

Например, у объектов класса Process в настройках мониторинга доступен лишь один тип проверки - Процесс по имени, а для объектов класса Memory настройки мониторинга недоступны, поскольку они предопределены.

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

NOTE

Администрирование классов объектов происходит в окне конфигурации системы в разделе Управление классами объектов .

NOTE

Выбранный класс сущности невозможно изменить.

Модель класса ​

В этом разделе описано внутреннее представление классов объектов.

ПолеТипОписание
category_idStringИдентификатор категории класса. Подробную информацию о категории можно найти в разделе Идентификатор категории.
client_dataStringДанные клиента класса. Подробную информацию о данных клиента можно найти в разделе Клиентские данные.
commentStringПользовательский комментарий к классу.
descriptionStringОписание класса.
entityTypeIntegerТип сущности. Для класса, тип сущности – 4.
idString

required | Идентификатор класса. | | name | String

required | Имя класса. | | operations | Array<Operation> | Массив операций класса. | | properties | Array<Property> | Массив свойств класса. | | triggers | Array<Trigger> | Массив пользовательских триггеров класса. Подробную информацию о пользовательских триггерах можно найти в разделе Пользовательские триггеры. |

Клиентские данные ​

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

ПолеТипОписание
backgroundStringИдентификатор изображения, используемого в качестве фона для класса.
columnsArray<ClassColumn>Массив колонок класса.
default_viewStringСпособ отображения класса по умолчанию: standard, geo-view, end-view, table-view, grid-view.
defaultDimArray<Integer>Размеры по умолчанию для объектов, принадлежащих данному классу. Указываются как массив двух целых чисел, первое из которых задает ширину, а второе высоту.

Колонка класса ​

ПолеТипОписание
hiddenBooleanСкрытие колонки.
idString

required | Идентификатор колонки класса. | | name | String

required | Название колонки класса. | | removable | Boolean | Удаление колонки. | | type | String | Тип колонки класса. |

Идентификатор категории ​

Идентификатор категории класса (category_id) используется для группировки дочерних объектов.

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

Пример отображения дочерних объектов в веб-интерфейсе:

Пример объектов

Пользовательские триггеры ​

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

Пользовательские триггеры имеют следующие поля:

ПолеТипОписание
argsObjectJSON-объект, содержащий набор пар ключ-значение с аргументами, которые будут переданы скрипту.
customScriptIdStringПуть к скрипту, который будет запущен.
typeStringУсловия запуска триггера. Возможные значения: create и remove.

В скрипт можно передать следующие переменные:

ПолеТипОписание
{{body}}StringТело объекта в формате JSON.
{{class_id}}StringИдентификатор класса объекта.
{{client_data}}StringДанные клиента объекта.
{{created}}IntegerВременная метка создания объекта.
{{entityId}}StringИдентификатор сущности.
{{geoposition}}StringГео-гоординаты объекта.
{{geopositionRadius}}StringГео-радиус объекта.
{{id}}StringИдентификатор объекта.
{{last_state_update}}IntegerВременная метка последнего изменения Состояния.
{{name}}StringИмя объекта.
{{parent_id}}Array<String>Список идентификаторов родительских объектов.
{{state_id}}StringИдентификатор Состояния объекта.
{{tags}}Array<Tag>Теги объекта.
{{updated}}IntegerВременная метка обновления объекта.

Пример ​

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

json
"triggers": [
    {
        "type": "create",
        "args": {
            ";saymon-ctp-auto-id#0": "first var",
            ";saymon-ctp-auto-id#1": "second var"
        },
        "customScriptId": "test/class_trigger.sh"
    },
    {
        "type": "remove",
        "args": {
            ";saymon-ctp-auto-id#0": "pos var",
            "--name": "&#123;&#123;name&#125;&#125;",
            "--description": "Object was removed"
        },
        "customScriptId": "test/hello_world.sh"
    }
]

Стандартные классы ​

В системе существуют следующие стандартные классы:

IDНазваниеКатегорияОписание
1 Root-Класс для корневого объекта системы. Дополнительные объекты этого класса, созданные пользователями не имеют специального функционала.
2 Saymon Agent-Класс для объектов, представляющих агент SAYMON. Подробнее об особенностях этого класса можно прочитать в разделе Saymon Agent.
3 Host–Физический или виртуальный хост.
4 CPU1Класс для объектов, представляющих процессор устройства, на котором запущен агент. Подробнее об особенностях этого класса можно прочитать в разделе CPU.
5 Memory1Класс для объектов, представляющих оперативную память устройства, на котором запущен агент. Подробнее об особенностях этого класса можно прочитать в разделе Memory.
6 File System1Класс для объектов, представляющих файловую систему устройства, на котором запущен агент. Подробнее об особенностях этого класса можно прочитать в разделе Файловая система.
7 Process2Process
8 Socket2
9 Port2
10 Local Address2
11 Address2
12 Interface1
13 Node3
14 Virtual Node3
15 Service3
16 Service Platform3
17 System Interface1
18 User Interface1
19 Support Interface1
20 Hardware–
21 Software–
22 Queue3
23 Table Space3
24 Info3
25 Platform Group––
26 RDBMS3
27 Network––
29 Database Schema3
29 Cloud3Cloud
30 Object Group––
31 Network IO1Network IO
32 User–Пользователь
33 Router1Router
34 Antenna1Antenna
35 Network Link–Network Link
36 Rack–Серверная стойка или шкаф
37 Rack Switch Unit1Серверное сетевое оборудование
38 Rack Server Unit1Сервер в стойку
39 Rack Array Unit1Массив дисков или лезвий/слэдов
40 Rack UPS Unit1Серверный ИБП
41 Rack Blade Unit1Лезвие или слэд
42 Configuration File3–
43 Dashboard–Dashboard

Saymon Agent ​

Класс Saymon Agent предназначен для объектов, представляющих агент SAYMON.

У объектов этого класса есть дополнительная кнопка , которая отображается при наведении курсором на изображение объекта. Эта кнопка открывает окно настроек агента, с помощью которого производится Автоинсталляция.

NOTE

У объектов данного класса недоступна секция Мониторинг .

В объектах этого класса по умолчанию настроены следующие условия перехода состояния:

saymon agent state change conditions light

saymon agent state change conditions dark

CPU ​

Объекты этого класса используются для мониторинга центрального процессора устройства, на котором запущен выбранный в секции Мониторинг агент.

У объектов этого класса по-умолчанию есть виджет Счётчик, который показывает среднюю нагрузку на процессор за минуту.

cpu widget

У объектов этого класса недоступен выбор сенсора мониторинга. Объект этого класса использует сенсор CPU для мониторинга работы процессора системы, на которой запущен выбранный агент.

empty monitoring light

empty monitoring dark

В объектах этого класса по умолчанию настроены следующие условия перехода состояния:

cpu state change conditions light

cpu state change conditions dark

Memory ​

Объекты этого класса используются для мониторинга оперативной памяти устройства, на котором запущен выбранный в секции Мониторинг агент.

У объектов этого класса по-умолчанию есть виджет Счётчик, который показывает использование оперативной памяти, swap-файла и общее использование памяти.

memory widget

У объектов этого класса недоступен выбор сенсора мониторинга. Объект этого класса использует сенсор RAM для мониторинга оперативной памяти системы, на которой запущен выбранный агент.

empty monitoring light

empty monitoring dark

В объектах этого класса по умолчанию настроены следующие условия перехода состояния:

memory state change conditions light

memory state change conditions dark

Файловая система ​

Объекты этого класса используются для мониторинга файловой системы устройства, на котором запущен выбранный в секции Мониторинг агент.

У объектов этого класса недоступен выбор сенсора мониторинга. Объект этого класса использует сенсор File system для мониторинга файловой системы устройства, на котором запущен выбранный агент.

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

file system monitoring light

file system monitoring dark

В объектах этого класса по умолчанию настроены следующие условия перехода состояния:

file system state change conditions light

file system state change conditions dark