Vegman Remote Collect (extended) — diagnostic log collector for YADRO Vegman servers (BMC + SDS host, parallel)
Find a file
Engelgardt23 82a155d494 docs: update CHANGELOG, CONTRIBUTING, issue templates for vrcx
- CHANGELOG: new [Unreleased] section describing the vrcx feature set on
  top of the inherited 0.1.0 (bmccollect) baseline
- CONTRIBUTING: dev/prod/old layout, full src/vrcx/ module tour, updated
  build/install commands, expanded 'where features go' table
- ISSUE_TEMPLATE/config.yml: security advisories link points at vrcx
2026-05-18 22:15:48 +03:00
.github docs: update CHANGELOG, CONTRIBUTING, issue templates for vrcx 2026-05-18 22:15:48 +03:00
dev vrcx: i18n (en/ru), config.ini, clickable update check, prettier README 2026-05-18 17:57:29 +03:00
.gitignore vrcx 0.2.0-dev: BMC + SDS parallel collector 2026-05-18 17:38:07 +03:00
CHANGELOG.md docs: update CHANGELOG, CONTRIBUTING, issue templates for vrcx 2026-05-18 22:15:48 +03:00
CONTRIBUTING.md docs: update CHANGELOG, CONTRIBUTING, issue templates for vrcx 2026-05-18 22:15:48 +03:00
LICENSE vrcx 0.2.0-dev: BMC + SDS parallel collector 2026-05-18 17:38:07 +03:00
README.md vrcx: i18n (en/ru), config.ini, clickable update check, prettier README 2026-05-18 17:57:29 +03:00
README.ru.md vrcx: i18n (en/ru), config.ini, clickable update check, prettier README 2026-05-18 17:57:29 +03:00
SECURITY.md vrcx 0.2.0-dev: BMC + SDS parallel collector 2026-05-18 17:38:07 +03:00

vrcx

Latest release Build License: MIT Lang: en | ru

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

vrcxVegman Remote Collect (extended). A portable, scripted replacement for YADRO's VRC.exe that pulls diagnostic logs from a Vegman server and (optionally) from its SDS service OS, in parallel, into a single archive ready to send to support.

The original VRC only touches the BMC. In real incidents support almost always asks for OS-side logs too (lsiget, storcli, smartctl, journals). With vrcx that's one double-click instead of a USB-stick run.


What it does

  • Connects to N BMCs in parallel. Per host, also opens a second SSH session to the SDS service OS and runs both branches concurrently.
  • SDS IP is discovered automatically: vrcx asks the BMC over Redfish for the host NIC's MAC, then matches it against the laptop's ARP table (warming it with a quick /24 ping-sweep when needed).
  • Each host gets a clean bmc/ and os/ sub-folder; all per-host tarballs land in a shared archives/ folder and an outer bundle wraps the whole session.
  • BMC-only mode (when Collect OS logs too? is answered no) produces an artefact set 1:1 compatible with the original VRC support flow.

Download

Grab the latest release: releases page. The asset is vrcx-portable-vX.Y.Z.zip.

Run

  1. Unzip anywhere.
  2. Double-click vrcx.exe. On the very first launch pick a language; the choice is saved into config.ini next to the exe.
  3. Paste one or more BMC IPs (whitespace, comma, or newline separated). End input with an empty line.
  4. Enter the BMC user (default admin) and password.
  5. Answer Collect OS logs too? — if yes, enter SDS user/password (defaults sds/sds). vrcx will discover each SDS IP via Redfish→ARP, falling back to a manual prompt when needed.
  6. Watch the live progress table — each row shows BMC ok/total | OS ok/total while collection runs.

Ctrl+C aborts and removes the incomplete session folder.

Output

out/<DDMMYYYY_HHMMSS>/
├── <bmc_ip>/
│   ├── bmc/        BMC commands (inventory, sensors, sellog, Redfish, …)
│   └── os/         SDS host commands (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/<DDMMYYYY_HHMMSS>.tar.gz   ← one-click bundle for support

Configuration

config.ini lives next to the exe and is created on first run. Every option carries an inline description (EN + RU). Typical knobs:

Section Key Default What
General language (asked) en / ru
BMC default_user admin Hit Enter on the BMC user prompt to accept this
OS collect_by_default no Pre-tick the Collect OS logs too? answer
OS default_user sds Default SDS user
Discovery ping_sweep yes Warm the ARP table with a /24 ping-sweep when SDS IP is unknown
Run parallel_hosts 8 Max BMCs collected in parallel

What gets collected

Side Where it comes from
BMC Per-spec table in commands.py: BMC CLI commands (bmc info version, lsinventory -j, health logs show sellog), journalctl units, file reads (/proc/cpuinfo, /etc/os-release, …), Redfish /redfish/v1/Systems.
SDS host Per-spec table in os_commands.py: lsigetlinux.sh, storcli64 /call show all, nvme list, smartctl -x per drive, dmidecode, dmesg -T, journalctl -b, /var/log/messages, lspci, lsblk.

Adding a new artefact = one line in the relevant table.

Compatibility

  • Output structure mirrors VRC v1.1b — YADRO support flow is unchanged for the BMC side.
  • Targets: YADRO Vegman servers with OpenBMC + the SDS service OS (CentOS Stream 10 base).
  • Host: Windows 10 / 11. No Python required on the laptop or on the server.

Build from source

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

See CONTRIBUTING.md for the full repo layout (dev/ / prod/ / old/) and release flow.

License

MIT — see LICENSE.