GPU-метрики в Beszel без скриптов

Боль
Чтобы видеть температуру/память/нагрузку GPU в дашборде, обычно городят самописный скрипт, который тащит показания из драйвера и пушит их «куда‑нибудь». Такой код живёт до первого обновления ядра, драйвера или агента — потом ночь дебага и злость на себя прошлого.
Что такое Beszel
Beszel — лёгкий self‑hosted мониторинг: небольшой агент на хосте и аккуратная веб‑панель. Ставитcя быстро, жрёт мало, из коробки показывает CPU/память/диск/сеть и другие базовые вещи. И — сюрприз — умеет GPU.
Открытие дня: метрики GPU уже приходят сами
У агента есть поле g в статистике — там лежат данные по видеокартам. Никакого отдельного скрипта не требуется: если драйвер и устройство видны агенту (в контейнере проброшен GPU), Beszel добавляет блок g и панель рисует графики.
Пример «синтетической» выборки (для идеи структуры, значения условные):
{
"cpu": { "load": 0.42 },
"mem": { "used": 8096, "total": 16384 },
"g": [
{
"name": "GPU 0",
"util": 0.76,
"mem_used": 2048,
"mem_total": 8192,
"temp": 62
}
]
}
Важно: в контейнере дайте агенту доступ к железу. Для встроенных AMD/Intel — обычно достаточно пробросить
/dev/dri(чтение), для NVIDIA — соответствующий runtime/плагины. Конкретика зависит от вашей оркестрации.
Как это выглядит
Вот типовой набор, который я вижу у себя:
– загрузка GPU (%),
– использование видеопамяти (MiB/GB),
– температура (°C),
– иногда — несколько адаптеров в массиве g.

«Кастомный скрипт» vs «встроенные g‑метрики»
- Установка
- Скрипт: придумать формат, упаковать, прикрутить пуш.
g: просто обновить агент и дать доступ к устройству.
- Поддержка
- Скрипт: ломается при апдейтах, требует правок.
g: обновляется вместе с агентом.
- Надёжность
- Скрипт: отдельный процесс, ещё один «пункт отказа».
g: часть штатной телеметрии.
- Совместимость
- Скрипт: ручной парсинг под конкретный драйвер.
g: единый формат в stats → сразу графики в панели.
- Безопасность
- Скрипт: лишние права/сети/библиотеки.
g: минимум доступа, тот же контур, что и у агента.

Итог
Если вы уже используете Beszel — проверьте, не появилось ли у вас поле g. Велика вероятность, что графики по видеокарте заработают без единой строчки кода. Меньше костылей — больше спокойствия.
Ссылки
- Beszel на GitHub: https://github.com/henrygd/beszel
- Документация/README: https://github.com/henrygd/beszel#readme