Status history#

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

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

status-history

Внимание

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

Используйте журнал состояния, когда это необходимо:

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

  • Определяйте тенденции в работе с течением времени.

  • Выявляйте любые повторяющиеся проблемы с работоспособностью приложений.

Предусловия#

  • Пользователь авторизован и имеет права на редактирование дашборда.

  • Источник данных предоставляет временные ряды с дискретными состояниями (логические, строковые или числовые значения).

  • Данные содержат временные метки (одну или две — Start/End) и идентификаторы сущностей.

  • Визуализация «Status history» доступна в списке типов панелей.

Правила эксплуатации#

  • Используйте Status history для отображения дискретных изменений состояний во времени — не подходит для непрерывных метрик.

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

  • Применяйте Value mappings для замены кодов на читаемые статусы (например, 1 → OK, 0 → BAD).

  • Используйте Page size при большом количестве сущностей — чтобы избежать перегрузки интерфейса.

  • Включайте Show values: Auto — чтобы текст отображался только при достаточной ширине ячейки.

  • Настройте Color scheme или пороги (Thresholds) — для быстрой визуальной индикации критических состояний.

  • Используйте два временных столбца (Start/End) при точном контроле длительности состояний.

  • При использовании одного временного столбца — учитывайте, что интервалы формируются до следующего события.

  • Проверяйте корректность временных меток и часового пояса — во избежание смещения интервалов.

  • Ограничивайте выборку данных по времени — для обеспечения производительности при большом объеме событий.

Последовательность выполнения#

  1. Убедитесь, что плагин визуализации «Status history» установлен в продукте PVV.

  2. Откройте дашборд визуализации в интерфейсе PVV.

  3. Выберите тип визуализации «Status history».

  4. Настройте параметры конфигурации

    status-history-preference

  5. Нажмите кнопку «Save Dashboard», чтобы отобразить визуализацию панели.

Поддерживаемые форматы данных#

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

  • Timestamps - указывают, когда происходило каждое изменение статуса. Это также может быть время начала изменения статуса. Можно добавить необязательную временную метку, чтобы указать время окончания изменения статуса.

  • Entity name/identifier - представляет название объекта, за которым вы пытаетесь следить.

  • Status value - Представляет значение состояния объекта, за которым вы следите. Это могут быть строковые, числовые или логические состояния.

Примеры#

В следующих таблицах приведены примеры типов данных, необходимых для визуализации истории состояния, и того, как они должны быть отформатированы.

Один столбец времени с нулевыми значениями#

Время

Backend_01

Backend_02

ГГГГ-ММ-ДД 8:00:00

OK

WARN

ГГГГ-ММ-ДД 8:15:00

WARN

ГГГГ-ММ-ДД 8:18:00

WARN

ГГГГ-ММ-ДД 8:30:00

BAD

ГГГГ-ММ-ДД 8:36:00

OK

ГГГГ-ММ-ДД 8:45:00

OK

Данные преобразуются следующим образом, при этом нулевые и пустые значения отображаются как пробелы в истории состояния:

status-history-with_null

Два временных столбца без нулевых значений#

Start time

End time

Backend_01

Backend_02

ГГГГ-ММ-ДД 8:00:00

ГГГГ-ММ-ДД 8:15:00

OK

OK

ГГГГ-ММ-ДД 8:15:00

ГГГГ-ММ-ДД 8:30:00

OK

OK

ГГГГ-ММ-ДД 8:30:00

ГГГГ-ММ-ДД 8:45:00

OK

OK

ГГГГ-ММ-ДД 8:45:00

ГГГГ-ММ-ДД 9:00:00

BAD

WARN

ГГГГ-ММ-ДД 9:00:00

ГГГГ-ММ-ДД 9:15:00

OK

WARN

Данные преобразуются следующим образом:

status-history-status_history

Zoom panel time range#

Увеличить временной диапазон панели Можно увеличивать и уменьшать временной диапазон панели, что, в свою очередь, изменяет временной диапазон панели мониторинга.

