Мониторинг ресурсов узла Proxmox VE

Практический мониторинг CPU, памяти, дисков, нагрузки, хранилищ и сетевых интерфейсов на узле Proxmox VE через веб-интерфейс и CLI.

Стабильная работа Proxmox VE зависит от состояния процессора, оперативной памяти, дисков, хранилищ и сети. Недостаточно проверять только статус виртуальных машин: перегрузка самого узла может одновременно повлиять на все VM и LXC.

В этой инструкции рассматривается только базовый мониторинг ресурсов одного узла Proxmox VE через веб-интерфейс и командную строку.

Подходит для: Proxmox VE 8 и 9
Уровень сложности: начальный
Время выполнения: около 15 минут
Требуемый доступ: учётная запись с правами просмотра узла и shell-доступ при использовании CLI

Что будет рассмотрено

После выполнения инструкции можно будет:

  • оценивать загрузку CPU;
  • проверять использование RAM и swap;
  • находить дефицит дискового пространства;
  • контролировать состояние хранилищ;
  • проверять дисковую нагрузку;
  • наблюдать сетевые интерфейсы;
  • находить VM и LXC с высокой нагрузкой;
  • анализировать системные ошибки.

Мониторинг через веб-интерфейс

Выберите узел Proxmox VE.

Откройте:

Node → Summary

На странице отображаются:

  • CPU usage;
  • Server load;
  • RAM usage;
  • SWAP usage;
  • Root filesystem usage;
  • uptime;
  • версия ядра;
  • версия Proxmox VE.

Для оценки состояния смотрите не только текущее значение, но и график за период.

Проверка CPU

В поле:

CPU usage

отображается средняя текущая загрузка процессора.

Кратковременное значение 100% не всегда означает проблему. Важно учитывать:

  • длительность высокой нагрузки;
  • число логических CPU;
  • load average;
  • задержки VM;
  • дисковый I/O wait;
  • активные backup и migration tasks.

Проверка CPU через CLI

top

Более удобный вариант:

htop

Если htop не установлен:

apt update
apt install -y htop

Покажите число логических CPU:

nproc

Подробная информация:

lscpu

Load average

Проверьте:

uptime

Пример:

load average: 1.20, 0.95, 0.80

Значения соответствуют среднему числу задач за:

1, 5 и 15 минут

Для узла с 8 логическими CPU load около 8 означает полную загрузку вычислительных ресурсов, но интерпретация зависит и от I/O wait.

Проверка iowait

В top найдите поле:

wa

Высокий wa означает, что CPU ожидает завершения дисковых операций.

Проверьте через:

vmstat 1

В выводе смотрите колонку:

wa

Устойчиво высокий iowait обычно указывает на проблемы с дисками, storage backend или интенсивную нагрузку VM.

Проверка оперативной памяти

Через веб-интерфейс:

Node → Summary → RAM usage

Через CLI:

free -h

Пример:

               total        used        free      shared  buff/cache   available
Mem:            62Gi        40Gi       2.0Gi       1.0Gi        20Gi        21Gi

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

available

Низкое значение free само по себе не означает проблему, потому что Linux использует свободную память под cache.

Проверка swap

swapon --show
free -h

Небольшое использование swap допустимо.

Проблема вероятна, если:

  • swap активно растёт;
  • узел постоянно читает и пишет swap;
  • VM начинают замедляться;
  • доступная RAM близка к нулю.

Проверьте активность swap:

vmstat 1

Колонки:

si
so

показывают swap in и swap out.

Ballooning

Если для VM включён ballooning, фактическое использование памяти может отличаться от максимального выделенного значения.

Проверьте конфигурацию VM:

qm config VM_ID |
grep -E 'memory|balloon'

Пример:

memory: 4096
balloon: 2048

Это означает:

  • максимальная память — 4096 MiB;
  • минимальная target-память — 2048 MiB.

Для систем с предсказуемой нагрузкой иногда удобнее фиксированное выделение RAM.

Проверка root filesystem

Через веб-интерфейс:

Node → Summary → Root filesystem usage

Через CLI:

df -h /

Проверьте все файловые системы:

df -h

Проверьте inode:

df -i

