Статистика использования ресурсов

Краткое описание возможностей системы

Система состоит из демона сбора данных статистики и утилиты вывода данных статистики. Демон сбора данных статистики предназначен для сохранения в базу данных sqlite исторических данных по лимитам и нагрузке внутри «Limited Surrounding» (LS). Данные сохраняются в базу данных в виде средних значений нагрузки за каждую минуту. Также есть возможность сохранять в базу данных sqlite данные по использованию дискового пространства.

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

Утилита вывода данных по дисковой квоте позволяет просматривать исторические данные по использованию дискового пространства (блоки и inodes) для пользователей и групп за указанный период времени.

Системные требования

Система изоляции работает на операционной системе МСВСфера 9 Сервер.

Как работает система статистики

Демон статистики (lsstats.service) каждые 5 секунд получает данные по нагрузке, лимитам и ошибкам выделения ресурсов от демона лимитирования (klsd.service). На основе этих данных вычисляются значения нагрузки за интервалы времени 5 секунд. Затем на основе средних значений нагрузки за 5-секундные интервалы вычисляются средние значения нагрузки за минуту и записываются в базу данных.

Данные по использованию дискового пространства (квот) записываются в базу данных каждые 5 минут.

Утилиты вывода статистики читают данные статистики из базы данных и выводят их в консоль.

Установка пакетов системы статистики

Пакеты системы статистики устанавливаются автоматически при миграции на МСВСфера 9 Сервер.

Для установки системы статистики вручную выполните следующую команду:

$ sudo yum install ls-stats

Расположение файлов и директорий системы статистики

Файлы конфигурации расположены в директории /etc/ls-stats/conf.d. Чтобы изменить какой-то параметр НЕ НУЖНО редактировать файл /etc/ls-stats/conf.d/ls-stats.conf, который устанавливается rpm-пакетом ls-stats, поскольку этот файл перезаписывается при обновлении пакета.

Чтобы переопределить параметры конфигурации, создайте новый файл с нужными параметрами в директории /etc/ls-stats/conf.d, например /etc/ls-stats/conf.d/ls-stats2.conf.

Система статистики включает следующие исполняемые файлы:

  • /usr/sbin/ls-stats — утилита вывода данных статистики;

  • /usr/sbin/ls-stats-daemon — демон сбора статистики;

  • /usr/sbin/ls-stats-quota — утилиты вывода исторических данных.

Файл базы данных sqlite находится по пути /srv/ls-stats/ls-stats.db. Содержимое директории /srv/ls-stats доступно только пользователю root. То есть, просматривать статистику из командной строки может только пользователь root. Для обычных пользователей просмотр статистики доступен только через плагин статистики «Limited Surrounding» (LS) для ispmanager.

Лог-файл демона статистики расположен по пути /var/log/lsstats-service.log.

Параметры конфигурации системы статистики

  • keep_stats_days=7 — период хранения данных в базе данных в днях. Данные, старее чем указано в параметре, удаляются из базы данных автоматически. Значение по умолчанию — 7 дней.

  • SaveUserQuota=no — сохранять или нет в базе данные по пользовательской квоте. Значение по умолчанию — не сохранять.

  • UserQuotaIntervalSec=300 — интервал времени в секундах, через который сохранять данные по пользовательской квоте в базе данных. Значение по умолчанию — 300 секунд (5 минут).

  • SaveGroupQuota=no — сохранять или нет в базе данные по групповой квоте. Значение по умолчанию — не сохранять.

  • GroupQuotaIntervalSec=300 — интервал времени в секундах, через который сохранять данные по групповой квоте в базе данных. Значение по умолчанию — 300 секунд (5 минут).

Сервис системы статистики

Сервис системы называется lsstats.service и для его управления используются команды systemctl, например:

  • systemctl start lsstats — запустить сервис статистики;

  • systemctl stop lsstats — остановить сервис статистики;

  • systemctl enable lsstats — включить сервис статистики;

  • systemctl disable lsstats — выключить сервис статистики.

Утилита вывода статистики использования ресурсов LS (/usr/sbin/ls-stats)

Использование

