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.

Врезка: панель с GPU-метриками

«Кастомный скрипт» vs «встроенные g‑метрики»

Врезка: «подметаем» сломанный скрипт, метрики появляются сами

Итог

Если вы уже используете Beszel — проверьте, не появилось ли у вас поле g. Велика вероятность, что графики по видеокарте заработают без единой строчки кода. Меньше костылей — больше спокойствия.

Ссылки

#monitoring #selfhosting