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