Руководство прикладного разработчика#
Термины и определения#
С основными терминами и определениями можно ознакомиться в документации продукта Platform V Monitor (OPM).
Термин/определение |
Определение |
|---|---|
Дашборд |
Набор из одной или нескольких интерактивных панелей, для визуализации значений метрик |
Панель |
Представляет из себя одну визуализация (например, в виде графика). Панель является основным строительным блоком визуализации. Каждая панель имеет редактор запросов, специфичный для источника данных, выбранного на панели |
Редактор запросов |
Интерфейс который позволяет извлечь идеальную визуализацию для отображения на панели. |
Здесь и далее поддерживаемой системой приложений-контейнеров Kubernates или OSE, в именах и параметрах системы могут встречаться названия систем контейнеризации.
Системные требования#
В качестве базовой единицы КТС (Комплекс технических средств) будет использоваться вариант min2_CPU/2GB_RAM.
CPU (core) |
RAM, Gb |
HDD, Gb |
IOPS |
Прочие |
|---|---|---|---|---|
2 |
2 |
30 |
> 5 |
Предустановленный |
Подключение и конфигурирование#
На стенде разработки и в промышленной среде должны быть развернуты следующие программные компоненты:
Установленный 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. Добавить описание панели#
При необходимости добавьте заголовок и описание панели (рекомендуется).
Panel title — текст, введенный в это поле, отображается в верхней части панели в Редакторе панелей и на панели мониторинга.
Description — текст, введенный в это поле, отображается во всплывающей подсказке в левом верхнем углу панели. Напишите описание панели и отображаемых данных.
3. Написать запрос#
Для отображения визуализации каждой панели требуется по крайней мере один запрос, делается c использованием языка MQL.
Вы пишете запросы на вкладке запрос редактора панели.
Выберите источник данных;
В первой строке вкладки запрос нажмите раскрывающийся список, чтобы просмотреть все доступные источники данных;
Напишите или создайте запрос на языке запросов источника данных.
4. Выберите тип визуализации#
В разделе Визуализация на вкладке панель выберите тип визуализации.
Отображается предварительный просмотр результатов запроса с применением этой визуализации.
5. Настройка алерта и выбор канала оповещения#
Для настройки оповещения Вам потребуется перейти во вкладку Alert и нажать Create Alert. Вкладка доступна только для визуализации Graph.
Evaluate every — периодичность проверки.
For — время, в течение которого должно выполняться условие (если требуется, чтобы в течение 5 минут было превышение порога).
Настройка 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')\"}
Здесь можно выбрать реакцию на отсутствие данных или на ошибки от источника данных.
Дальше можно выбрать каналы оповещений/группы оповещений. И написать текст оповещения. А так же привязать теги, теги видны в оповещении.
6. Применить изменения и сохранить#
Для сохранения панели нажмите комбинацию клавиш Ctrl/Cmd+S или кнопку Save.
При сохранении необходимо указать комментарий.
Использование программного компонента#
Indicator — это комплексное, масштабируемое решение для сбора телеметрии, ее визуализации и контроля.
Назначение комопнента:
Уведомить о возникшем отклонении/инциденте;
Сократить время реакции на инцидент;
Сократить время устранения инцидента;
Предотвратить инцидент;
Найти источник проблемы — сократить время поиска причины инцидента (Root cause analisis).
Часто встречающиеся проблемы и пути их устранения#
Ошибка |
Описание |
|---|---|
No Data |
Не является ошибкой, сообщение означает что не данных для отображения |
Красный треугольник |
Чтобы отобразить сообщение об ошибке, перейдите в Query Inspector и выберите вкладку Error |
Красный треугольник Unknown exception |
Одна из возможных ошибок. Значение используемой в запросах переменной ссылается на не существующую таблицу в Api Abyss |
Panel plugin not found |
Сообщение появляется если на панели не установлен нужный плагин для отображения |