Руководство прикладного разработчика#

Термины и определения#

С основными терминами и определениями можно ознакомиться в документации продукта Platform V Monitor (OPM).

Термин/определение

Определение

Дашборд

Набор из одной или нескольких интерактивных панелей, для визуализации значений метрик

Панель

Представляет из себя одну визуализация (например, в виде графика). Панель является основным строительным блоком визуализации. Каждая панель имеет редактор запросов, специфичный для источника данных, выбранного на панели

Редактор запросов

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

Здесь и далее поддерживаемой системой приложений-контейнеров Kubernates или OSE, в именах и параметрах системы могут встречаться названия систем контейнеризации.

Системные требования#

В качестве базовой единицы КТС (Комплекс технических средств) будет использоваться вариант min2_CPU/2GB_RAM.

CPU (core)

RAM, Gb

HDD, Gb

IOPS

Прочие

2

2

30

> 5

Предустановленный postgreSQL не ниже версии ver.11.6 или СУБД Platform V Pangolin SE (PSQ)

Подключение и конфигурирование#

На стенде разработки и в промышленной среде должны быть развернуты следующие программные компоненты:

  • Установленный Indicator

  • Роль пользователя Editor

Для пользователей с ролью editor доступно создание своих дашбордов или их импорт.

Dashboard хранятся в базе данных СУБД Platform V Pangolin SE (PSQ). Имеется возможность экспорта/импорта дашбордов из файла формата JSON.

Миграция на текущую версию#

Импорт дашбордов#

Необходимо убедиться что мы находимся под требуемой организацией. Для этого необходимо в крайнем нижнем левом углу нажать на икону пользователя и проверить какая организация выбрана:

  • Если выбрана не та организация необходимо переключиться нажав Switch;

  • Для импорта дашбордов нажмите на иконку плюса и выберите Import.

  • Загрузить дашборд нажав на кнопку Upload Json File;

  • По умолчанию дашборд загружается в папку General, чтобы выбрать другую папку, нажмите Create;

  • После нажмите на Import.

Далее необходимо указать правильное название топика в Abyss, которая зависит от названия тенанта. Для этого заходим в настройки только что импортированного дашборда:

  • Выбираем пункт меню "Variables";

  • Выбираем переменную "$druidtable";

  • В поле "Value" вводим корректное название таблицы и нажимаем "Update".

Быстрый старт#

1. Создание панели#

Перейдите к папке мониторинга, на которую вы хотите добавить дашборд:

  • Нажмите значок +, чтобы создать дашборд;

  • Нажмите значок Add panel. — Нажмите кнопку Add new panel.

2. Добавить описание панели#

При необходимости добавьте заголовок и описание панели (рекомендуется).

description

Panel title — текст, введенный в это поле, отображается в верхней части панели в Редакторе панелей и на панели мониторинга.
Description — текст, введенный в это поле, отображается во всплывающей подсказке в левом верхнем углу панели. Напишите описание панели и отображаемых данных.

3. Написать запрос#

Для отображения визуализации каждой панели требуется по крайней мере один запрос, делается c использованием языка MQL.

Вы пишете запросы на вкладке запрос редактора панели.

qwery

  • Выберите источник данных;

  • В первой строке вкладки запрос нажмите раскрывающийся список, чтобы просмотреть все доступные источники данных;

  • Напишите или создайте запрос на языке запросов источника данных.

4. Выберите тип визуализации#

В разделе Визуализация на вкладке панель выберите тип визуализации.

visualization

Отображается предварительный просмотр результатов запроса с применением этой визуализации.

5. Настройка алерта и выбор канала оповещения#

Для настройки оповещения Вам потребуется перейти во вкладку Alert и нажать Create Alert. Вкладка доступна только для визуализации Graph.

evaluate

Evaluate every — периодичность проверки.

For — время, в течение которого должно выполняться условие (если требуется, чтобы в течение 5 минут было превышение порога).

conditions

Настройка Conditions:

  • when — значения (среднее, максимальное, минимальное и т. д.);

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

  • now — по какое время (не меняется);

  • Notifications — настройка оповещения (текст письма + список пользователей, кому отправлять);

Условие срабатывания, например по картинке — где максимальное значение запроса А за период 5 часов назад до настоящего времени (можно указывать например так: now-2m) больше (тут можно изменить больше, меньше и др.)

Гранулярность зависит от выбранного периода в этом параметре — OF query(A, 5m, now-1m)
Возвращается n значений за этот период, и из всех этих значений берется max()
Например:


SELECT
$time as "time",
max("value") as "value"
FROM
"custodian"
WHERE 
$defaultFilter and metricName = 'navigator.formRequestTime'
GROUP BY
$time 

-------------------------

Настройки алерта:

Evaluate every 1m for 3m
WHEN max() OF query(A, 5m, now-1m) IS ABOVE 100

-------------------------

Итоговый запрос в алерте:

``` sql
{\"query\":\"SELECT\\r\\n 
TIME_FLOOR(\\\"__time\\\",'PT5S') as \\\"time\\\",\\r\\n
 max(\\\"value\\\") as \\\"value\\\"\\r\\n
FROM\\r\\n \\\"custodian\\\"\\r\\nWHERE \\r\\n
 (TIME_FLOOR(\\\"__time\\\",'PT5S') \\u003e TIMESTAMP '2021-07-28 05:37:30' AND TIME_FLOOR(\\\"__time\\\",'PT5S') \\u003c TIMESTAMP '2021-07-28 05:41:30') and metricName = 'navigator.formRequestTime'\\r\\n
GROUP BY\\r\\n 
TIME_FLOOR(\\\"__time\\\",'PT5S')\"}

no_data

Здесь можно выбрать реакцию на отсутствие данных или на ошибки от источника данных.

Дальше можно выбрать каналы оповещений/группы оповещений. И написать текст оповещения. А так же привязать теги, теги видны в оповещении.

6. Применить изменения и сохранить#

Для сохранения панели нажмите комбинацию клавиш Ctrl/Cmd+S или кнопку Save.

save_dashboard

При сохранении необходимо указать комментарий.

Использование программного компонента#

Indicator — это комплексное, масштабируемое решение для сбора телеметрии, ее визуализации и контроля.

Назначение комопнента:

  • Уведомить о возникшем отклонении/инциденте;

  • Сократить время реакции на инцидент;

  • Сократить время устранения инцидента;

  • Предотвратить инцидент;

  • Найти источник проблемы — сократить время поиска причины инцидента (Root cause analisis).

Часто встречающиеся проблемы и пути их устранения#

Ошибка

Описание

No Data

Не является ошибкой, сообщение означает что не данных для отображения

Красный треугольник

Чтобы отобразить сообщение об ошибке, перейдите в Query Inspector и выберите вкладку Error

Красный треугольник Unknown exception

Одна из возможных ошибок. Значение используемой в запросах переменной ссылается на не существующую таблицу в Api Abyss

Panel plugin not found

Сообщение появляется если на панели не установлен нужный плагин для отображения