Zoom in - щелкните и перетащите панель, чтобы увеличить определенный временной диапазон. Zoom out - дважды щелкните в любом месте панели, чтобы уменьшить временной диапазон.

При уменьшении масштаба диапазон удваивается с каждым двойным щелчком, добавляя одинаковое время к каждой стороне диапазона. Например, если исходный временной диапазон составляет от 9:00 до 9:59, то при каждом двойном щелчке мыши временной диапазон изменяется следующим образом:

  • Следующий диапазон: 8:30 - 10:29

  • Следующий диапазон: 7:30 - 11:29

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

Параметры конфигурации#

В следующем разделе описываются параметры конфигурации, доступные в панели редактора панелей для этой визуализации.

Panel options#

В разделе Параметры панели на панели редактора панелей задайте основные параметры, такие как заголовок и описание панели, а также ссылки на панели. Дополнительные сведения смотри в разделе Настройка параметров панели.

Status history options#

Используйте эти параметры для улучшения визуализации.

Опция

Описание

Show values

Определяет, будут ли отображаться значения внутри областей состояния. Выберите Auto, Always, или Never. Автоматическое отображение значений при наличии достаточного пространства.

Row height

Управляет высотой ящиков. 1 = максимальное пространство и 0 = минимальное пространство.

Column width

Управляет шириной полей. 1 = максимальное пространство и 0 = минимальное пространство.

Page size (enable pagination)

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

Line width

Управляет шириной линии областей состояния.

Fill opacity

Controls value alignment inside state regions.

Legend options#

Опция

Описание

Visibility

Переключите переключатель, чтобы включить или выключить условные обозначения.

Mode

Используйте эти настройки, чтобы определить, как будет отображаться легенда в вашей визуализации. List отображает легенду в виде списка. Это режим отображения легенды по умолчанию. Table отображает легенду в виде таблицы.

Placement

Выберите место для отображения условных обозначений. Bottom расположит условные обозначения под графиком. Right разместите условные обозначения справа от графика.

Width

Контролируйте ширину условных обозначений при размещении в правой части визуализации. Этот параметр отображается только в том случае, если для расположения условных обозначений задано значение Right.

Tooltip options#

Параметры всплывающей подсказки управляют наложением информации, которое появляется при наведении курсора мыши на точки данных в визуализации.

Опция

Описание

Tooltip mode

При наведении курсора на визуализацию Grafana может отображать всплывающие подсказки. Выберите, как будут выглядеть всплывающие подсказки.

Values sort order

Этот параметр определяет порядок отображения значений во всплывающей подсказке.

Max width

Установите максимальную ширину поля всплывающей подсказки.

Max height

Установите максимальную высоту всплывающей подсказки. Значение по умолчанию - 600 пикселей.

Tooltip mode#

При наведении курсора на визуализацию Grafana может отображать всплывающие подсказки. Выберите, как будут выглядеть всплывающие подсказки.

Single - Всплывающая подсказка при наведении курсора показывает только один ряд, на который вы наводите курсор в визуализации. All - Всплывающая подсказка при наведении курсора мыши отображает все серии в визуализации. Grafana выделяет серию, на которую вы наводите курсор, жирным шрифтом в списке серий во всплывающей подсказке. Hidden - не отображает всплывающую подсказку при работе с визуализацией.

Values sort order#

Если вы установите для режима подсказки значение «All», отобразится параметр «Порядок сортировки значений». Этот параметр определяет порядок, в котором значения отображаются во всплывающей подсказке. Выберите один из следующих вариантов:

  • None - Grafana автоматически сортирует значения, отображаемые во всплывающей подсказке.

  • Ascending - значения во всплывающей подсказке перечисляются от наименьшего к наибольшему.

  • Descending - значения во всплывающей подсказке перечисляются от наибольшего к наименьшему.

Axis options#

Опция

Описание

Placement

Выберите место для отображения условных обозначений. Внизу расположите условные обозначения под графиком. Справа разместите условные обозначения справа от графика.

Width

Контролируйте ширину условных обозначений, размещаемых в правой части визуализации. Эта опция отображается только в том случае, если вы настроили расположение условных обозначений справа.

