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

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

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

image

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

image

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

image

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

  • внешний вид объекта;

  • логику перехода состояний по умолчанию (для каждого класса можно отдельно настроить условия перехода состояний);

  • логику генерации аварий по умолчанию (для каждого класса можно отдельно настроить условия генерации аварий);

  • настроенные операции по умолчанию (для для каждого класса можно отдельно настроить операции)

  • набор отображаемых графиков;

  • список доступных настроек мониторинга;

  • наличие предопределённых настроек мониторинга.

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

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

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

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

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

Поле Тип Описание

category_id

String

Идентификатор категории класса. Подробную информацию о категории можно найти в разделе Идентификатор категории.

client_data

String

Данные клиента класса. Подробную информацию о данных клиента можно найти в разделе Клиентские данные.

comment

String

Пользовательский комментарий к классу.

description

String

Описание класса.

entityType

Integer

Тип сущности. Для класса, тип сущности – 4.

id

String
required

Идентификатор класса.

name

String
required

Имя класса.

operations

Array<Operation>

Массив операций класса.

properties

Array<Property>

Массив свойств класса.

triggers

Array<Trigger>

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

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

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

Поле Тип Описание

background

String

Идентификатор изображения, используемого в качестве фона для класса.

columns

Array<ClassColumn>

Массив колонок класса.

default_view

String

Способ отображения класса по умолчанию: standard, geo-view, end-view, table-view, grid-view.

defaultDim

Array<Integer>

Размеры по умолчанию для объектов, принадлежащих данному классу. Указываются как массив двух целых чисел, первое из которых задает ширину, а второе высоту.

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

Поле Тип Описание

hidden

Boolean

Скрытие колонки.

id

String
required

Идентификатор колонки класса.

name

String
required

Название колонки класса.

removable

Boolean

Удаление колонки.

type

String

Тип колонки класса.

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

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

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

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

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

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

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

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

Поле Тип Описание

args

Object

JSON-объект, содержащий набор пар ключ-значение с аргументами, которые будут переданы скрипту.

customScriptId

String

Путь к скрипту, который будет запущен.

type

String

Условия запуска триггера. Возможные значения: 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

Временная метка обновления объекта.

Пример

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

"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.

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

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

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

saymon agent state change conditions light
Стандартные условия перехода состояния
saymon agent state change conditions dark
Стандартные условия перехода состояния

CPU

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

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

cpu widget
Стандартный объект класса CPU

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

empty monitoring light
Стандартные настройки мониторинга
empty monitoring dark
Стандартные настройки мониторинга

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

cpu state change conditions light
Стандартные условия перехода состояния
cpu state change conditions dark
Стандартные условия перехода состояния

Memory

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

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

memory widget
Стандартный объект класса Memory

У объектов этого класса недоступен выбор сенсора мониторинга. Объект этого класса использует сенсор 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
Стандартные условия перехода состояния