Отправка задач
Пользователь системы отправляет по сети интернет устройствам команды в формате индивидуальных задач. Если устройство, на которое отправили задачу, было выключено, то получит последовательно все назначенные задачи и начнёт их выполнение сразу после подключения к сети интернет.
По каждому устройству сохраняется история с информацией, какой пользователь назначил определённую задачу и сообщения об ошибках устройства.
Действия
Перезагрузка, сброс, блокировка, установка и удаление программ.
Управление загрузками
Установка программного обеспечения, контроль версий приложений, пакетные наборы предустановленных программ.
Мониторинг
Получение списка установленных программ, получение аппаратных характеристик, информацию о свободной памяти, геопозиция и различные метрики.
В процессе работы системы, есть особый тип задачи – установка. Для выполнения данной задачи используется понятие установочный пакет, который может включать в себя произвольное количество файлов в сочетании с внутренними командами системы: установить, копировать, удалить.
Установочные пакеты с наборами файлов заранее создаются в разделе Программы личного кабинета и могут быть выбраны при отправке задач на устройство индивидуально или в рамках групповых отправок по списку. Таким образом, можно устанавливать приложения и загружать служебные конфигурации, картинки и файлы.
Система подписи устанавливаемых приложений
Для защиты устройств от установки неблагонадёжных приложений и сервисов, используется система авторизованной цифровой подписи. Устройства могут находиться в двух режимах проверки подписи устанавливаемых программ: любые установки или только подписанные.
Режим подписи приложений на устройстве настраивается заранее, но при необходимости может быть изменен удалённо по запросу от авторизованного сотрудника.
Если на устройстве стоит ограничение только подписанные, то не верифицированные приложения не установятся ни через веб-интерфейс, ни через флэшку или кабель.
Для подписи приложений клиентам доступен сервис в личном кабинете, в котором можно запросить подпись и отслеживать статус с помощью уведомлений в Telegram-бот.
В рабочее время релизы подписываются не позднее нескольких часов с момента подачи заявки.
Массовые операции
Система позволяет осуществить серию операций по установке или удалению приложений, применительно к произвольному набору доступных пользователю устройств в выбранном порядке.
Для массовых операций доступна сводная информация с фильтрами по статусам выполнения задач.
Массовые операции могут быть назначены на определенное время. В назначенную дату и время система начнет отправлять по определённому списку устройств задачи на выполнение.
Устройства в системе упорядочены внутри дерева разделов. Одно устройство может находиться в нескольких ветках одновременно. Есть возможность двум разным организациям (основной и партнерской) управлять одним устройством. Организации могут управлять разным набором приложений, которые разрешены для них по белым/черным спискам.
При необходимости выполнения различных задач применяется разграничение доступа и действий, разрешенных к выполнению. Пользователю назначается набор отдельных прав: полный или выборочный. В зависимости от уровня, можно разграничить возможности по получению информации, перезагрузке, установке пакетов, удалению установленных программ, удалённому доступу к экрану. Указанные права применяются на устройства внутри разделов организации.
Для диагностики и отладки, пользовательские программы на устройствах могут через API отправлять логи в определённом формате на сервер системы.
На сервере логи хранятся и доступны для скачивания в разделе личного кабинета, при условии, что у пользователя есть права на просмотр.
Удалённое управление экраном
Для оказания технической поддержки возможно удалённое подключение к экрану устройства. Для этого пользователю отправляется запрос для подключения и далее оператор может через браузер помочь настроить программное обеспечение или диагностировать проблему. Для удалённого доступа, пользователю нужны отдельные права в личном кабинете.
Удалённый доступ реализован с помощью запуска отдельного сервиса DroidRemote Control (DRC – аналог технологии Remote VNC), который получает необходимые разрешения для доступа к экрану и завершает работу после завершения сеанса.
Сессия удаленного доступа ограничена 10 минутами, на случай, если забыли закрыть подключение. Технически, удаленный экран реализован через протокол RFB и отдельное подключение VPN, по которому серверная часть системы подключается к устройству и передает данные на веб-страницу.
Режим особого внимания
В случае, когда приложение нельзя останавливать или обновлять в определённое время, требуется режим особой осторожности при обновлении. Для разработчиков пользовательских приложений создано специальное API, которое позволяет сообщить сервису DroidManager, что приложение в данный момент не может быть потревожено – устанавливается флаг запрета.
Если в период запрета пользователь попробует переустановить приложение, система покажет сообщение: установка отложена из за флага. Как только программа снимет флаг запрета, отложенная установка начнется автоматически.
Устройства периодически отправляют на сервер список установленного программного обеспечения с точными версиями и датами установки или обновления. Отправка может происходить по отдельной задаче от оператора системы при необходимости получить данные.
По произвольному списку устройств можно построить отчёт, какие версии приложений установлены, посмотреть отдельные списки устройств для определенных версий приложений, по итогам отчёта сформировать групповую задачу на обновление.
Система может быть введена в эксплуатацию на территории заказчика. Возможна установка на отдельный сервер/виртуальный сервер или развёртывание на платформе Kubernetes (K8S). Администрирование инсталляции выполняется специалистами заказчика. Наши специалисты оказывают удалённую техническую поддержку и оперативно предоставляют консультации.
Требования к серверу заказчика: Linux с поддержкой Docker (рекомендовано Debian / Ubuntu), минимум два ядра процессора, минимум 2 GB RAM, место на диске от 20 GB.
Для группировки до 20 тысяч устройств, главным ограничивающим фактором является место на диске для хранения устанавливаемых программ. Нагрузка на CPU становится заметной (на уровне 50-70%) при значительном количестве одновременно запущенных пакетных установок – сотни активных групповых задач отправленные на тысячи устройств одновременно.
Поддерживается мониторинг Prometheus / VictoriaMetrics: в комплекте настроенным dashboard c алертами и шаблоны конфигурации для уже эксплуатируемого мониторинга. Возможна поставка готового комплекта мониторинга для отдельной установки.
Серверная часть состоит из нескольких сервисов, отвечающих за обработку задач, раздачу пакетов, управление аккаунтами. Поставляется в виде образов для докер-контейнеров, конфигурационных файлов и скриптов для установки.