Виджеты
Индикаторы здоровья
Виджет Индикаторы здоровья предназначен для визуализации текущего состояния индикаторов здоровья конфигурационных единиц (КЕ) в рамках заданной области видимости TQL.
Основные функции и особенности
- Отображение актуальных состояний ИЗ
- Виджет выводит все индикаторы здоровья, связанные с КЕ, в соответствии с областью видимости TQL.
- Каждый индикатор отображается в виде блока с цветовой индикацией (например, зелёный – норма, красный – критическая ошибка).
- Детализация состояния ИЗ
- При нажатии на блок индикатора открывается подробная информация о его текущем состоянии, включая:
- Текущий статус (OK, Warning, Critical).
- Описание проблемы (если есть).

Источник данных
Данные для виджета берутся из:
- Индикаторов здоровья, привязанных к КЕ.
- TQL-запроса, определяющего область видимости (какие КЕ и их ИЗ должны отображаться).
Виджет поддерживает несколько вариантов группировки:
- Вся область видимости TQL – отображение всех ИЗ в рамках запроса.
- Узлы TQL – группировка по узлам топологии.
- Конфигурационные единицы (КЕ) – группировка по отдельным КЕ.
В зависимости от выбранного режима, данные распределяются по вкладкам, соответствующим типам КЕ или узлам.
Виджет позволяет скрывать или выделять определённые КЕ для более удобного анализа. Поддерживает стандартные механизмы фильтрации.
Настройка
Таблица истории индикаторов здоровья
Виджет Таблица истории индикаторов здоровья представляет собой табличное представление изменений состояния индикаторов здоровья (ИЗ) конфигурационных единиц (КЕ) за выбранный период времени.
Не путайте его с виджетом История индикаторов здоровья: тот показывает смену состояний ИЗ на временной шкале.
Основные функции и особенности
Таблица событий
- Отображает записи о всех изменениях ИЗ в виде сортируемой таблицы.
- Включает как активные, так и завершённые события.
- Поддерживает фильтрацию, сортировку и настройку отображаемых колонок.

Фильтрация данных
Над таблицей расположен блок фильтров, позволяющий:
- Искать события по названию КЕ.
- Фильтровать по критичности (OK, Warning, Error, Critical, No Data).
- Отбирать события по типу индикатора здоровья.
Настраиваемые колонки
Пользователь может выбрать, какие данные отображать в таблице. Доступные колонки:
- Название КЕ – имя конфигурационной единицы.
- Индикатор здоровья (ИЗ) – тип и название метрики.
- Критичность – текущий уровень серьезности (цветовая индикация).
- Тип – категория индикатора.
- Создан – время возникновения события.
- Завершён – время нормализации состояния (если применимо).

Фильтр критичности
По умолчанию доступны следующие уровни:
- Нет данных (No Data)
- OK (Норма)
- Предупреждение (Warning)
- Ошибка (Error)
- Критическая ошибка (Critical)
Сортировка данных
- Поддерживается сортировка по любой колонке (например, по времени создания или критичности).
- Можно задать направление сортировки (по возрастанию/убыванию).
Источник данных
Данные берутся из тех же источников, что и в виджете Индикаторы здоровья:
- Индикаторы здоровья, привязанные к КЕ.
- TQL-запрос, определяющий область видимости.
Настройка
Расчетный индикатор здоровья
Виджет Расчетный индикатор здоровья показывает состояние выбранного индикатора здоровья у КЕ дашборда, а рядом — состояния связанных с ними КЕ. Виджет рассчитан на расчётные индикаторы, которые складываются из индикаторов смежных КЕ, и помогает:
- видеть текущее состояние индикатора и то, сколько оно уже длится;
- понимать, сколько связанных КЕ находится в каждом состоянии;
- замечать, как это распределение менялось за диапазон времени дашборда.
Панель КЕ
Каждая панель — это одна КЕ выбранного узла TQL, панели раскладываются сеткой по ширине виджета. Если КЕ входит в несколько выбранных узлов, панелей у неё столько же — по одной на узел.
В заголовке панели — имя КЕ с числом связанных КЕ в скобках, название индикатора и название узла TQL. Под заголовком три блока:
- Текущее состояние — критичность индикатора, длительность текущего состояния и время, с которого оно действует.
- Кольцевая диаграмма — сколько связанных КЕ находится в каждом состоянии: в центре кольца общее число, рядом — число по каждому состоянию.
- Столбчатая диаграмма — распределение связанных КЕ по состояниям в каждом интервале диапазона времени дашборда. Подсказка на столбике показывает время интервала и число КЕ в каждом состоянии.
Источник данных
Данные берутся из истории индикаторов здоровья КЕ, попавших в область видимости дашборда. Что показывать, задаёт список Узлы TQL в настройках источника. В каждой строке списка выбираются:
- узел TQL дашборда — панели строятся для его КЕ;
- индикатор здоровья — список предлагает индикаторы, настроенные для ТКЕ узла, и при выборе узла подставляет первый из них. Пока узел не выбран или для его ТКЕ индикаторов нет, список неактивен.
Каждый узел можно выбрать только в одной строке, а строк не может быть больше, чем узлов в TQL-запросе дашборда. Если список индикаторов получить не удалось, над строками появляется предупреждение «Список доступных ИЗ временно недоступен». Пока нет ни одной строки с узлом и индикатором, виджет вместо панелей сообщает «Отсутствует настройка источника данных».
Группировка и фильтрация КЕ работают так же, как у виджета Индикаторы здоровья: при группировке по узлам TQL или по КЕ панели распределяются по вкладкам. Данные запрашиваются за диапазон времени дашборда и обновляются с его интервалом.
Настройка
Действие при клике
Задаёт, что происходит при щелчке по блоку текущего состояния:
- Индикатор здоровья — открывается окно «Здоровье КЕ за период» с подробностями состояния: КЕ, индикатор, тип, критичность, время создания и завершения, длительность, а у расчётного индикатора ещё и вкладки «Влияет на» и «Зависит от». Щелчок доступен, когда у текущего состояния есть запись в истории индикатора.
- Дашборд — открывается дашборд из Привязки дашборда с пост-фильтрацией по КЕ панели. Нужна группа привязки, у которой Узел TQL совпадает с узлом панели: дашборд берётся из группы, а если в ней он не выбран — дашборд по умолчанию. КЕ попадает в фильтр по Узлу TQL дашборда из группы; если узел не выбран, дашборд открывается без фильтра. Для узла без группы щелчок недоступен.
Нормализовать столбчатую диаграмму
По умолчанию столбики панели построены в одном масштабе: высота столбика — число связанных КЕ в интервале, и самый высокий столбик приходится на интервал, где их больше всего. Включённая настройка растягивает каждый столбик на всю высоту: столбики показывают доли состояний внутри интервала, а не число КЕ.
Легенда
Легенда «Статусы» перечисляет состояния, которые встречаются на панелях виджета. Настраиваются положение легенды и её размер по умолчанию (%), легенду можно скрыть.
Одно значение
Виджет Одно значение предназначен для отображения в строковом виде значения метрики или атрибута конфигурационной единицы (например, сервера, устройства, приложения или другого объекта мониторинга).
Основные функции
- Отображение текущего значения – показывает актуальное состояние метрики (например, загрузка CPU, свободная память, статус устройства).
- Вывод атрибутов конфигурации – может отображать статические параметры объекта (версию ПО, серийный номер, IP-адрес и т. д.).
- Простота восприятия – данные выводятся в виде строки (текст или число), что удобно для быстрой проверки состояния системы.
- Интеграция в дашборды – часто используется в панелях мониторинга вместе с другими виджетами (графиками, таблицами, индикаторами).
Примеры использования
- CPU Usage:
75% - Статус сервера:
Online - Свободная память:
4.2 GB - Версия ПО:
v2.1.0
Источник данных
Виджет использует источник данных типа:
Карточка рисуется на каждое значение, которое вернул источник: на каждый ряд метрик, на каждый выбранный атрибут, на каждый элемент статического значения. Карточки раскладываются по ширине виджета.
Спарклайн
Для метрик доступны оба типа запроса — мгновенный (query) и диапазонный (query_range).
При диапазонном запросе каждый ряд по-прежнему занимает одну карточку: числом показывается последнее значение ряда, а весь ряд рисуется спарклайном в фоне карточки. Спарклайн — это диаграмма с областями без осей, сетки и подсказок: она показывает форму изменения за выбранный период, а точные значения смотрят на графиках.
Особенности:
- Спарклайн окрашивается в цвет сработавшего порогового значения, а если пороговые значения не настроены — в основной цвет темы.
- Область заливки строится от минимума ряда, а не от нуля: иначе у метрик с узким разбросом значений (например,
95…97 %) от диаграммы осталась бы ровная полоска. - Пропуск в данных разрывает линию, а не соединяется прямой.
- Число отсчётов в ряду ограничено: по нему рассчитывается шаг запроса к метрикам, поэтому лишние точки не запрашиваются.
При мгновенном запросе, а также для атрибутов, статического значения и OpenSearch ряда нет — спарклайн не рисуется.
Настройка
Для настройки виджета доступно:
- Привязка значений
- Привязка единиц измерения
- Пороговые значения
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
$map($.hits.hits, function($v, $i) {
{
"legend": $v._index,
"value": $i
}
})
Формат данных
[
{
"legend": "logs",
"value": 0
},
{
"legend": "logs",
"value": 1
}
]
| Поле | Описание |
|---|---|
legend | Отображаемое название значения |
value | Числовое значение метрики |
Текст
Виджет Текст предназначен для отображения текстовой информации, полученной из OpenSearch или статических данных.
!"Текст"(/img/dashboards/tabs/widgets/text/index.png "Текст")
Основные функции
- Отображение текстового значения – показывает актуальное текстовое значение (например, статус, описание, сообщение).
- Простота восприятия – данные выводятся в виде строки, что удобно для быстрого просмотра.
- Интеграция в дашборды – часто используется в панелях мониторинга вместе с другими виджетами.
Примеры использования
- Статус сервиса:
Online - Сообщение:
Все системы работают нормально - Версия:
v2.1.0
Источник данных
Виджет использует источник данных типа:
Настройка
Для настройки виджета доступно:
- Привязка значений
- Привязка единиц измерения
- Пороговые значения
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
$map($.hits.hits, function($v, $i) {
{
"legend": $v._index,
"value": $i
}
})
Формат данных
[
{
"legend": "logs",
"value": 0
},
{
"legend": "logs",
"value": 1
}
]
| Поле | Описание |
|---|---|
legend | Отображаемое название значения |
value | Числовое значение метрики |
Линейный график

