В VMmanager кластер — группа обслуживающих узлов, на которых запускаются виртуальные машины. В качестве узлов кластера выступают физические серверы. Статистика по нагрузке узлов кластера доступна в Статистика → Нагрузка кластера.

Формирование отчёта о нагрузке кластера


Укажите:

  • Период — выбор времени, за которое будет отображена статистика:
    • предыдущий день;
    • текущий день;
    • текущая неделя;
    • текущий месяц;
    • текущий год;
    • предыдущая неделя;
    • предыдущий месяц;
    • предыдущий год;
    • неделя;
    • месяц;
    • квартал;
    • полгода;
    • год;
    • произвольный диапазон;
    • за всё время.
  • с даты — начальная дата периода. Поле доступно только при выборе значения "произвольный диапазон" в поле Период;
  • по дату — конечная дата периода. Поле доступно только при выборе значения "произвольный диапазон" в поле Период;
  • Узел кластера — выбор узла кластера, для которого будет отображена статистика. При выборе значения "TOP 10" отображается статистика для 10 узлов кластера с максимальной нагрузкой.

Отображаются графики для следующих данных:

  • входящий трафик, GiB;
  • исходящий трафик, GiB;
  • процессор, %;
  • операции ввода-вывода, IOPS;
  • использовано оперативной памяти, %.

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

Статистика по минутам хранится 5 суток. Статистика по часам хранится месяц и 3 дня. Статистика по дням хранится 2 года. По прошествии этого времени данные удаляются.

Графики для произвольного периода строятся на основе почасовой статистики.

Принципы получения статистической информации


Сбор статистики осуществляется с помощью периодических задач, выполняемых через cron: 

Пример команд crontab

## VMmanager periodic tasks (1 minute)
* * * * *    /usr/local/mgr5/sbin/cron-vmmgr sbin/mgrctl -m vmmgr periodic period=1 >/dev/null 2>&1
## VMmanager periodic tasks (5 minutes)
*/5 * * * *    /usr/local/mgr5/sbin/cron-vmmgr sbin/mgrctl -m vmmgr periodic period=5 >/dev/null 2>&1
## VMmanager periodic tasks (hourly)
3 * * * *    /usr/local/mgr5/sbin/cron-vmmgr sbin/mgrctl -m vmmgr periodic period=60 >/dev/null 2>&1
## VMmanager periodic tasks (daily)
7 0 * * *    /usr/local/mgr5/sbin/cron-vmmgr sbin/mgrctl -m vmmgr periodic period=day >/dev/null 2>&1
CODE

Сырая статистика хранится в директории /usr/local/mgr5/var/stat/raw и обновляется раз в пять минут. Каждый час панель управления обрабатывает сырую статистику и удаляет из данной директории. Архив сырой статистики хранится в директории /usr/local/mgr5/var/stat/mon/mainstat/.

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

Удалить архив сырой статистики можно только средствами операционной системы.

Входящий и исходящий трафик

Источником информации служит файл /proc/net/dev. Файлы статистики копируются в var/stat/raw_bandwidth.

Поле Receive Bytes — входящий трафик.

Поле Transmit Bytes — исходящий трафик.

В качестве интерфейса автоматически выбирается основной сетевой интерфейс узла кластера.

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

Сетевая статистика собирается с интерфейсов с типами physical и bonding. Сбор статистики с виртуальных сетевых интерфейсов не производится.

Процессор

Источником информации служит результат функции virNodeGetCPUStats библиотеки libvirt (команда virsh nodecpustats на узле кластера).

Формула расчёта нагрузки процессора:

(user+system) / (user+nice+system+iowait) * 100
BASH

user — такты процессора в пользовательском pежиме.

iowait — такты процессора в режиме ожидания ввода-вывода.

system — такты процессора в системном pежиме.

idle — время простоя.

Операции ввода-вывода

Источником информации служит файл /proc/diskstats.

Формула расчёта:

NumReads+NumWrites
BASH

NumReads — поле 1 файла /proc/diskstats (Field 1 -- # of reads issued).

NumWrites — поле 5 файла /proc/diskstats (Field 5 -- # of writes completed).

При подсчёте учитываются все физические жёсткие диски

Использование оперативной памяти

Источником информации служит результат функции virNodeGetMemoryStats (аналогично команде virsh nodememstats).

Формула расчёта:

MemUsed / MemTotal * 100
BASH

MemUsed = MemTotal - MemFree.

MemFree — сумма free + cached.

MemTotal — поле total.