Статистика использования ресурсов
Краткое описание возможностей системы
Система состоит из демона сбора данных статистики и утилиты вывода
данных статистики. Демон сбора данных статистики предназначен для сохранения в базу
данных 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 минут).