Линейный график (line chart) — это тип графика, который отображает информацию в виде серии точек, соединённых прямыми линиями. Он помогает:
- Отображать динамику: рост, падение, стабильность
- Наглядно демонстрирует эволюцию показателей (например, утилизацию ЦП)
- Позволяет сравнивать множество трендов одновременно
Источник данных
Виджет использует источник данных типа метрики или OpenSearch.
Настройка
Ось X
Позволяет выбрать единицы измерения для временной шкалы. Доступные единицы измерения ограничены временной шкалой.
Подписи оси прореживаются под ширину виджета; если и одна подпись в неё не помещается, она обрезается многоточием.
Ось Y
Позволяет выбрать единицы измерения для значений графика.
Минимум и максимум задают границы оси. Пустое поле означает автоподбор: граница считается по данным, как и раньше, поэтому у дашбордов, сохранённых до появления настройки, масштаб не меняется. Заполненное поле отключает автоподбор только со своей стороны, вторую границу виджет по-прежнему подбирает сам. Границы нужны метрикам с узким разбросом значений: ряд 95…97 % на шкале от нуля вырождается в полоску у верхнего края. Значения, вышедшие за границы, прижимаются к краю полотна.
Логарифмическая шкала растягивает нижнюю часть диапазона — ряд с редкими выбросами перестаёт прижимать остальные значения к нулю. Логарифм не определён в нуле и на отрицательных значениях, поэтому такие значения и такие границы в расчёт шкалы не идут; если положительных значений не осталось вовсе, шкала остаётся линейной.
Тип линии
Пороговые значения и Заливка по порогу
Сработавший порог — тот, до значения которого дотянулись данные, — рисуется горизонтальной штриховой линией в цвете порога на уровне своего значения. Сработать может сразу несколько порогов, тогда видна линия каждого. Пока данные не дошли ни до одного порога, на полотне ничего не появляется. Заливка по порогу выбирает, чем отмечен уровень:
- Только линия — на полотне остаётся одна линия.
- Область выше порога — над линией добавляется полупрозрачная заливка цветом порога. Ниже порога цвет серии сохраняется, а заливка следующего порога начинается там, где кончается предыдущая.
Если у порога заполнено поле «Сообщение», текст выводится в цвете порога у левого края его линии: у правого края идут самые свежие точки, и подпись закрывала бы их. Сообщение стоит над линией, а если сверху места нет — там край полотна или соседний порог, — под ней. Не поместившееся по ширине графика сообщение обрезается многоточием, полный текст остаётся в настройках порога. Когда пороги стоят так тесно, что подписи негде встать ни над линией, ни под ней, её не выводят вовсе — иначе она наложилась бы на соседнюю; сама линия порога при этом остаётся на месте.
Строковые пороги на график не попадают: уровня на оси значений у них нет. Порог, оказавшийся за заданными границами оси, не рисуется. На легенду и на запрос данных пороги не влияют.
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
$map($.hits.hits, function($v, $i) {
{
"legend": $v._index,
"values": [{
"x": $i,
"y": 0,
"metricLabels": {
"id": $v._id,
"index": $string($i)
}
}]
}
})
Формат данных
[
{
"legend": "logs",
"values": [
{
"x": 0,
"y": 0,
"metricLabels": { "id": "doc_1", "index": "0" }
}
]
}
]
| Поле | Описание |
|---|---|
legend | Название серии |
values | Массив точек [x, y] с метками |
x | Временная метка (индекс) |
y | Значение метрики |
metricLabels | Метки метрики |
Диаграмма областей

