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

102 lines
7.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Проект состоит из двух утилит
[dci6-support](#DCI6-SUPPORT) и [dci6-support-reader](#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
- настройки задач резервного копирования
#### [Результат работы утилиты на сервере:](<https://gitlab-dev.ispsystem.net/department/support/techsuppgetinfo/-/tree/master/output_data?ref_type=heads>)
- файл server_information.json
- файл dci_platform_information.json
- лог dci_support_info.log
#### Бинарники
[Брать тут](<https://gitlab-dev.ispsystem.net/department/support/techsuppgetinfo/-/blob/master/techsup-dci6/techsup-dci6?ref_type=heads>)
Компилируется так: CGO_ENABLED=0 go build -a -ldflags="-s -w" -o techsup-dci6
#### Известные проблемы
- нужно перепроверить все получаемые данные из БД на null. Проблема в последующей конвертации в строку
## DCI6-SUPPORT-READER
#### Предназначена для просмотра инженером полученных данных
В интерфейсе есть две кнопки server и platform, по их нажатию открывается выбор файла. Выбираем, соответственно json файлы
#### Бинарники
[Брать тут](<https://gitlab-dev.ispsystem.net/department/support/techsuppgetinfo/-/tree/master/ts_dci6_reader/fyne-cross/dist?ref_type=heads>)
- паковалось с помощью утилит fyne (fyne-cross)
- для Windows отдельный EXE, протестирован на Windows 11
- для Linux есть бинарник в *linux-amd64/ts_dci6_reader._cross/usr/local/bin* или используя [makefile](<https://gitlab-dev.ispsystem.net/department/support/techsuppgetinfo/-/tree/master/ts_dci6_reader/fyne-cross/dist/linux-amd64/ts_dci6_reader._cross?ref_type=heads>) в 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
- [x] 1) dci license check, dci license info
- [x] 2) flag verbose будет отображать записи лога также в консоль
- [x] 3) docker stats -a --no-stream #docker-tab
- [x] исправить сбор данных по пакетам. Сейчас собирает название пакета и его описание. Нужна версия. #fix
- [x] 4) получить правила действующего фаервола
- [x] 5) history
- [x] 6) копировать файл install.log
- [x] 7) флаги -location и -platform, разделение на разные виды запуска утилиты сбора, make main.go small again
- [x] 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)
- [x] !!! Проверить на существование БД isp (в новых установках)
- [ ] #fix функция опроса mysql не закрывает соединения.
- [ ] Перенести получение файлов и логов контейнеров перед проверкой sql сервера
- [ ] Проверить работу функции isPlatform() сейчас я её просто игнорирую (или поменять логику работы так, что бы просто доверять флагу -platform
- [ ] #fix ошибка получения статуса supervisord ошибка supervisorctl status в updater: exit status 3
#### DCI6-SUPPORT-READER
- [x] механизм очистки табов кнопки, которую нажали повторно #fix
- [x] показывать в выборе файлов только файлы json #fix
- [x] тип предстовления данных, в итераторе с возможностью копирования и вертикальным скролом
- [ ] docker stats странное выделение #fix
- [ ] Сверить docker-compose.yaml на платформе с референсным (curl -L https://download.ispsystem.com/6/dci/dcibox/docker-compose.2026.01.1.yaml) шллллллллло