Даже при наличии свободного места файловая система может перестать создавать файлы, если закончились inode.

Поиск крупных каталогов

Для корневой файловой системы:

du -xhd1 / 2>/dev/null |
sort -h

Для /var:

du -xhd1 /var 2>/dev/null |
sort -h

Для каталога Proxmox:

du -xhd2 /var/lib/vz 2>/dev/null |
sort -h |
tail -30

Не удаляйте файлы из /var/lib без понимания их назначения.

Проверка хранилищ Proxmox

pvesm status

Проверьте:

  • Status;
  • Total;
  • Used;
  • Available;
  • процент использования.

Хранилище должно иметь статус:

active

Проверка LVM-thin

lvs

Обратите внимание на:

Data%
Meta%

Особенно опасно приближение Data% или Meta% к 100%.

Подробно:

lvs -a -o+data_percent,metadata_percent

Проверка ZFS

Состояние пула:

zpool status

Краткий список:

zpool list

Файловые системы:

zfs list

Здоровый пул обычно показывает:

state: ONLINE

Состояния DEGRADED, FAULTED или ошибки checksum требуют немедленной диагностики.

Проверка NFS-хранилищ

pvesm status

Проверьте mount:

mount |
grep /mnt/pve

Проверьте доступность:

df -h /mnt/pve/STORAGE_ID

Проверьте NFS-статистику:

nfsstat -m

Если команда зависает, возможна проблема сети или NFS-сервера.

Проверка дисковой нагрузки

Установите sysstat:

apt update
apt install -y sysstat

Запустите:

iostat -xz 1

Основные показатели:

%util
await
r/s
w/s
rMB/s
wMB/s

%util

Показывает загрузку устройства.

Постоянное значение около 100% может указывать на насыщение диска.

await

Среднее время выполнения I/O-запроса в миллисекундах.

Рост await обычно означает увеличение задержки storage.

Оценивать показатель нужно с учётом типа дисков и backend.

Проверка SMART

Покажите диски:

lsblk -o NAME,SIZE,TYPE,MODEL,SERIAL

Для SATA или SAS:

smartctl -a /dev/sdX

Если smartctl отсутствует:

apt install -y smartmontools

Для NVMe:

nvme smart-log /dev/nvme0

Если nvme отсутствует:

apt install -y nvme-cli

Особое внимание:

  • media errors;
  • reallocated sectors;
  • pending sectors;
  • critical warnings;
  • temperature;
  • percentage used.

Проверка сетевых интерфейсов

ip -br link
ip -s link

Проверьте конкретный интерфейс:

ip -s link show eno1

Обратите внимание на:

errors
dropped
overrun
carrier

Рост ошибок может указывать на:

  • кабель;
  • порт коммутатора;
  • mismatch скорости;
  • перегрузку;
  • драйвер;
  • MTU.

Проверка скорости линка

ethtool eno1

Проверьте:

Speed
Duplex
Link detected

Если ethtool отсутствует:

apt install -y ethtool

Проверка bridge

bridge link

Проверьте:

ip addr show vmbr0

Покажите участников моста:

bridge fdb show br vmbr0 |
head

Проверка сетевой нагрузки

sar -n DEV 1

Если sar отсутствует, установите sysstat.

Показываются:

  • входящий трафик;
  • исходящий трафик;
  • пакеты;
  • ошибки.

Поиск нагруженных VM

Покажите список:

qm list

Через веб-интерфейс выберите VM:

VM → Summary

Проверьте:

  • CPU usage;
  • Memory usage;
  • Network traffic;
  • Disk I/O.

Через API-backed CLI можно посмотреть состояние:

qm status VM_ID --verbose

Поиск нагруженных LXC

pct list

Выберите контейнер:

CT → Summary

Проверьте CPU, RAM, disk и network.

Через CLI:

pct status CT_ID --verbose

Проверка процессов QEMU

ps -eo pid,pcpu,pmem,cmd   --sort=-pcpu |
grep -E 'kvm|qemu' |
head -20

Процесс VM обычно содержит её VM ID.

Для поиска конкретной VM:

ps aux |
grep 'id VM_ID' |
grep -v grep

Проверка процессов LXC

