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

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

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

Класс объекта влияет на:
-
внешний вид объекта;
-
логику перехода состояний по умолчанию (для каждого класса можно отдельно настроить условия перехода состояний);
-
логику генерации аварий по умолчанию (для каждого класса можно отдельно настроить условия генерации аварий);
-
настроенные операции по умолчанию (для для каждого класса можно отдельно настроить операции)
-
набор отображаемых графиков;
-
список доступных настроек мониторинга;
-
наличие предопределённых настроек мониторинга.
Например, у объектов класса Process в настройках мониторинга доступен лишь один тип проверки - Процесс по имени, а для объектов класса Memory настройки мониторинга недоступны, поскольку они предопределены.
Класс объекта используется при поиске и групповых операциях. Все объекты определённого класса можно быстро отыскать и применить к ним новые настройки.
| Администрирование классов объектов происходит в окне конфигурации системы в разделе Управление классами объектов. |
| Выбранный класс сущности невозможно изменить. |
Модель класса
В этом разделе описано внутреннее представление классов объектов.
| Поле | Тип | Описание |
|---|---|---|
category_id |
String |
Идентификатор категории класса. Подробную информацию о категории можно найти в разделе Идентификатор категории. |
client_data |
String |
Данные клиента класса. Подробную информацию о данных клиента можно найти в разделе Клиентские данные. |
comment |
String |
Пользовательский комментарий к классу. |
description |
String |
Описание класса. |
entityType |
Integer |
Тип сущности. Для класса, тип сущности – |
id |
String |
Идентификатор класса. |
name |
String |
Имя класса. |
operations |
Array<Operation> |
Массив операций класса. |
properties |
Array<Property> |
Массив свойств класса. |
triggers |
Array<Trigger> |
Массив пользовательских триггеров класса. Подробную информацию о пользовательских триггерах можно найти в разделе Пользовательские триггеры. |
Клиентские данные
Клиентские данные – набор полей, которые определяют отображение класса в пользовательском интерфейсе. Данные поля указываются в формате JSON и хранятся на сервере в виде строки. Таблица ниже содержит описание всех полей:
| Поле | Тип | Описание |
|---|---|---|
background |
String |
Идентификатор изображения, используемого в качестве фона для класса. |
columns |
Array<ClassColumn> |
Массив колонок класса. |
default_view |
String |
Способ отображения класса по умолчанию: |
defaultDim |
Array<Integer> |
Размеры по умолчанию для объектов, принадлежащих данному классу. Указываются как массив двух целых чисел, первое из которых задает ширину, а второе высоту. |
Колонка класса
| Поле | Тип | Описание |
|---|---|---|
hidden |
Boolean |
Скрытие колонки. |
id |
String |
Идентификатор колонки класса. |
name |
String |
Название колонки класса. |
removable |
Boolean |
Удаление колонки. |
type |
String |
Тип колонки класса. |
Идентификатор категории
Идентификатор категории класса (category_id) используется для группировки дочерних объектов.
Дочерние объекты, принадлежащие классу с одинаковым идентификатором категории, отображаются на родительском объекте рядом. Дочерние объекты с различными идентификаторами категорий разделяются горизонтальной чертой.
Пример отображения дочерних объектов в веб-интерфейсе:
Пользовательские триггеры
Сервер может запускать скрипты при создании или удалении объектов. Пользовательские триггеры определяют запускаемые скрипты, их аргументы и случаи, в которых они запускаются.
Пользовательские триггеры имеют следующие поля:
| Поле | Тип | Описание |
|---|---|---|
args |
Object |
JSON-объект, содержащий набор пар ключ-значение с аргументами, которые будут переданы скрипту. |
customScriptId |
String |
Путь к скрипту, который будет запущен. |
type |
String |
Условия запуска триггера. Возможные значения: |
В скрипт можно передать следующие переменные:
| Поле | Тип | Описание |
|---|---|---|
{{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 |
Временная метка обновления объекта. |
Пример
Данный пример содержит два пользовательских триггера. Первый триггер запускается при создании объекта, второй – при удалении.
"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": "{{name}}",
"--description": "Object was removed"
},
"customScriptId": "test/hello_world.sh"
}
]
Стандартные классы
В системе существуют следующие стандартные классы:
| ID | Название | Категория | Описание |
|---|---|---|---|
1 |
Root |
- |
Класс для корневого объекта системы. Дополнительные объекты этого класса, созданные пользователями не имеют специального функционала. |
2 |
Saymon Agent |
- |
Класс для объектов, представляющих агент SAYMON. Подробнее об особенностях этого класса можно прочитать в разделе Saymon Agent. |
3 |
Host |
– |
Физический или виртуальный хост. |
4 |
CPU |
1 |
Класс для объектов, представляющих процессор устройства, на котором запущен агент. Подробнее об особенностях этого класса можно прочитать в разделе CPU. |
5 |
Memory |
1 |
Класс для объектов, представляющих оперативную память устройства, на котором запущен агент. Подробнее об особенностях этого класса можно прочитать в разделе Memory. |
6 |
File System |
1 |
Класс для объектов, представляющих файловую систему устройства, на котором запущен агент. Подробнее об особенностях этого класса можно прочитать в разделе Файловая система. |
7 |
Process |
2 |
Process |
8 |
Socket |
2 |
|
9 |
Port |
2 |
|
10 |
Local Address |
2 |
|
11 |
Address |
2 |
|
12 |
Interface |
1 |
|
13 |
Node |
3 |
|
14 |
Virtual Node |
3 |
|
15 |
Service |
3 |
|
16 |
Service Platform |
3 |
|
17 |
System Interface |
1 |
|
18 |
User Interface |
1 |
|
19 |
Support Interface |
1 |
|
20 |
Hardware |
– |
|
21 |
Software |
– |
|
22 |
Queue |
3 |
|
23 |
Table Space |
3 |
|
24 |
Info |
3 |
|
25 |
Platform Group |
– |
– |
26 |
RDBMS |
3 |
|
27 |
Network |
– |
– |
29 |
Database Schema |
3 |
|
29 |
Cloud |
3 |
Cloud |
30 |
Object Group |
– |
– |
31 |
Network IO |
1 |
Network IO |
32 |
User |
– |
Пользователь |
33 |
Router |
1 |
Router |
34 |
Antenna |
1 |
Antenna |
35 |
Network Link |
– |
Network Link |
36 |
Rack |
– |
Серверная стойка или шкаф |
37 |
Rack Switch Unit |
1 |
Серверное сетевое оборудование |
38 |
Rack Server Unit |
1 |
Сервер в стойку |
39 |
Rack Array Unit |
1 |
Массив дисков или лезвий/слэдов |
40 |
Rack UPS Unit |
1 |
Серверный ИБП |
41 |
Rack Blade Unit |
1 |
Лезвие или слэд |
42 |
Configuration File |
3 |
– |
43 |
Dashboard |
– |
Dashboard |
Saymon Agent
Класс Saymon Agent предназначен для объектов, представляющих агент SAYMON.
У объектов этого класса есть дополнительная кнопка , которая отображается при наведении курсором на изображение объекта. Эта кнопка открывает окно настроек агента, с помощью которого производится Автоинсталляция.
| У объектов данного класса недоступна секция Мониторинг. |
В объектах этого класса по умолчанию настроены следующие условия перехода состояния:
CPU
Объекты этого класса используются для мониторинга центрального процессора устройства, на котором запущен выбранный в секции Мониторинг агент.
У объектов этого класса по-умолчанию есть виджет Счётчик, который показывает среднюю нагрузку на процессор за минуту.
У объектов этого класса недоступен выбор сенсора мониторинга. Объект этого класса использует сенсор CPU для мониторинга работы процессора системы, на которой запущен выбранный агент.
В объектах этого класса по умолчанию настроены следующие условия перехода состояния:
Memory
Объекты этого класса используются для мониторинга оперативной памяти устройства, на котором запущен выбранный в секции Мониторинг агент.
У объектов этого класса по-умолчанию есть виджет Счётчик, который показывает использование оперативной памяти, swap-файла и общее использование памяти.
У объектов этого класса недоступен выбор сенсора мониторинга. Объект этого класса использует сенсор RAM для мониторинга оперативной памяти системы, на которой запущен выбранный агент.
В объектах этого класса по умолчанию настроены следующие условия перехода состояния:
Файловая система
Объекты этого класса используются для мониторинга файловой системы устройства, на котором запущен выбранный в секции Мониторинг агент.
У объектов этого класса недоступен выбор сенсора мониторинга. Объект этого класса использует сенсор File system для мониторинга файловой системы устройства, на котором запущен выбранный агент.
Переключатель Полный список отображает все устройства и разделы файловой системы.
В объектах этого класса по умолчанию настроены следующие условия перехода состояния: