Проект состоит из двух утилит dci6-support и dci6-support-reader
DCI6-SUPPORT
Предназначена для сбора основной диагностической информации:
- серверные ОС на которых расположены платформа DCImanager6 и Локации
- данные относящиеся к работе непосредственно DCImanager6
Выполняется сбор таких данных как:
Операционная Система
- версия BIOS
- версия ОС
- установленные пакеты
- смонтированные файловые системы
- средняя нагрузка
- информацию о ЦП
- ОЗУ
- время работы
- запущенные фаерволы
- служба времени и состояние синхронизации времени
- настройка сети, сетевых соединений, файл /etc/hosts
- доступ к основным интернет-ресурсам ispsystem
- настройки безопасности ОС (будут показаны в зависимости от ОС: Astralinux, Ubuntu, Almalinux)
- состояние запущенных контейнеров docker
- записи journalctl за сутки, warning, error, critical (-p 4)
Платформа
- базовая информация о локациях
- задачи taskmanager за месяц, со статусом failed
- оборудование количество по типам и локациям
- установленные плагины
- количество пользователей
- наличие настроенного LDAP соединения и последние успешные синхронизации
- настроенные репозитории
- шаблоны ОС, кроме тех, которые из репозитория ISPSystem
- наличие настроенного real ip
- настройки задач резервного копирования
Результат работы утилиты на сервере:
- файл server_information.json
- файл dci_platform_information.json
- лог dci_support_info.log
Бинарники
Брать тут Компилируется так: CGO_ENABLED=0 go build -a -ldflags="-s -w" -o techsup-dci6
Известные проблемы
- нужно перепроверить все получаемые данные из БД на null. Проблема в последующей конвертации в строку
DCI6-SUPPORT-READER
Предназначена для просмотра инженером полученных данных
В интерфейсе есть две кнопки server и platform, по их нажатию открывается выбор файла. Выбираем, соответственно json файлы
Бинарники
- паковалось с помощью утилит fyne (fyne-cross)
- для Windows отдельный EXE, протестирован на Windows 11
- для Linux есть бинарник в linux-amd64/ts_dci6_reader._cross/usr/local/bin или используя makefile в linux-amd64/ts_dci6_reader._cross выполнить make install для установки как пакет в систему. Запускалось на ALSE 1.8.3, Ubuntu 20.04, Ubuntu 25.10
Известные проблемы
- повторная загрузка json файлов создаст двойной набор табов, поэтому сейчас после того как загрузили один раз, например server.json нужно переоткрыть утилиту, что бы загрузить server.json ещё раз
- перепаковано без иконок, некрасиво
- на некотрых вкладках, например journalctl не работает вертикальный скролл мышем. Многие строки сильно большие, world-wrap ещё настроить нужно, поэтому скролл мышем там горизонтальный
- в некоторых табах данные не копируются, если это будет проблемой, поменяю тип отображения.
Что планируется добавить:
2604-1
DCI6-SUPPORT
- 1) dci license check, dci license info
- 2) flag verbose будет отображать записи лога также в консоль
- 3) docker stats -a --no-stream #docker-tab
- исправить сбор данных по пакетам. Сейчас собирает название пакета и его описание. Нужна версия. #fix
- 4) получить правила действующего фаервола
- 5) history
- 6) копировать файл install.log
- 7) флаги -location и -platform, разделение на разные виды запуска утилиты сбора, make main.go small again
- 8) логи suprevisord.log из контейнеров
- 9) Структура(ы) данных для сбора информации по оборудованию. Логика запуска сбора информации по оборудованию
- [ ] 9.1) server
- [ ] 9.2) switch
- [ ] 9.3) pdu
- [ ] 9.4) ups
- [ ] 9.5) san
- NetworkManager Networking #fix
- Интернет https license #fix
- проверка доступа к интеренет ресурсам из контейнеров dci_back, license
- [ ] обработать проверку доступов для закрытого контура (ip ресурсов == docker ip или есть патч CLOSED CIRCUIT)
- !!! Проверить на существование БД isp (в новых установках)
- #fix функция опроса mysql не закрывает соединения.
- Перенести получение файлов и логов контейнеров перед проверкой sql сервера
- Проверить работу функции isPlatform() сейчас я её просто игнорирую (или поменять логику работы так, что бы просто доверять флагу -platform
- #fix ошибка получения статуса supervisord ошибка supervisorctl status в updater: exit status 3
DCI6-SUPPORT-READER
- механизм очистки табов кнопки, которую нажали повторно #fix
- показывать в выборе файлов только файлы json #fix
- тип предстовления данных, в итераторе с возможностью копирования и вертикальным скролом
- docker stats странное выделение #fix
- Сверить docker-compose.yaml на платформе с референсным (curl -L https://download.ispsystem.com/6/dci/dcibox/docker-compose.2026.01.1.yaml) шллллллллло