Диаграмма областей (Area Chart) — это тип графика, который отображает изменение величин во времени, визуально выделяя площадь под линией. Она помогает:
- Показывать тренды — наглядно демонстрирует рост или падение метрик.
- Сравнивать вклад категорий — если диаграмма stacked (с накоплением), можно увидеть долю каждой категории в общем объеме.
- Выявлять аномалии — резкие изменения в заполненных областях легче заметить, чем на линейном графике.
Источник данных
Виджет использует источник данных типа метрики или OpenSearch.
Настройка
Ось X
Позволяет выбрать единицы измерения для временной шкалы. Доступные единицы измерения ограничены временной шкалой.
Ось Y
Позволяет выбрать единицы измерения для значений графика.
Минимум и максимум задают границы оси. Пустое поле означает автоподбор: граница считается по данным, как и раньше, поэтому у дашбордов, сохранённых до появления настройки, масштаб не меняется. Заполненное поле отключает автоподбор только со своей стороны, вторую границу виджет по-прежнему подбирает сам. Границы нужны метрикам с узким разбросом значений: ряд 95…97 % на шкале от нуля вырождается в полоску у верхнего края. Значения, вышедшие за границы, прижимаются к краю полотна.
Логарифмическая шкала растягивает нижнюю часть диапазона — ряд с редкими выбросами перестаёт прижимать остальные значения к нулю. Логарифм не определён в нуле и на отрицательных значениях, поэтому такие значения и такие границы в расчёт шкалы не идут; если положительных значений не осталось вовсе, шкала остаётся линейной.
Варианты стекирования
Настройка может принимать следующие значения:
- Нет
- Графики могут накладываться друг на друга.
- Базовая линия начинается с нуля.
- Сложение
- Графики складываются друг с другом.
- Базовая линия начинается с нуля.
- Расходящийся
- Стеки центрируются относительно нуля.
- Полезно для отображения разницы между положительными и отрицательными значениями.
- Нормализация
- Каждый стек нормализуется до 100%.
- Показывает относительные пропорции.
- Покачивание
- Минимизирует изменение наклона.
- Используется в streamgraph (визуализация потоков).
Тип линии
Пороговые значения и Заливка по порогу
Настройка устроена так же, как на линейном графике: сработавший порог виден горизонтальной штриховой линией в цвете порога с сообщением порога у левого края линии, а заливка по порогу выбирает между одной линией и закрашенной областью выше неё. Заливка ложится поверх области серии, поэтому она заметно прозрачнее, чем на линейном графике: цвет серии под порогом остаётся различим. Сообщение обведено цветом фона, поэтому читается и поверх залитых областей.
Сработавший порог выбирается по тем значениям, которые видны на оси: при стекировании это сумма серий в точке, без стекирования — значения отдельных серий. В режиме «Нормализация» ось показывает доли, и порог, заданный в абсолютных значениях, на полотно не попадает.
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
$map($.hits.hits, function($v, $i) {
{
"legend": $v._index,
"values": [{
"x": $i,
"y": 0,
"metricLabels": {
"id": $v._id,
"index": $string($i)
}
}]
}
})
Формат данных
[
{
"legend": "logs",
"values": [
{
"x": 0,
"y": 0,
"metricLabels": { "id": "doc_1", "index": "0" }
}
]
}
]
| Поле | Описание |
|---|---|
legend | Название серии |
values | Массив точек [x, y] с метками |
x | Временная метка (индекс) |
y | Значение метрики |
metricLabels | Метки метрики |
С помощью настройки типа линий можно контролировать форму кривых для линий и областей. Доступные типы кривых:
- Линейная интерполяция
- По умолчанию для большинства серий
- Соединяет точки прямыми линиями
- Хорошо подходит для дискретных данных
- Сглаженный сплайн
- Плавные кривые без резких перегибов
- Идеально для streamgraph и плавных визуализаций
- Ступенчатая
- Горизонтальные линии с резкими вертикальными переходами
- Полезно для дискретных изменений
- Шаг до
- Изменение значения происходит перед переходом к следующей точке
- Шаг после
- Изменение значения происходит после перехода к следующей точке
Столбчатая диаграмма по времени
Столбчатая диаграмма по времени (Time series bar chart) — это тип графика, который отображает значения метрик столбиками, привязанными к интервалам времени. Она помогает:
- Сравнивать дискретные интервалы — каждый столбик отвечает за конкретный бакет времени.
- Показывать вклад серий — в режиме с накоплением видно долю каждой серии в общей сумме за интервал.
- Замечать пропуски данных — интервал без значений оставляет пустое место на шкале времени.
Источник данных
Виджет использует источник данных типа метрики или OpenSearch.
Запрос всегда диапазонный (query_range для метрик, date_histogram для OpenSearch): виджет строит динамику.
Все серии раскладываются по общей сетке интервалов. Шаг сетки восстанавливается по данным — берётся минимальный интервал между соседними отсчётами. Если у серии в интервале нет значения, столбик не рисуется, но место под него на шкале времени сохраняется.
Настройка
Ось X
Позволяет выбрать единицы измерения для временной шкалы. Доступные единицы измерения ограничены временной шкалой.
Ось Y
Позволяет выбрать единицы измерения для значений графика.
Режим столбиков
Настройка может принимать следующие значения:
- Одиночный
- Каждая серия рисуется своими столбиками.
- Столбики разных серий занимают весь интервал и могут перекрывать друг друга.
- С накоплением
- Столбики серий складываются друг на друга внутри интервала.
- Высота столбика — сумма значений всех серий за интервал.
- С накоплением до 100%
- Столбик всегда занимает всю высоту графика.
- Показывает доли серий внутри интервала, а не абсолютные значения.
- Сгруппированный
- Столбики серий стоят рядом внутри одного интервала.
- Удобно для прямого сравнения серий в каждом интервале.
Максимум столбиков (для метрик)
Ограничивает число интервалов, на которые разбивается выбранный диапазон: по этому числу рассчитывается шаг запроса к метрикам, поэтому столько точек с сервера и приходит. Значение по умолчанию подобрано так, чтобы график помещался в виджет шириной примерно от половины дашборда.
Настройка действует только на источник данных типа метрики. Для OpenSearch размер интервала задаётся полем
fixed_interval в самом запросе, и число столбиков определяется им.
Верхней границы у настройки нет: если столбиков окажется больше, чем помещается в виджет, включится горизонтальная прокрутка.
Минимальная ширина столбика (px)
Задаёт минимальный размер одного столбика. Если интервалов больше, чем помещается в виджет с такой шириной, появляется горизонтальная прокрутка, а ось значений остаётся на месте. В сгруппированном режиме ширина резервируется под каждый столбик группы.
Показывать значения
Включает подписи значений. У одиночных и сгруппированных столбиков подпись ставится над столбиком, у столбиков с накоплением — внутри сегмента. В режиме с накоплением до 100% подпись показывает долю в процентах. Подпись, которая не помещается в отведённое место, не выводится.
Пороговые значения и Заливка по порогу
Порог красит столбик только когда он сработал: значения ниже всех порогов остаются в цвете серии. Заливка по порогу выбирает, чем именно красить:
- Весь столбик — столбик целиком получает цвет сработавшего порога.
- Часть выше порога — цвет меняется на уровне порога, нижняя часть столбика остаётся в цвете серии.
Настройка доступна в одиночном и сгруппированном режимах. В режимах с накоплением столбик собран из вкладов нескольких серий, поэтому пороги там отключены.
Легенда
Клик по элементу легенды скрывает или показывает соответствующую серию. Пороговые цвета в легенде не отражаются.
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
[
aggregations.by_index.buckets.(
$idx := key;
{
"legend": $idx,
"key": $idx,
"values": [by_time.buckets.{
"x": key / 1000,
"y": doc_count,
"metricLabels": { "index": $idx }
}]
}
)
]
Формат данных
[
{
"legend": "logs",
"key": "logs",
"values": [
{
"x": 1709942400,
"y": 12,
"metricLabels": { "index": "logs" }
}
]
}
]
| Поле | Описание |
|---|---|
legend | Название серии |
key | Уникальный идентификатор серии |
values | Массив точек [x, y] с метками |
x | Начало интервала, Unix-время в секундах |
y | Значение метрики в интервале |
metricLabels | Метки метрики |
Тепловая карта
Тепловая карта показывает значения рядов во времени: по горизонтали — временные интервалы, по вертикали — ряды, цвет ячейки — числовое значение. Например, загрузку CPU каждого сервера или количество документов OpenSearch по индексам. Все ряды одной карты должны иметь одинаковые единицы измерения.
Источник данных
-
Метрики VictoriaMetrics — диапазонный запрос
query_range, включая несколько запросов в одной группе. Каждая результирующая серия становится отдельной строкой. Пример запроса для загрузки CPU в процентах:100 * (1 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])))Для имени строки можно использовать JSONata-преобразование метрики
{"legend": $metric.instance}. -
OpenSearch — один запрос с группировкой и вложенными временными бакетами. Запрос по умолчанию группирует документы по
_index, затем по@timestampсfixed_interval: "1h"; значение ячейки —doc_count. Чтобы показать приложения или другие категории, измените полеtermsи соответствующее JSONata-выражение.
Поле времени в редакторе OpenSearch задаёт фильтр диапазона дашборда. Оно должно соответствовать полю
date_histogram в DSL: изменение поля в редакторе не переписывает агрегацию. Пустое поле отключает фильтр
времени; виджет показывает об этом предупреждение.
Настройки
Цветовая шкала
- Градиент, включённый по умолчанию: выбираются цвета минимума и максимума, между ними — плавный переход. В списке «Промежуточные точки градиента» можно добавлять и удалять точки, задавая каждой цвет и позицию в процентах шкалы. Например: цвет минимума — зелёный, точка на 50% — жёлтая, цвет максимума — красный. Цвета крайних точек задаются прежними полями; их позиции закреплены на 0% и 100%. Позиции промежуточных точек должны быть уникальными и строго между 0% и 100%; дробные позиции допустимы. Переход строится между соседними точками в порядке их позиций. Легенда использует те же точки, что и ячейки. Автоматические границы — минимум и максимум всех конечных значений карты, без привязки к нулю. В ручном режиме задаются числовые границы. Минимум должен быть меньше максимума; при некорректных границах карта не строится и показывает пояснение. Значения за границами получают крайний цвет. Позиция — процент диапазона шкалы, а не значение метрики: на шкале 20…40 точка на 50% соответствует 30. Сохранённые карты без промежуточных точек продолжают использовать градиент между двумя крайними цветами.
- Пороги: используется общий редактор порогов. Базовый цвет действует ниже первого активного числового порога, далее применяется цвет последнего порога, значение которого не больше значения ячейки. Отключённые пороги не применяются. Легенда показывает интервалы без пересечения границ.
Шкала общая для всех рядов, поэтому одинаковые значения имеют одинаковый цвет. Градиентная легенда показывает выбранные границы с единицами измерения. Для постоянных данных в автоматическом режиме используется один цвет на позиции 50% градиента и одна подпись значения.
Цвет можно выбрать в палитре или ввести кодом HEX. Пипетка для выбора цвета с экрана показывается, если браузер предоставляет EyeDropper API; при отсутствии поддержки кнопка скрыта.
Единицы измерения
Общий формат чисел применяется к подсказкам, подписям ячеек и легенде. Он не меняет исходные значения, по которым рассчитываются цвета и пороги.
Максимум интервалов (для метрик)
По этому числу рассчитывается шаг запроса VM; значение по умолчанию — 50. Настройка задаёт плотность данных,
а не отбрасывает пришедшие точки. При включённых обеих границах диапазона сервер может вернуть дополнительную
конечную точку. Для OpenSearch размер интервала задаётся fixed_interval или calendar_interval в DSL;
настройка максимума интервалов VM к нему не применяется.
Минимальная ширина и высота ячейки (px)
По умолчанию — 14 × 26 px. Когда данные не помещаются, появляется горизонтальная и вертикальная прокрутка. Имена рядов закреплены при горизонтальной прокрутке, ось времени — при вертикальной. Большие карты отрисовывают только видимые строки и столбцы; строки не обрезаются по количеству.
Показывать значения
Выключено по умолчанию. Подпись рисуется, только если помещается в ячейку. Подсказка по наведению или фокусу доступна всегда и содержит полное имя ряда, время и значение с выбранной единицей измерения.
Правила отображения
| Случай | Отображение |
|---|---|
| Ноль | Обычное числовое значение с цветом шкалы |
| Отрицательное число | Учитывается при расчёте границ и цвета |
Отсутствующая точка, null, нечисловое или бесконечное значение | Прозрачная ячейка; место в сетке сохраняется, в подсказке «Нет данных» |
| Все значения отсутствуют | Состояние «Нет данных» без цветовой легенды |
| Все значения одинаковы | Цвет на позиции 50% градиента и одна подпись значения в автоматическом режиме |
| Повторные позиции точек, позиции вне интервала 0…100%, пустой или некорректный HEX | Карта не строится; показывается пояснение о некорректных точках градиента |
| Длинное имя ряда | Сокращённая подпись, полное имя в подсказке |
| Подпись значения не помещается | Подпись скрыта; значение доступно в подсказке |
| Повторная точка одного ряда с тем же временем | Используется последняя точка, включая пропуск |
Ось времени всегда сохраняет весь выбранный диапазон, как в линейном графике и диаграмме с областями. Ячейки располагаются по временным отметкам ответа; до первой и после последней точки остаётся пустое место. Для VM равномерная сетка продолжается с шагом запроса и фазой полученных отметок: округление времени на стороне VM не сокращает отображаемый период. Для OpenSearch шаг восстанавливается из временных отметок. Если шаг неизвестен (одна отметка времени) или точки не укладываются в равномерную сетку, отображаются полученные отметки без округления, с сохранением промежутков между ними и границ выбранного диапазона. «Максимум интервалов (для метрик)» меняет плотность запроса, а не границы оси времени.
Имена рядов не определяют цвет. Тепловая карта не выполняет автоматическое преобразование накопительных гистограмм в распределение: необходимые вычисления должны быть заданы в запросе или преобразовании данных.
Преобразование данных OpenSearch
JSONata-выражение по умолчанию:
[
aggregations.by_index.buckets.(
$idx := key;
{
"legend": $idx,
"key": $idx,
"values": [by_time.buckets.{
"x": key / 1000,
"y": doc_count
}]
}
)
]
Квадратные скобки вокруг values сохраняют массив даже при единственном временном бакете.
Формат данных после преобразования:
[
{
"legend": "pamir-logs-api",
"key": "pamir-logs-api",
"values": [
{ "x": 1709942400, "y": 0 },
{ "x": 1709946000, "y": 85 },
{ "x": 1709949600, "y": null }
]
}
]
| Поле | Описание |
|---|---|
legend | Имя строки |
key | Уникальный идентификатор строки; одинаковые имена не объединяют строки |
values | Массив точек ряда |
x | Unix-время в секундах, не миллисекундах |
y | Числовое значение; null обозначает пропуск |
Столбчатая диаграмма по категориям
Столбчатая диаграмма по категориям (Category bar chart) — это тип графика, который сравнивает текущие значения нескольких метрик или объектов. Она помогает:
- Сравнивать объекты между собой — по столбику на каждую категорию.
- Находить выбросы — сортировка по значению выводит наибольшие или наименьшие показатели наверх.
- Отслеживать превышения — столбик, перешедший порог, меняет цвет.
- Показывать состав целого — столбик собирается из сегментов: например, занятое место по типам данных.
Источник данных
Виджет использует источник данных типа метрики или OpenSearch.
Для метрик используется только мгновенный запрос (query): виджет показывает текущее состояние, а не динамику.
Запросов в виджете может быть несколько — результаты всех запросов попадают в общий список.
Полосы и сегменты
Данные виджета — плоский список значений. Каждому значению соответствуют два поля:
legend— подпись значения. Настраивается шаблоном легенды в редакторе метрик, для OpenSearch задаётся в преобразовании данных.category— необязательное поле. Задаёт полосу, в которую попадает значение.
Для метрик оба поля возвращает шаблон запроса в редакторе метрик. Заготовка шаблона содержит только legend:
category необязательно и в неё не входит, но есть в примере результата в редакторе шаблона. Чтобы разделить значения
на полосы, поле добавляют в шаблон и указывают метку, по которой делить, — например, диск:
{
"legend": $metric.type,
"category": $metric.disk
}
Для OpenSearch поля задаёт преобразование данных — пример в разделе Разбивка на полосы и сегменты.
От того, заполнено ли category, зависит смысл столбика:
- Поле не заполнено. В одиночном режиме каждое значение — самостоятельный столбик, а
legendподписывает его на оси. В режимах с накоплением и в сгруппированном все значения попадают в одну полосу и становятся её сегментами. Так строится диаграмма занятого места: три запроса — «система», «документы», «медиа» — дают одну полосу из трёх сегментов. - Поле заполнено. Полосы задаёт
category, аlegendстановится именем сегмента. Значения с одинаковымlegendсчитаются одним и тем же сегментом во всех полосах: они получают один цвет и гаснут в легенде вместе. В OpenSearch сегмент определяет полеkey— его выражение должно повторять у одного сегмента во всех полосах. Поэтому после появленияcategoryшаблон легенды должен описывать только сегмент — если оставить в нём метку, различающую полосы (имя диска, инстанс), сегменты перестанут совпадать между полосами. - Поле заполнено не у всех значений. Значения без
categoryсобираются в отдельную полосу «Без категории».
Когда полоса всего одна, ось категорий не выводится: подписывать её нечем.
Настройка
Единица измерения
Позволяет выбрать единицы измерения для значений и подписей.
Ориентация
Вертикальная — столбики растут вверх, категории подписаны снизу. Горизонтальная — столбики растут вправо, категории подписаны слева. Горизонтальная ориентация удобна для длинных названий категорий.
Режим столбиков
Настройка может принимать следующие значения:
- Одиночный
- Каждое значение рисуется своим столбиком.
- Если полосы заданы полем
category, сегменты внутри полосы накладываются друг на друга.
- С накоплением
- Сегменты складываются друг на друга внутри полосы.
- Длина полосы — сумма её сегментов.
- С накоплением до 100%
- Полоса всегда занимает всю длину графика.
- Показывает доли сегментов внутри полосы, а не абсолютные значения; подписи выводятся в процентах.
- Сгруппированный
- Сегменты стоят рядом внутри одной полосы.
- Удобно для прямого сравнения сегментов между полосами.
Сортировка
Задаёт порядок полос: по значению или по имени, по возрастанию или по убыванию. Для составной полосы «по значению» означает по сумме её сегментов. Порядок сегментов внутри полосы всегда одинаковый — по имени сегмента, иначе цвета в соседних полосах не совпадали бы.
Минимальная ширина столбика (px)
Задаёт минимальный размер одного столбика. Если категорий больше, чем помещается в виджет, появляется прокрутка — горизонтальная при вертикальной ориентации и вертикальная при горизонтальной. Ось значений при этом остаётся на месте.
Максимальная толщина столбика (px)
Ограничивает толщину столбика сверху. Без значения столбик занимает всю ширину своего слота — у одной полосы это почти вся высота виджета в горизонтальной ориентации. В сгруппированном режиме ограничение относится к каждому столбику группы, а не к группе целиком.
Показывать значения
Включает подписи значений. У одиночных и сгруппированных столбиков подпись ставится за концом столбика, у сегментов с накоплением — внутри сегмента. Подпись, которая не помещается, не выводится.
Пороговые значения и Заливка по порогу
Работают так же, как в диаграмме по времени: порог красит столбик только когда сработал, а заливка выбирает между окраской всего столбика и только той части, что выше порога.
Настройка доступна в одиночном и сгруппированном режимах. В режимах с накоплением полоса собрана из вкладов нескольких сегментов, поэтому пороги там отключены.
Легенда
Клик по элементу легенды скрывает или показывает соответствующий столбик, а в составной полосе — сегмент во всех полосах сразу.
Подписи оси категорий
Если название не помещается между соседними столбиками, подпись разворачивается на 45°, а виджет отводит ей место снизу и слева — повёрнутая подпись уходит от столбика в обе стороны сразу. Отводится ровно столько, сколько нужно самой длинной подписи, но не больше 40% высоты виджета; в горизонтальной ориентации подписи стоят слева и занимают не больше трети его ширины.
Название, которое не уместилось и в этот предел, обрезается многоточием. Полное имя остаётся во всплывающей подсказке
столбика, а если полосы не заданы полем category, — и в легенде.
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
[
aggregations.by_index.buckets.(
$idx := key;
{
"legend": $idx,
"key": $idx,
"value": doc_count
}
)
]
Формат данных
[
{
"legend": "logs",
"key": "logs",
"value": 128
}
]
| Поле | Описание |
|---|---|
legend | Подпись категории на оси и в легенде |
key | Уникальный идентификатор категории |
value | Значение столбика |
Разбивка на полосы и сегменты
Выражение по умолчанию строит по столбику на индекс. Чтобы получить составные полосы, запрос должен вернуть
двумерную агрегацию, а выражение — развернуть её в плоский список с полем category.
Пример запроса: занятое место по типам данных на каждом диске.
{
"size": 0,
"aggs": {
"by_disk": {
"terms": { "field": "disk.keyword", "size": 100 },
"aggs": {
"by_type": {
"terms": { "field": "type.keyword", "size": 100 },
"aggs": {
"used": { "sum": { "field": "bytes" } }
}
}
}
}
}
}
Выражение для такого ответа:
[
/* Внешние бакеты — полосы: по одной на диск */
aggregations.by_disk.buckets.(
$disk := key;
/* Вложенные бакеты — сегменты внутри полосы */
by_type.buckets.{
"category": $disk, /* В какую полосу попадёт значение */
"legend": key, /* Имя сегмента: одинаковое во всех полосах */
"key": key, /* Один ключ у одного сегмента во всех полосах */
"value": used.value /* Длина сегмента */
}
)
]
Результат — плоский список, в котором сегмент повторяется столько раз, сколько полос его содержат:
[
{ "category": "sda", "legend": "system", "key": "system", "value": 32212254720 },
{ "category": "sda", "legend": "media", "key": "media", "value": 96636764160 },
{ "category": "sdb", "legend": "system", "key": "system", "value": 10737418240 }
]
| Поле | Описание |
|---|---|
category | Полоса, в которую попадает значение; без поля все значения в одной полосе |
legend | Имя сегмента — оно же подпись в легенде |
key | Идентификатор сегмента; у одного сегмента он одинаков во всех полосах |
value | Длина сегмента |
Ключ важен именно тем, что повторяется: по нему виджет понимает, что «system» на разных дисках — один и тот же сегмент, и гасит его по клику в легенде сразу во всех полосах. Если вернуть разные ключи (например, склеить диск и тип), сегменты станут независимыми: в легенде появится по пункту «system» на каждый диск, и клик будет скрывать сегмент только в одной полосе.
Круговая диаграмма

