Files
2026-04-04 00:09:02 +08:00
..
2026-04-04 00:09:02 +08:00
2026-04-04 00:09:02 +08:00
2026-04-04 00:09:02 +08:00
2026-04-04 00:09:02 +08:00
2026-04-04 00:09:02 +08:00
2026-04-04 00:09:02 +08:00

Проект состоит из двух утилит 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) шллллллллло