Proxmox CPU Dashboard

Локальная веб-панель CPU для Proxmox. Данные читаются напрямую из /proc и /sys, без Proxmox API. Интерфейс обновляется каждые две секунды.

Панель показывает:

  • модель и текущую загрузку CPU;
  • количество сокетов, физических ядер и логических потоков;
  • среднюю текущую частоту;
  • load average за 1, 5 и 15 минут;
  • uptime;
  • доступные аппаратные температуры.
  • использование RAM, доступную память, кэш, буферы и swap.
  • заполнение системного диска /;
  • список физических дисков, модель, серийный номер, SMART, температуру, наработку и доступные данные об износе;
  • текущую скорость и суммарные счётчики сетевого трафика.
  • состояние, заполнение, фрагментацию и scrub/resilver ZFS-пулов;
  • состояние UPS через NUT или apcupsd, заряд, автономность, нагрузку и напряжение.
  • состояние VM и LXC, CPU, память, выделенные ядра и uptime.
  • последнюю найденную резервную копию каждой VM/LXC, storage, размер и возраст.

Через кнопку настроек можно скрывать неиспользуемые карточки и переключать светлую или тёмную тему. Выбор сохраняется локально в браузере.

Центр уведомлений объединяет критические события, предупреждения и информационные сообщения по CPU, памяти, storage, SMART, ZFS, UPS, VM/LXC и резервным копиям. Критические события всегда отображаются первыми.

Пороги уведомлений сохраняются в SQLite и настраиваются через вкладку Настройки → Уведомления. Панель раз в минуту сохраняет историю CPU, температуры, памяти, swap, сети, storage, ZFS, UPS и гостей. Данные старше семи дней удаляются автоматически. Графики находятся внутри подробных окон карточек.

База данных по умолчанию находится здесь:

/var/lib/proxmox-dashboard/dashboard.db

Готовые версии для Linux публикуются в разделе Releases репозитория. Бинарник не требует установки Go или системной библиотеки SQLite.

На главном экране находятся компактные карточки CPU, памяти, диска и сети. Нажатие на карточку открывает подробные показатели.

Быстрый запуск

Скопируйте dist/proxmox-cpu-dashboard-linux-amd64 на Proxmox, затем:

chmod +x proxmox-cpu-dashboard-linux-amd64
./proxmox-cpu-dashboard-linux-amd64

Откройте:

http://192.168.0.10:9105

Установка как службы

install -m 0755 proxmox-cpu-dashboard-linux-amd64 /usr/local/bin/proxmox-cpu-dashboard
install -m 0644 proxmox-cpu-dashboard.service /etc/systemd/system/proxmox-cpu-dashboard.service
systemctl daemon-reload
systemctl enable --now proxmox-cpu-dashboard
systemctl status proxmox-cpu-dashboard

По умолчанию панель слушает порт 9105 на всех интерфейсах. Другой адрес можно задать переменной DASHBOARD_ADDR, например 127.0.0.1:9105.

На веб-сервере пока нет авторизации. Не открывайте порт 9105 в интернет.

Для SMART-метрик на Proxmox должен быть установлен пакет smartmontools:

apt update
apt install -y smartmontools

Без него список дисков и их паспортные данные продолжат отображаться, а SMART будет отмечен как недоступный.

Проверить исходные SMART-данные вручную:

smartctl -x /dev/sda
smartctl -x -j /dev/sda
smartctl -x /dev/nvme0n1

У HDD обычно нет показателя износа в процентах. Для NVMe используется Percentage Used, а для SATA SSD — поддерживаемые накопителем атрибуты ресурса. Если производитель не публикует такой атрибут, панель корректно показывает .

UPS

Панель автоматически пробует получить данные через NUT (upsc), затем через apcaccess. Для проверки NUT:

upsc -l
upsc ИМЯ_UPS

Для проверки apcupsd:

apcaccess status

API

  • GET /api/cpu — один JSON-снимок.
  • GET /api/system — единый JSON-снимок CPU и памяти.
  • GET /api/events — поток метрик SSE с интервалом две секунды.

Сборка

go test ./...
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o proxmox-cpu-dashboard .
Description
No description provided
Readme 1.4 MiB
Languages
Go 98.1%
Shell 1.9%