Круговая диаграмма (Pie Chart) — это тип графика, который используются для наглядного представления состава целого и демонстрации долевого распределения. Она помогает:
- Показывать пропорций
- Визуализация частей относительно целого
- Удобны, когда важно подчеркнуть значимость одной доли
- Сравнение ограниченного числа категорий (оптимально 2-5 сегментов)
- Демонстрация простых соотношений
- Например: 75% пользователей vs. 25% не пользователей
- Распределение типов устройств
Источник данных
Виджет использует источник данных типа:
Настройка
Настройки круговой диаграммы позволяют выполнять:
- Привязку значений
- включать аннотации
- выбирать режим отображения значений:
- значение
- процент
- процент и значение
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
$map($.hits.hits, function($v, $i) {
{
"legend": $v._index,
"value": $i
}
})
Формат данных
[
{
"legend": "logs",
"value": 0
},
{
"legend": "logs",
"value": 1
}
]
| Поле | Описание |
|---|---|
legend | Название сегмента |
value | Значение сегмента |
Санкей
Санкей (Sankey) — это диаграмма потоков: узлы соединяются лентами, толщина ленты пропорциональна значению связи. Она помогает:
- Видеть, как распределяется поток от источника к получателю — доля каждого направления видна по толщине ленты.
- Находить основные и второстепенные пути: самая толстая лента и есть главное направление.
- Разбирать многоступенчатые переходы — узел может быть и получателем одной связи, и источником следующей.
Источник данных
Виджет использует источник данных типа метрики или OpenSearch.
Данные виджета — плоский список связей: начало, конец и значение. Уровни диаграммы отдельно не задаются, они складываются сами, когда конец одной связи оказывается началом другой.
Для метрик используется только мгновенный запрос (query): виджет показывает текущее состояние потока, а на запросе за
диапазон одна и та же пара узлов пришла бы столько раз, сколько в ряду отсчётов. Концы связи берутся из меток
результата — их задаёт шаблон запроса в редакторе метрик. Заготовка шаблона уже содержит поля source и target, в ней
остаётся указать нужные метки. Значение связи берётся из самой метрики, в шаблон его выносить не нужно.
Запрос OpenSearch по умолчанию группирует документы по двум полям — вложенными агрегациями by_source и by_target:
внешний бакет даёт начало связи, вложенный — её конец, а doc_count вложенного бакета — значение.
Что виджет делает с данными до отрисовки
- Одна и та же пара узлов, пришедшая несколько раз, складывается в одну связь с суммой значений.
- Связь без числового значения, с отрицательным значением или с пустым именем узла отбрасывается.
- Отбрасывается петля, у которой начало совпадает с концом, и связь, замыкающая цикл: раскладка диаграммы циклов не допускает и на них не строится вовсе. Остальные связи при этом сохраняются.
Узлы склеиваются по имени: одинаковое имя в разных связях — это один узел.
Настройка
Единица измерения
Позволяет выбрать единицы измерения для значений: и во всплывающих подсказках, и в подписях на полотне.
Выравнивание узлов
Задаёт, как расставляются колонки: по центру, по ширине, по левому или по правому краю. Выравнивание влияет на узлы, которые не привязаны жёстко ни к началу, ни к концу потока.
Ширина узла (px) и Отступ между узлами (px)
Толщина прямоугольника узла и вертикальный зазор между узлами одной колонки. В положении подписей «Внутри узла» ширина работает как нижняя граница: узел расширяется под самую длинную подпись, но не больше 96 px и не больше 60 % шага между колонками — иначе одно длинное имя раздувает каждый узел и от лент на полотне остаются огрызки.
Подписи узлов
Включает имена узлов на полотне. Имя, которое не помещается в отведённое ему место, обрезается многоточием; полное имя остаётся в легенде и во всплывающей подсказке.
Положение подписей узлов
- Рядом с узлом — подпись стоит в просвете между колонками: у последней колонки слева от узла, у остальных справа. Если просвета не остаётся вовсе, подписи не выводятся. Подписи значений связей встают туда же, поэтому имя узла и значение его исходящей связи спорят за одно место — выигрывает имя.
- Внутри узла — подпись стоит на самом узле, по центру, а просвет между колонками остаётся значениям связей.
Значения узлов и Значения связей
Включают числа на полотне. Значение узла встаёт второй строкой под его именем; это больший из его потоков — входящий или исходящий, — то же число, что и во всплывающей подсказке. Значение связи стоит на её ленте и прижато к узлу-источнику: у каждой связи одна подпись, на той стороне, откуда поток выходит.
Режим отображения значений
Выбирает, что писать в подписи значения — и у узлов, и у связей:
- Значение — число в выбранных единицах измерения.
- Процент — доля от суммы значений узлов колонки: у узла от своей колонки, у связи от колонки её узла-источника. База
на всей диаграмме одна, поэтому доли узлов колонки складываются в 100 %, доля узла равна сумме долей его исходящих
связей, и любые две подписи на полотне сравнимы между собой. Доля меньше процента показывается как
<1%, чтобы существующий поток не выглядел нулевым. - Значение и процент — и то и другое:
1.2 K (74%).
Как подписи делят место
Подписи не накладываются друг на друга: каждая занимает прямоугольник, и та, которой места не хватило, не выводится — её значение остаётся во всплывающей подсказке. Места разбираются по убыванию значения, сначала узлами: при тесноте на полотне остаются подписи самых крупных потоков, а не случайные. Кроме того:
- узлу ниже двух строк достаётся только имя, ниже одной строки — ничего;
- связи, лента которой тоньше строки, подпись не достаётся;
- значение не обрезается многоточием: число без последних цифр не значит ничего. Не поместилось по ширине — не выводится.
Легенда
Легенда перечисляет узлы диаграммы, а не связи: колонки идут слева направо, внутри колонки — в порядке раскладки. Цвет элемента легенды совпадает с цветом узла на полотне. Клик по элементу скрывает узел вместе со всеми его связями. Узел, оставшийся после этого без связей, тоже пропадает с полотна, но в легенде остаётся активным — вернуть его можно, только показав скрытого соседа.
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
[
aggregations.by_source.buckets.(
$source := key;
by_target.buckets.{
"source": $source,
"target": key,
"value": doc_count
}
)
]
Формат данных
[
{
"source": "logs-app",
"target": "error",
"value": 3
}
]
| Поле | Описание |
|---|---|
source | Узел, из которого выходит связь |
target | Узел, в который приходит связь |
value | Толщина связи |
Хорда
Хорда (Chord) — это диаграмма потоков между узлами одного набора: узлы стоят дугами по кругу, а ленты внутри круга соединяют их между собой. Она помогает:
- Видеть обмен между узлами целиком — на круге помещаются и прямой поток, и встречный ему.
- Находить узлы, которые отдают больше остальных: чем длиннее дуга, тем больше из узла выходит.
- Разбирать замкнутые связи, которые диаграмма Санкей показать не может: круг допускает и цикл, и поток узла в себя.
Данные у хорды и у Санкея одни и те же — плоский список связей. Разница в раскладке: Санкей раскладывает поток по колонкам слева направо и потому отбрасывает циклы, а хорда работает с одним набором узлов и сохраняет их.
Источник данных
Виджет использует источник данных типа метрики или OpenSearch.
Данные виджета — плоский список связей: начало, конец и значение. Оба конца берутся из одного набора узлов: узел, названный началом одной связи и концом другой, — это один и тот же узел.
Для метрик используется только мгновенный запрос (query): виджет показывает текущее состояние потока, а на запросе за
диапазон одна и та же пара узлов пришла бы столько раз, сколько в ряду отсчётов. Концы связи берутся из меток
результата — их задаёт шаблон запроса в редакторе метрик. Заготовка шаблона уже содержит поля source и target, в ней
остаётся указать нужные метки. Значение связи берётся из самой метрики, в шаблон его выносить не нужно.
Запрос OpenSearch по умолчанию группирует документы по двум полям — вложенными агрегациями by_source и by_target:
внешний бакет даёт начало связи, вложенный — её конец, а doc_count вложенного бакета — значение. Имена полей в
заготовке запроса нужно заменить своими: поля, у которого оба конца связи брались бы из одного набора значений, в
OpenSearch нет, поэтому рабочим запрос из коробки быть не может.
Что виджет делает с данными до отрисовки
- Одна и та же пара узлов, пришедшая несколько раз, складывается в одну связь с суммой значений.
- Связь без числового значения, с отрицательным значением или с пустым именем узла отбрасывается.
- Встречные потоки остаются двумя разными связями: на полотне они сходятся в одну ленту, у которой концы разной толщины.
- Связь узла с самим собой сохраняется и рисуется лентой, замкнутой на его же дугу.
Узлы склеиваются по имени: одинаковое имя в разных связях — это один узел.
Длина дуги
Дуга узла — это сумма того, что из узла выходит; входящие в него потоки лежат в дугах их собственных источников. Отсюда следствие, о котором стоит помнить при подготовке запроса: узел, который только принимает и ничего не отдаёт, получает дугу нулевой длины — на полотне остаются только приходящие в него ленты. Если такие узлы в данных есть, хорда для них подходит хуже, чем Санкей.
Настройка
Единица измерения
Позволяет выбрать единицы измерения для значений в подписях и во всплывающих подсказках.
Толщина кольца (px)
Толщина дуг, из которых сложено кольцо узлов. Кольцо не занимает больше двух пятых радиуса: остальное остаётся лентам.
Зазор между дугами (°)
Угловой просвет между дугами соседних узлов. Если узлов столько, что просветы заняли бы больше половины круга, зазор ужимается автоматически — иначе от дуг не осталось бы ничего.
Подписи узлов
Включает имена узлов снаружи кольца. Подпись стоит по радиусу своей дуги, а на левой половине круга разворачивается, чтобы её не приходилось читать снизу вверх. Имя, которое не помещается в отведённое кольцу подписей место, обрезается многоточием; полное имя остаётся в легенде и во всплывающей подсказке. У дуги короче строки подпись не выводится, а если после кольца подписей на саму диаграмму не остаётся места, подписи не выводятся вовсе.
Значения узлов и Значения связей
Включают значение узла второй строкой его подписи и значения связей внутри круга.
Подпись связи стоит у того её конца, из которого поток выходит, и описывает именно этот поток: у пары со встречным потоком подписей две, по одной на каждое направление, а у связи узла с самим собой — одна. Не выводятся подписи, чей конец ленты тоньше строки, и те, что не помещаются в место, отведённое внутри кольца; когда таких подписей несколько, на полотне остаются подписи самых крупных потоков.
Режим отображения значений
Выбирает, показывать значение, процент или то и другое. Доля считается от всего потока диаграммы, поэтому доли дуг в сумме дают 100 %, а доля дуги равна сумме долей выходящих из неё связей.
Легенда
Легенда перечисляет узлы диаграммы, а не связи: порядок тот же, что и у дуг на круге — по убыванию исходящего потока. Цвет элемента легенды совпадает с цветом дуги. Клик по элементу скрывает узел вместе со всеми его связями.
Всплывающая подсказка
Подсказка на дуге показывает исходящий поток узла, подсказка на ленте — оба направления сразу, каждое своей строкой.
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
[
aggregations.by_source.buckets.(
$source := key;
by_target.buckets.{
"source": $source,
"target": key,
"value": doc_count
}
)
]
Формат данных
[
{
"source": "app-01",
"target": "db-01",
"value": 3
}
]
| Поле | Описание |
|---|---|
source | Узел, из которого выходит связь |
target | Узел, в который приходит связь |
value | Толщина связи |
Шкала
Виджет Шкала предназначен для наглядного отображения значения метрики в процентном соотношении. Он визуализирует данные в виде заполняющегося сосуда (например, линейного индикатора, круговой шкалы или столбчатой диаграммы), где:
- 0% соответствует пустому состоянию,
- 100% — полностью заполненному.
Формат входных данных:
- Принимает значение метрики в диапазоне от 0 до 1 (где 0 = 0%, 0.5 = 50%, 1 = 100%).
- Поддерживает динамическое обновление данных.

