vrcx/README.ru.md
Engelgardt23 b923b9ebe7 vrcx: i18n (en/ru), config.ini, clickable update check, prettier README
Adds first-run language prompt + persistent config.ini with bilingual
inline comments. Update check now returns just the tag; app.py renders
it as a clickable [link=...] in the header (matches dhcpsrv/netswitch
pattern). Strips all 'made by engelgardt' lines.

- new dev/src/vrcx/i18n.py (RU/EN translation table)
- new dev/src/vrcx/config.py (config.ini next to the exe)
- update_check.py: returns tag, no console writes
- app.py: load config, set lang, render clickable header, use config
  defaults for BMC/SDS user and parallel_hosts; pass cfg.ping_sweep to
  discover_sds_ip
- ui.py: all visible strings via t()
- README.md / README.ru.md: rewritten under the vrcx name and brief
2026-05-18 17:57:29 +03:00

6.7 KiB
Raw Permalink Blame History

vrcx

Последний релиз Сборка Лицензия: MIT Язык: en | ru

🇺🇸 English | 🇷🇺 Русский

vrcxVegman Remote Collect (расширенный). Портативная замена штатного YADRO VRC.exe: вытаскивает диагностические логи с сервера Vegman и, по желанию, с сервисной ОС SDS — параллельно, в единый архив, готовый отправить в саппорт.

Штатный VRC ходит только в BMC. На реальных инцидентах саппорту почти всегда нужны ещё и логи с ОС (lsiget, storcli, smartctl, journal). С vrcx это один двойной клик вместо беготни с флешкой.


Что делает

  • Параллельно опрашивает N BMC. Внутри каждого хоста — ещё одна SSH-сессия в сервисную ОС SDS, обе ветки идут одновременно.
  • IP SDS определяет сам: спрашивает у BMC по Redfish MAC хостового порта, ищет его в ARP-таблице ноутбука (предварительно прогревая её /24-пинг-свипом).
  • Каждый хост получает свои подпапки bmc/ и os/; готовые архивы складываются в общий archives/, а вся сессия упаковывается во внешний tar.gz одним кликом.
  • Если Собирать ещё и логи с ОС? — нет — получается набор файлов 1:1 совместимый с маршрутом саппорта по штатному VRC.

Скачать

Последний релиз: страница релизов. Архив: vrcx-portable-vX.Y.Z.zip.

Запуск

  1. Распакуй куда угодно.
  2. Двойной клик по vrcx.exe. При первом запуске выбери язык; выбор сохраняется в config.ini рядом с exe.
  3. Вставь один или несколько IP-адресов BMC через пробел, запятую или с новой строки. Заверши ввод пустой строкой.
  4. Введи логин BMC (по умолчанию admin) и пароль.
  5. Ответь на Собирать ещё и логи с ОС? — если да, введи логин/пароль SDS (по умолчанию sds/sds). vrcx сам найдёт IP SDS через Redfish→ARP; если не нашёл — спросит руками.
  6. Смотри живую таблицу: каждая строка показывает BMC ok/total | OS ok/total пока идёт сбор.

Ctrl+C — прерывание, неполная сессия удаляется.

Структура вывода

out/<ДДММГГГГ_ЧЧММСС>/
├── <bmc_ip>/
│   ├── bmc/        команды для BMC (inventory, sensors, sellog, Redfish, …)
│   └── os/         команды для SDS (lsiget, storcli, smartctl, journal, …)
├── <bmc_ip_2>/
│   ├── bmc/
│   └── os/
├── archives/
│   ├── dump_<bmc_ip>.tar.gz
│   └── dump_<bmc_ip_2>.tar.gz
├── vrc.log
└── err_out.log

out/<ДДММГГГГ_ЧЧММСС>.tar.gz   ← готовый бандл для саппорта

Конфигурация

config.ini лежит рядом с exe и создаётся при первом запуске. Каждая опция снабжена комментарием (EN + RU). Что можно крутить:

Секция Ключ Дефолт Что делает
General language (спросит) en / ru
BMC default_user admin Enter на вопросе логина BMC примет это значение
OS collect_by_default no Сразу включать «Собирать ещё и логи с ОС?» как «да»
OS default_user sds Логин SDS по умолчанию
Discovery ping_sweep yes Прогревать ARP-таблицу /24-пингом, если IP SDS неизвестен
Run parallel_hosts 8 Макс. количество BMC, опрашиваемых параллельно

Что собирает

Источник Откуда
BMC Таблица в commands.py: команды YADRO CLI (bmc info version, lsinventory -j, health logs show sellog), journalctl-юниты, чтение файлов (/proc/cpuinfo, /etc/os-release, …), Redfish /redfish/v1/Systems.
SDS (ОС) Таблица в os_commands.py: lsigetlinux.sh, storcli64 /call show all, nvme list, smartctl -x по каждому диску, dmidecode, dmesg -T, journalctl -b, /var/log/messages, lspci, lsblk.

Добавить новый артефакт — одна строка в нужной таблице.

Совместимость

  • Структура вывода повторяет VRC v1.1b — маршрут саппорта по BMC-части не меняется.
  • Цель: серверы YADRO Vegman с OpenBMC + сервисная ОС SDS (база CentOS Stream 10).
  • Хост: Windows 10 / 11. Python ни на ноутбуке, ни на сервере не нужен.

Сборка из исходников

git clone https://github.com/Engelgardt23/vrcx.git
cd vrcx
python -m pip install rich paramiko pyinstaller
python -m PyInstaller --onefile --console --name vrcx --icon dev/assets/icon.ico --paths dev/src dev/vrcx-launcher.py

Раскладка репозитория (dev/ / prod/ / old/) и релизный flow описаны в CONTRIBUTING.md.

Лицензия

MIT — см. LICENSE.