Отображение состояния диагностик для устройств
Описание
Функционал #1853 (closed) позволяет производить проверки с устройствами. Их результат состоит из 3 состояний
- Проверка прошла успешно
- Проверк закончилась ошибкой
- Проверка была отключена (заблокирована) в настройках
Для пользователя было бы полезно видеть результат проверок в интерфейсе. Для этого хорошо бы подошли значки (badge
) с названием диагностики и цветом фона соответствующим состоянию, например как в Zabbix
.
Предложение
Добавить в форму устройства (SA -> ManagedObjects
) и Карточку устройства (Card
) область с набором значков диагностик (Diagnostic Badge
). В значке необходимо разместить название диагностики, а область заполнить цветом, соответствующим состоянию диагностики. Можно предусмотреть возможность добавлеия значков в список устройств SA -> ManagedObjects
.
Зелёным отмечена обласить размещения значков
Необходиом предусмотреть состояния:
-
blocked
(серый цвет) - диагностика отключена. Полеstate
-blocked
-
failed
(красный цвет) - диагностика завершилась ошибкой. Полеstate
-failed
-
enabled
(зелёный цвет) - диагностика прошла нормально. Полеstate
-enabled
При наведении на значок необходимо выводить легенду. Легенда строится на основе поля details
и представляет собой построчный вывод в формате <name>: <state> (<error>)
Длину названия для отображения необходимо сделать не больше 7 символов (больше не отображать).
API
В API добавляется поле diagnostics
в виде списка диагностик. Пример:
[
{"name":"CLI","state":"blocked","state__label":"blocked","details":[],"reason":"Blocked by AccessPreference"},
{"name":"SNMP","state":"enabled","state__label":"enabled","details":[
{"name":"SNMPv1","state":true,"error":null},
{"name":"SNMPv2","state":true,"error":null}],"reason":""},
{"name":"Access","state":"enabled","state__label":"enabled","details":[],"reason":""}]