Источник данных
Виджет использует источник данных:
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
$map($.hits.hits, function($v, $i) {
{
"legend": $v._index,
"value": $i/10
}
})
Формат данных
[
{
"legend": "logs",
"value": 0
},
{
"legend": "logs",
"value": 0.1
}
]
| Поле | Описание |
|---|---|
legend | Название значения |
value | Доля заполнения шкалы, от 0 до 1 |
Примеры использования
- Отображение уровня заряда батареи.
- Загрузка системы (CPU, RAM, диск).
Настройка
Таблица КЕ

Таблица КЕ предоставляет возможность отображать атрибуты конфигурационных единиц (КЕ) в виде таблицы. Поддерживаются следующие функции:
- Сортировка — данные можно упорядочивать по значениям атрибутов.
- Поиск — доступен поиск по исходным значениям атрибутов.
Режимы отображения:
-
Вся область видимости TQL
- Все КЕ отображаются в одной таблице, независимо от их типа.
-
Узлы TQL
- Для каждого узла TQL создается отдельная вкладка.
- На вкладке отображаются только КЕ, соответствующие выбранному узлу.
Это позволяет гибко настраивать представление данных в зависимости от задач пользователя.
При отрисовке значение схема атрибута не учитывается. Значение атрибутов выводятся в виде строки. Для замены значений нужно использовать пункт Привязка значений из настройки виджета.
Источник данных
Таблица КЕ использует источник данных типа Значения атрибутов.
Настройка
Настройки таблицы КЕ позволяют выполнять:
- Привязку значений
- Привязку единиц измерения
- Сортировку таблицы по умолчанию
- Привязку пороговых значений
Каждая настройка применяется к выбранному перечню столбцов. Столбцы строятся на базе атрибутов CMDB.
Сводная таблица
Сводная таблица — это инструмент для агрегации и структурирования данных, который позволяет:
- Группировать данные по одному или нескольким полям (строкам и столбцам).
- Агрегировать значения (сумма, среднее, количество и др.) на пересечении групп.
- Анализировать данные в компактном и наглядном формате, выявляя закономерности.
Ключевые компоненты сводной таблицы
- Строки (rows) — категории для группировки (например, даты, регионы, продукты).
- Столбцы (columns) — дополнительные уровни детализации (например, статусы, типы).
- Значения (values) — числовые данные, к которым применяются агрегационные функции (
SUM,AVG,COUNTи др.).
Строки и столбцы формируются из значений выбранных меток (например, instance, pod, service).
Пример сводной таблицы использования CPU и памяти серверов, сгруппированных по окружениям (env) и ролям (role)
Исходные метрики:
node_cpu_usage_seconds_total(метки:instance,env=prod|dev|stage,role=web|db|cache)node_memory_usage_bytes(метки:instance,env,role)
| Окружение \ Роль | Web (CPU %) | DB (CPU %) | Cache (CPU %) | Web (RAM GB) | DB (RAM GB) | Cache (RAM GB) |
|---|---|---|---|---|---|---|
| Prod | 45% | 78% | 32% | 12.4 | 24.7 | 5.2 |
| Stage | 32% | 65% | 28% | 8.1 | 18.3 | 4.0 |
| Dev | 15% | 40% | 10% | 4.5 | 9.8 | 2.1 |
Как это построено:
- Строки: Окружения (env).
- Столбцы:
- Группировка по ролям (role).
- Подстолбцы для CPU и RAM.
- Значения:
- CPU:
avg(rate(node_cpu_usage_seconds_total[1h])) by (env, role)→ преобразовано в %. - RAM:
avg(node_memory_usage_bytes / 1024^3) by (env, role)→ в гигабайтах.
- CPU:
Источник данных
Сводная таблица использует источник данных типа метрики.
Настройка
Название таблицы - заполняет ячейку в левом верхнем углу. По умолчанию название берется из агрегатной функции.
Функция агрегации - применяет выбранную функцию (count, sum, avg) к значениям метрик.
Столбцы и Строки - заполняются названием меток метрики. Порядок меток определяет порядок группировки сводной таблицы. Имена меток задаются пользователем самостоятельно.
Для примера создадим таблицу с настройками:
- значения столбцов
name,code - значением строк
job,handler - функцией агрегации
sum(Сумма элементов)
Источниками данных являются метрики:
prometheus_http_requests_totalprometheus_http_request_duration_seconds_sum
В заголовках строк и столбцов будет несколько уровней. Ячейка на пересечении
строки services и столбцов prometheus_http_requests_total,200 - суммирует информацию по всем метрикам, чьи метки
удовлетворяют условиям job = services, __name__ = prometheus_http_requests_total, code = 200
Строка services содержит промежуточный итог по всем вложенным подстрокам:
//-/reload/api/v1/query- т.д.
Возможны ситуации при которых у столбца __name__ с конкретным названием (например, prometheus_http_request_duration_seconds_sum),
не существует меток code, как у других меток. В таком случае уровень столбцов для code
в prometheus_http_request_duration_seconds_sum будет пустым. Значения в ячейках пересечения будет тоже пустыми.
Виджет скрывает такие ячейки. Для отображения пустых ячеек нужно отключить параметр "Cкрыть несуществующие колонки".
Единицы измерения
Для привязки единиц измерения к метрике необходимо в поле Название метрики указать сырое название метрики.
Привязка единиц измерения не выполняется, если к одной метрике привязано более одной единицы измерения.
Начальная сортировка
Для настройки сортировки нужно указать список столбцов по которым будет выполняться сортировка. Список столбцов указывается в формате:
- название колонки
- направление сортировки
В название колонки добавлять нужно только названия нижних столбцов, которые имеют значок сортировки.
Порядок столбцов в настройке сортировки определяет порядок сортировки в сводной таблице.
Порядок сортировки строк
Пороговые значения
Примение пороговых значений работают по принципу выбора названия столбца и строки, после чего на пересечение данных (также субстрок и субстолбцов) названий к значению в ячейке будут применяться парвило расчета порогового значения.
При выборе только столбца либо строки в мультиселекте, будет окрашиваться весь столбец/строчка, а также субстроки и субстолбцы.
Для варианта с пустыми и столбцом, и строкой, окрашивается вся таблица.
При накладывании на одну и ту же ячейку нескольких правил пороговых значений, последующие правила будут перезаписывать предыдущие.
Примененные пороговые значения
Таблица Opensearch
Виджет Таблица Opensearch выводит документы индекса OpenSearch таблицей: строка — документ, колонки — поля индекса. Он помогает:
- просматривать события и журналы из OpenSearch прямо на дашборде;
- отбирать нужные документы поиском и фильтрами по полям;
- открывать документ целиком, со всеми полями.
Источник данных
Виджет использует источник данных типа OpenSearch. В группе источника один запрос: индекс и DSL-запрос. Группировка КЕ поддерживается: при группировке по узлам TQL или по КЕ запрос задаётся отдельной группой для каждого узла, а в таблице появляются вкладки.
Документы запрашиваются за диапазон времени дашборда по полю @timestamp и подгружаются порциями при прокрутке таблицы.
Раздела «Настройки» у виджета нет.
Таблица
Колонки строятся по списку полей индекса: первой идёт кнопка просмотра документа, за ней — @timestamp. По умолчанию
документы отсортированы по @timestamp от новых к старым. Щелчок по заголовку колонки меняет сортировку по ней; колонок
в сортировке может быть несколько, их порядок показан номером у значка сортировки.
Значения выводятся по типу поля: дата — в формате ДД.ММ.ГГГГ чч:мм:сс, текст — одной строкой, объект — деревом JSON.
У текста и объекта в ячейке есть кнопка, которая открывает значение целиком в боковой панели. Видимость, закрепление и
ширина колонок меняются в меню таблицы и в настройках виджета не сохраняются.
Над таблицей — строка поиска и фильтры по полям индекса, те же, что в журналах аудита; найденный текст подсвечивается в ячейках. Под таблицей — число найденных документов, а если запрос завершился ошибкой, её текст: щелчок по нему повторяет запрос.
Кнопка просмотра открывает документ в боковой панели: идентификатор с кнопкой копирования и все поля документа по
алфавиту, причём поля с @ в начале имени идут первыми.
Обновление
Таблица обновляется с интервалом дашборда. Как только вы начинаете работать с таблицей — щёлкаете по ней, прокручиваете колесом, ставите фокус в поле, — обновление приостанавливается, чтобы строки не менялись под курсором, и в карточке появляется кнопка «Обновление остановлено». Нажатие на неё возобновляет обновление.
Преобразование данных
JSONata-выражения у таблицы нет: документы выводятся как есть, без приведения к формату виджета. Колонки берутся из
списка полей индекса, значения — из _source документов.
Настройка
История индикаторов здоровья
Виджет История индикаторов здоровья отвечает за отображение истории индикаторов здоровья КЕ на временной шкале. Изменения состояний таблицей показывает другой виджет — Таблица истории индикаторов здоровья.