ps -eo pid,pcpu,pmem,cmd   --sort=-pcpu |
head -30

Войти в контейнер:

pct enter CT_ID

Затем использовать:

top
free -h
df -h

Проверка failed units

systemctl --failed

Подробно по сервису:

systemctl status SERVICE_NAME --no-pager

Журнал:

journalctl -u SERVICE_NAME   -n 100   --no-pager

Проверка критических ошибок

Ошибки текущей загрузки:

journalctl -b -p err --no-pager

Предупреждения:

journalctl -b -p warning --no-pager

Сообщения ядра:

journalctl -k -b --no-pager

Поиск аппаратных ошибок:

journalctl -k -b --no-pager |
grep -iE 'error|fail|timeout|reset|corrupt|mce|edac'

Проверка температуры

Если сервер поддерживает датчики:

sensors

Установка:

apt install -y lm-sensors

Определение датчиков:

sensors-detect

На серверном оборудовании точнее использовать IPMI:

ipmitool sensor

Команда доступна только при наличии IPMI и соответствующего пакета.

Проверка задач Proxmox

В веб-интерфейсе:

Node → Task History

Проверьте ошибки:

  • backup;
  • migration;
  • snapshot;
  • replication;
  • storage operations;
  • start и stop VM.

Через CLI:

journalctl --since today |
grep -iE 'vzdump|qmigrate|error|failed'

Базовая периодическая проверка

Ежедневно:

systemctl --failed
pvesm status
df -h
zpool status 2>/dev/null
lvs 2>/dev/null

Еженедельно:

journalctl -b -p err --no-pager
smartctl -a /dev/sdX
docker system df 2>/dev/null

Команды следует адаптировать к фактическому storage backend.

Типичные проблемы

CPU постоянно загружен

Проверьте:

top
ps -eo pid,pcpu,pmem,cmd --sort=-pcpu | head

Определите, относится ли нагрузка к:

  • VM;
  • LXC;
  • backup;
  • compression;
  • ZFS;
  • Ceph;
  • системному процессу.

RAM почти полностью занята

Проверьте:

free -h

Смотрите available, а не только free.

Проверьте суммарно выделенную память VM и ballooning.

Высокий iowait

Проверьте:

iostat -xz 1
vmstat 1

Также проверьте backup, snapshot, scrub, replication и состояние физических дисков.

Хранилище inactive

Проверьте:

pvesm status

Для NFS — сеть и mount.

Для ZFS — zpool status.

Для LVM — lvs.

Root filesystem заполнен

Проверьте:

du -xhd1 /var |
sort -h

Частые причины:

  • backup в /var/lib/vz/dump;
  • журналы;
  • ISO-образы;
  • crash dumps;
  • временные файлы;
  • старые пакеты.

Сетевой интерфейс показывает ошибки

Проверьте:

ip -s link show INTERFACE
ethtool INTERFACE

Сравните счётчики с портом коммутатора.

Безопасный порядок диагностики

  1. Проверить systemctl --failed.
  2. Проверить CPU и load average.
  3. Проверить RAM и swap.
  4. Проверить df -h и inode.
  5. Проверить pvesm status.
  6. Проверить iowait и дисковую задержку.
  7. Проверить физические диски.
  8. Проверить сеть и ошибки интерфейсов.
  9. Найти нагруженную VM или LXC.
  10. Проверить журнал ядра и Proxmox tasks.

Быстрый набор команд

Общее состояние:

uptime
free -h
df -h
pvesm status
systemctl --failed

CPU и процессы:

top

Диски:

iostat -xz 1

Сеть:

ip -s link

Ошибки:

journalctl -b -p err --no-pager

VM и LXC:

qm list
pct list

Итог

После выполнения инструкции:

  • проверены CPU, load average и iowait;
  • проверены RAM и swap;
  • проверены файловые системы и inode;
  • проконтролированы LVM, ZFS и NFS;
  • проверены физические диски;
  • проанализированы сетевые интерфейсы;
  • найдены нагруженные VM и LXC;
  • проверены системные ошибки и задачи Proxmox.

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

← Предыдущая статья Безопасное обновление Proxmox VE Следующая статья → Увеличение диска виртуальной машины в Proxmox VE