Клиент-сервер для отображения состояния служб на серверах СУДОС, метрики для Prometheus, а так же оркестрация управляющих команд для серверов и АРМов СУДОС.
При переводе СКУД объекта под управление ОС АстраЛинукс возникла потребность в упрощении администрирования СУДОС персоналом, привыкшим к работе в среде Windows. Так же, в критических ситуациях, при восстановлении функционирования СКУД дежурным персоналом, имеется вероятность некорректного вмешательства в работу СКУД. Поэтому, для прозрачности текущего состояния системы и для блокировки некорректных действий персонала, была создана данная программа. Так же в агенте га серверах интегрирован экспортёр метрик Prometheus.
Внешний вид клиента (версия с бинарником, фреймворк Fyne)
Внешний вид клиента (web-версия)
Возможность разворачивания программы на хостах с ОС Windows/AstraLinux1.7, а так же используя технологию Docker.
Статус состояния служб i10, Kernel, Cluster, наличие пинга сервера.
В зависимости от состояния служб серверов, активируются/деактивируются кнопки доступного функционала.
Вывод текущего состояния используемой ЦПУ/жёсткого диска/памяти агентами на серверах. Применение метрик Prometheus совместно с представлением данных в Grafana.
Создание копии БД СУДОС с любого из доступных серверов. При остановке работы СУДОС - восстановление БД из любого доступного архива.
Удалённый Reboot хостов и серверов из списка по ssh-команде.
Настраиваемое логирование на стороне серверной и клиентской части. Ротация по-суточная. Ограничение максимального числа логов.
Серверная часть (как правило на SBD), а так же Агенты на двух серверах СУДОС запущены в виде демонов. В режиме ожидания Агенты ожидают подключения серверной части программы (Сервера). Cервер ожидает подключения удалённых клиентов из браузера (или запустив бинарный файл клиента Fyne) по http. При появлении удалённого клиента, Сервер подключается к агентам на серверах СУДОС по Websocket (наиболее информативный метод контроля соединениями). Агенты, получив websocket подключение, начинают периодический опрос/передачу статуса служб своего сервера. Сервер, обработав статусы от агентов, формирует управление GUI через SSE для клиентов, тем самым активируя кнопки управления и меняя состояние индикации статуса служб на серверах. На стороне клиентов работает js-сторож активности мышки/клавиатуры, который отключает клиента от Сервера при бездействии по тайм-ауту. При отсутствии подключённых клиентов к Серверу, связь с агентами по websocket закрывается до следующего клиента. Использование экспортёра метрик Prometheus позволило реализовать точное определение времени сбоя в БД с отображением в форме проблемы с описанием, а счётчик числа пакетов в трафике между сервером и периферией СУДОС даёт возможность контролировать случаи генераций-вала пакетов.