Настройка
Измерение
Виджет Измерение - это визуальный элемент интерфейса, который отображает насколько текущий показатель близок к минимуму, норме или максимуму.
- Отображает значение (например, скорость, уровень загрузки, эффективность) в виде стрелки, перемещающейся по шкале.
- Позволяет быстро оценить, насколько текущий показатель близок к минимуму, норме или максимуму.
Источник данных
Виджет использует источник данных типа метрики или OpenSearch.
Для метрик конфигурация источника данных содержит два поля запроса:
- Возвращает текущее значение
- Возвращает максимальное значение
Для OpenSearch запрос один: и текущее, и максимальное значение каждого индикатора возвращает JSONata-выражение — см. преобразование данных ниже.
Алгоритм работы в случае нескольких значений метрики
Виджет отображает один или несколько индикаторов (спидометров/прогресс-баров) на основе данных из двух запросов:
- Запрос 1 — текущие значения (может содержать одно или несколько значений).
- Запрос 2 — максимальные значения (может содержать одно или несколько значений).
Количество отображаемых виджетов и их параметры определяются по следующему алгоритму.
| Сценарий | Количество виджетов | Максимальное значение для каждого виджета |
|---|---|---|
| 1-й запрос: 1 значение 2-й запрос: 1 значение | 1 | Используется единственное значение из 2-го запроса. |
| 1-й запрос: N значений 2-й запрос: 1 значение | N | Для всех виджетов используется одно значение из 2-го запроса. |
| 1-й запрос: N значений 2-й запрос: M значений (N ≤ M) | N | Для i-го виджета берётся i-е значение из 2-го запроса (если есть). Если i > M — берётся последнее значение из 2-го запроса. |
| 1-й запрос: N значений 2-й запрос: M значений (N > M) | N | Для i-го виджета берётся i-е значение из 2-го запроса (если i ≤ M). Если i > M — берётся последнее значение из 2-го запроса. |
Примеры
Пример 1:
currentValues = [50, 70, 30](3 значения)maxValues = [100](1 значение)
Результат:- 3 виджета, у каждого
max = 100.
Пример 2:
currentValues = [10, 20, 30](3 значения)maxValues = [50, 60](2 значения)
Результат:- 3 виджета:
- Виджет 1:
current=10,max=50(maxValues[0]) - Виджет 2:
current=20,max=60(maxValues[1]) - Виджет 3:
current=30,max=60(последнее значение maxValues)
- Виджет 1:
Пример 3:
currentValues = [15](1 значение)maxValues = [30, 40, 50](3 значения)
Результат:- 1 виджет:
current=15,max=30(maxValues[0]).
Настройка
Для настройки виджета доступно:
- Настройка пороговых значений
- Настройка единиц измерения
Преобразование данных
Opensearch
JSONata-выражение по умолчанию
$map($.hits.hits, function($v, $i) {
{
"legend": $v._index,
"gaugeIndex": $i,
"value": 0,
"maxValue": 0
}
})
Формат данных
[
{
"legend": "logs",
"gaugeIndex": 0,
"value": 0,
"maxValue": 0
}
]
| Поле | Описание |
|---|---|
legend | Название значения |
gaugeIndex | Порядковый номер индикатора, начиная с 0 |
value | Текущее значение |
maxValue | Максимальное значение: полоса заполняется на value / maxValue |
Карта
Виджет Карта позволяет отображать расположение КЕ на географических координатах и состояния их ИЗ. Значения координат и состояний КЕ могут обновляться в фоновом режиме.