Standard options#

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

Опция

Описание

Unit

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

Min/Max

Установите минимальное и максимальное значения, используемые при расчете процентного порога, или оставьте эти поля пустыми, чтобы они рассчитывались автоматически.

Field min/max

Включите поле min/max, чтобы рассчитывала минимальное или максимальное значение для каждого поля индивидуально, основываясь на минимальном или максимальном значении поля.

Decimals

Укажите количество десятичных знаков, которые включает в выводимое значение.

Display name

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

Color scheme

Задайте один или несколько цветов для всей вашей визуализации.

No value

Введите, что должна отображать программа, если значение поля пустое или null. Значение по умолчанию - дефис (-).

Чтобы узнать больше, обратитесь к разделу Настройка стандартных параметров.

Ссылки на данные позволяют подключаться к другим панелям, информационным панелям и внешним ресурсам, а действия позволяют запускать простые вызовы API без проверки подлинности. В обоих случаях вы можете выполнять эти задачи, сохраняя контекст исходной панели.

Для каждого канала передачи данных установите следующие параметры:

  • Title;

  • URL;

  • Open in new tab;

  • One click - открывает ссылку для передачи данных одним щелчком мыши. Только для одной ссылки для передачи данных может быть активирован один клик одновременно.

Для каждого действия задайте следующие параметры вызова API:

Опция

Описание

Title

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

Confirmation message

Запрос с описанием для подтверждения или отмены действия.

Method

Выберите из POST, PUT, GET.

URL

URL-адрес запроса. Чтобы добавить переменную, щелкните в поле URL и введите $ или нажмите Ctrl+пробел или Cmd+Пробел, чтобы просмотреть список доступных переменных.

Variables

Key и Name с возможностью выбора типа. Нажмите на значок +, чтобы добавить столько переменных, сколько вам нужно. Чтобы добавить переменную в запрос, добавьте к ключу префикс $. Можно задать значения для переменных при выполнении действия.

Query parameters

Key и Name. Нажмите на значок +, чтобы добавить столько пар ключ/значение, сколько вам нужно.

Headers

Состоит из пар ключ/значение и типа содержимого. Нажмите на значок +, чтобы добавить столько пар ключ/значение, сколько вам нужно.

Content-Type

Выберите один из следующих вариантов: application/json, text/plain, application/XML и application/x-www-form-urlencoded.

Body

Текст запроса.

Value mappings#

Value mappings- это метод, который можно использовать для изменения отображения данных в визуализации.