$ sudo ls-stats [-h|--help] [-v|--version] [-u|--user "<value>"] [--uid
                <integer>] [-d|--display-username] [-l|--limit <integer>]
                [-c|--csv] [-i|--isp] [-f|--from "<value>"] [-t|--to "<value>"]
                [--period "<value>"]

Описание

Выводит статистику по нагрузке LS.

Обозначения

  • Id — Uid или имя пользователя;

  • Time — дата и время;

  • Cpu — средняя нагрузка процессора;

  • CpuL — лимит нагрузки процессора;

  • CpuF — число событий ограничения нагрузки процессора;

  • Swap — среднее использование файла подкачки;

  • SwapL — лимит файла подкачки;

  • SwapF — число ошибок выделения файла подкачки;

  • Mem — среднее использование физической оперативной памяти;

  • MemL — лимит физической оперативной памяти;

  • MemF — число ошибок выделения физической оперативной памяти;

  • Nproc — среднее число процессов пользователя;

  • NprocL — лимит числа процессов пользователя;

  • NprocF — число ошибок создания процесса пользователя.

Обозначения Kb, Mb, Gb, Tb соответствуют степеням 1024, а не 1000.

Параметры

  • -h, --help — вывести справку;

  • -v, --version — вывести версию программы;

  • -u, --user — вывести статистику только по указанному пользователю;

  • --uid — вывести статистику только по указанному LS ID (UID);

  • -d, --display-username — отображать имя пользователя вместо uid, когда возможно;

  • -l, --limit — максимальное число строк для вывода результата. -1 = без ограничения. Значение по умолчанию — -1;

  • -e, --faults-only — выводить только строки, где есть счётчик ошибок, больше или равный указанному значению. Значение по умолчанию — 0;

  • --list-faults-only — задаёт список ошибок, выводимых (CpuF, SwapF, MemF, NprocF) при использовании опции --faults-only;

  • -o, --order-by — задаёт имя параметра для сортировки по убыванию (один из списка Cpu, CpuL, CpuF, Swap, SwapL, SwapF, Mem, MemL, MemF, Nproc, NprocL, NprocF);

  • -c, --csv — вывести статистику в формате CSV;

  • -i, --isp — вывести статистику в формате для интеграции с ispmanager;

  • -f, --from — начальное время периода просмотра статистики в формате YYYY-MM-DD HH:MM:SS;

  • -t, --to — конечное время периода просмотра статистики в формате YYYY-MM-DD HH:MM:SS (если не указано, то текущее время);

  • --period — период времени, за который выводить статистику. m — минуты, h — часы, d — дни (если период не указан, то по умолчанию 10 минут).

Утилита вывода статистики использования дисковой квоты (/usr/sbin/ls-stats-quota)

Использование

$ sudo ls-stats-quota [-h|--help] [-v|--version] [--userquota] [--groupquota]
                      [-u|--user "<value>"] [--uid <integer>] [-g|--group
                      "<value>"] [--gid <integer>] [-d|--display-name]
                      [-l|--limit <integer>] [-c|--csv] [-i|--isp] [-f|--from
                      "<value>"] [-t|--to "<value>"] [--period "<value>"]

Описание

Выводит статистику по дисковой квоте.

Параметры

  • -h, --help — вывести справку;

  • -v, --version — вывести версию программы;

  • --userquota — вывести только квоты по пользователям;

  • --groupquota — вывести только квоты по группам;

  • -u, --user — вывести статистику только по указанному пользователю;

  • --uid — вывести статистику только по указанному UID;

  • -g, --group — вывести статистику только по указанной группе;

  • --gid — вывести статистику только по указанному GID;

  • -d, --display-name — отображать имя пользователя или группы вместо uid или gid, когда возможно;

  • -l, --limit — максимальное число строк для вывода результата. -1 = без ограничения. Значение по умолчанию — -1;

  • -c, --csv — вывести статистику в формате CSV;

  • -i, --isp — вывести статистику в формате для интеграции с ispmanager;

  • -f, --from — начальное время периода просмотра статистики в формате YYYY-MM-DD HH:MM:SS;

  • -t, --to — конечное время периода просмотра статистики в формате YYYY-MM-DD HH:MM:SS (если не указано, то текущее время);

  • --period — период времени, за который выводить статистику. m — минуты, h — часы, d — дни (если период не указан, то по умолчанию 10 минут).