Настройка
Вложенный дашборд
Вложенный дашборд представляют собой виджет дашборда с параметризированным TQL запросом.
Виджет вложенного дашборда состоит из 2-ух частей:
- Слева - Дерево КЕ основанное на TQL родительского дашборда
- Справа - Представление дашборда привязанного к элементам дерева слева
Для работы виджета в настройках необходимо настроить иерархию дерева TQL. Для этого выбираем из доступных узлов TQL выбираем нужные нам для построения дерева, после чего выстраиваем их иерархию.

После этого необходимо добавить группы привязки и связать элементы дерева с узлами TQL:
-
Для КЕ (листьев дерева) - сохраненный дашборд и узел TQL этого дашборда

-
Для группы КЕ (ветвь дерева) - сохраненный дашборд и узел TQL этого дашборда

Граф
Виджет Граф рисует КЕ и связи из результата TQL-запроса дашборда — так же, как граф в CMDB. Он помогает:
- видеть топологию КЕ дашборда и раскрашивать узлы по состоянию индикаторов здоровья;
- открывать сохранённые представления графа TQL-запроса — расстановку узлов и их группы;
- переходить от узла графа к дашборду этой КЕ, не уходя с текущего дашборда.
Виджет помечен в палитре меткой Beta: он ещё дорабатывается, его поведение и настройки могут измениться.
Источник данных
Отдельного источника данных у виджета нет: узлы и связи он берёт из результата TQL-запроса дашборда, а состояния индикаторов здоровья — у КЕ этого результата. Выводятся ли только связи из TQL или все связи между КЕ, задаёт переключатель «Показывать все связи между КЕ» в TQL-запросе.
Работа с графом
Щелчок по узлу открывает дашборд этой КЕ, привязанный в настройке Привязка дашбордов. Если для узла TQL этой КЕ привязки нет, виджет сообщает «Отсутствует привязка дашборда». Узел из сохранённого представления, которого нет в результате TQL-запроса, дашборд не открывает — виджет сообщает «Узел отсутствует в выборке TQL запроса».
Правая кнопка мыши открывает меню узла. Пункт Сведения о КЕ открывает панель со сведениями о КЕ без редактирования, а у группы узлов в меню есть ещё «Свернуть» и «Развернуть», в том числе рекурсивно.
Меню графа открывается кнопкой со стрелкой в левом верхнем углу полотна. В нём — сохранённые представления, компоновка, переключатель Схема / Мониторинг и фильтры. В режиме «Мониторинг» узлы окрашиваются по совокупному состоянию индикаторов здоровья КЕ. На полотне также есть поиск узлов, вписывание графа в экран и выгрузка в PNG и JSON.
Настройка
Сохраненные представления
Представление графа, которое виджет открывает при загрузке, — одно из сохранённых для TQL-запроса дашборда. Пустое поле означает граф без представления. Если выбранное представление потом удалили, поле подсвечивается ошибкой «Удаленное представление». Сменить представление можно и в меню графа на полотне, настройку это не меняет.
Отображение графа
Режим, в котором граф открывается: Схема или Мониторинг, по умолчанию — «Схема». Переключатель в меню графа остаётся доступен, настройка задаёт только начальный режим.
Отображение дашборда
Как открывается дашборд, привязанный к узлу:
- Модальное окно — дашборд открывается во весь экран. Это значение по умолчанию.
- Боковая панель — дашборд выезжает с края экрана. Для панели задаются Размер % — доля экрана, по умолчанию 50 %, — и Позиция: слева, справа, сверху или снизу, по умолчанию слева.
В заголовке окна или панели — имя КЕ и меню с переключателем Разрешить редактирование и пунктом Сброс расположения. Если в режиме редактирования переставить виджеты открытого дашборда, новое расположение сохраняется в текущем дашборде для этого виджета «Граф», а сам привязанный дашборд не меняется. «Сброс расположения» возвращает исходную раскладку.
Сетка
Рисует на полотне фоновую сетку.
Привязка дашбордов
Задаёт, какой дашборд открывается по щелчку на узле. В группе выбираются Узел TQL текущего дашборда, Дашборд КЕ и Узел TQL дашборда КЕ. Щелчок по КЕ из выбранного узла открывает дашборд группы, отфильтрованный по этой КЕ в узле TQL дашборда КЕ. Если этот узел не выбран, фильтр ставится на узел с тем же номером, что у исходного узла.
Разделитель
Виджет Разделитель — горизонтальная линия, которой дашборд делится на смысловые части: например, сводка отделяется от подробных графиков. Данных виджет не показывает, источника данных и собственных настроек у него нет.
В настройках есть только заголовок виджета. Название выводится слева, линия идёт за ним до края виджета. Если название не задано или скрыто, остаётся одна линия.