Для каждого сопоставления значений задайте следующие параметры:

  • Condition - Выберите, что будет отображаться в отображаемом тексте, и (необязательно) цвет:

    • Value - Значения для конкретных значений

    • Range - Числовые диапазоны

    • Regex - Регулярные выражения

    • Special - специальные значения, такие как Null, NaN (не число), или логические значения, такие как true и false

  • Display text -Отображаемый текст

  • Color - Цвет (необязательно)

  • Icon - Значок (только на холсте

Чтобы узнать больше, обратитесь к разделу Настройка сопоставлений значений.

Thresholds#

Пороговое значение - это значение или предел, который отображается визуально при его достижении или превышении. Пороговые значения - это один из способов, с помощью которого вы можете условно стилизовать и раскрашивать свои визуализации на основе результатов запроса.

Для каждого порогового значения задайте следующие параметры:

Опция

Описание

Value

Установите значение для каждого порогового значения.

Thresholds mode

Выбирайте из Absolute и Percentage.

Field overrides#

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

Выберите один из следующих вариантов переопределения:

Опция

Описание

Fields with name

Выберите поле из списка всех доступных полей.

Field with name matching regex

Укажите поля для переопределения с помощью регулярного выражения.

Fields with type

Выберите поля по типу, например строковые, числовые или временные.

Fields returned by query

Выберите все поля, возвращаемые определенным запросом, например A, B или C.

Fields with values

Выберите все поля, возвращаемые заданным вами условием сокращения, такие как Min, Max, Count, Total.

Дополнительные сведения смотри в разделе Настройка переопределений полей.

Результат#

После настройки и сохранения панели с визуализацией Status history выполните следующие шаги для проверки корректности ее работы:

  1. Проверка отображения состояний
    Убедитесь, что:

    • Каждая сущность (например, Backend_01, Backend_02) отображается в виде отдельной строки.

    • Состояния (например, OK, WARN, BAD) отображаются в виде цветных полос вдоль временной шкалы.

    • Пустые или null значения отображаются как пропуски (пробелы) — если выбран режим отображения с нулевыми значениями.

  2. Проверка временных интервалов

    • Убедитесь, что:

      • При использовании одного столбца времени (Timestamp) — состояния отображаются с момента изменения до следующего обновления.

      • При использовании двух столбцов (Start time и End time) — интервалы отображаются строго в указанных границах.

    • Проверьте, что временные метки корректно интерпретируются (с учетом часового пояса, если настроено).

  3. Проверка цветовой схемы и отображения значений

    • Убедитесь, что:

      • Состояниям присвоены корректные цвета (в соответствии с настройками Color scheme или Value mappings).

      • При включенной опции Show values — текстовые значения (OK, WARN и т.д.) отображаются внутри полос состояний.

      • При выборе режима Auto — значения показываются только при достаточной ширине ячейки.

  4. Проверка масштабирования (Zoom)

    • Проверьте функции:

      • Zoom in — выделите участок на графике, временной диапазон должен сузиться, детализация — увеличиться.

      • Zoom out — двойной клик должен расширять временной диапазон вдвое.

    • Убедитесь, что при масштабировании данные перерисовываются корректно, без потери интервалов.

  5. Проверка всплывающих подсказок (tooltip)

    • Наведите курсор на полосу состояния — должна появиться всплывающая подсказка.

    • Убедитесь, что:

      • Отображаются: временной интервал, имя сущности, текущее состояние.

      • При режиме All — подсказка показывает состояние всех сущностей в этот момент времени.

      • При включенной сортировке (Ascending/Descending) — значения в подсказке упорядочены корректно.

  6. Проверка легенды

    • Убедитесь, что:

      • Легенда отображается при включенной опции Visibility.

      • Режим отображения (List или Table) соответствует выбранному.

      • Размещение (Bottom, Right) и ширина легенды настроены корректно.

  7. Проверка пагинации (разбиение на страницы)

    • Если включена опция Page size:

      • Убедитесь, что отображается только указанное количество строк.

      • Проверьте работу навигации: переход между страницами, отображение номеров.

      • При переходе на другую страницу — данные должны обновляться.

  8. Проверка настроек отображения

    • Убедитесь, что:

      • Row height и Column width влияют на внешний вид панели.

      • Line width изменяет толщину границ полос состояния.

      • Fill opacity корректно регулирует прозрачность заливки.

  9. Проверка Value mappings и Thresholds

    • Если настроены сопоставления значений:

      • Убедитесь, что состояния отображаются с нужным текстом, цветом и иконкой.

      • Проверьте работу условий: Value, Range, Regex, Special.

    • Если заданы пороги:

      • Убедитесь, что цвета меняются при достижении пороговых значений (для числовых состояний).

  10. Проверка ссылок и действий

    • Если добавлены Data links:

      • Клик по полосе состояния должен переходить по-указанному URL.

      • Параметры (время, имя сущности, состояние) должны передаваться в ссылку.

      • При включенной опции One click — переход происходит без дополнительных действий.

    • Если настроены Actions:

      • Проверьте, что вызов API выполняется при клике.

      • Убедитесь, что переменные и заголовки передаются корректно.

  11. Проверка адаптивности и производительности

    • Обновите страницу — визуализация должна корректно перерисоваться.

    • Откройте дашборд на разных устройствах — график должен масштабироваться.

    • При большом количестве сущностей и данных — панель должна оставаться отзывчивой.

Если история состояния корректно отображает изменения статусов во времени, поддерживает взаимодействие и передает контекст — визуализация настроена успешно. В случае проблем — вернитесь в редактор и проверьте формат данных, настройки цветов и временных меток.