psacct или acct — приложение с открытым исходным кодом для мониторинга действий пользователей в системе. Эти приложения работают в фоновом режиме и отслеживают активность каждого пользователя в вашей системе, а также то, какие ресурсы используются.
Я лично использовал эту программу в нашей компании, у нас есть команда разработчиков, где наши разработчики постоянно работают на серверах. Таким образом, это одна из лучших программ, чтобы следить за ними. Эта программа предоставляет отличный способ отслеживать, что делают пользователи, какие команды они запускают, сколько ресурсов они потребляют, как долго пользователи активны в системе. Еще одна замечательная особенность этой программы — она дает общие ресурсы, потребляемые такими службами, как Apache, MySQL, FTP, SSH и т.д.
Я думаю, что это одно из наиболее востребованных и нужных приложений для каждого системного администратора Linux/Unix, который хотел отслеживать действия пользователей на своих серверах/системах.
Пакет psacct или acct предоставляет несколько функций для мониторинга действий процесса.
- Команда ac выводит статистику пользовательских входов/выходов (время подключения) в часах.
- Команда lastcomm печатает информацию о ранее выполненных командах пользователя.
- Команды accton используются для включения/выключения процесса учета.
- Команда sa суммирует информацию о ранее выполненных командах.
- Команды last и lastb показывают список последних зарегистрированных пользователей.
Установка пакетов psacct или acct
Оба пакета psacct или acct схожи, и между ними нет большой разницы, но пакет psacct доступен только для дистрибутивов на основе rpm, таких как RHEL, CentOS и Fedora, тогда как пакет acct доступен для таких дистрибутивов, как Ubuntu, Debian и Linux Mint.
Чтобы установить пакет psacct в дистрибутивах на основе rpm, введите следующую команду yum.
# yum install psacct
Чтобы установить пакет acct, используйте команду apt-get в Ubuntu / Debian / Linux Mint.
$ sudo apt-get install acct
Запуск службы psacct или acct
По умолчанию служба psacct находится в отключенном режиме, и вам необходимо запустить ее вручную в системах RHEL/CentOS/Fedora. Используйте следующую команду, чтобы проверить состояние службы.
# /etc/init.d/psacct status
Process accounting is disabled.
Вы видите состояние, показанное как отключенное, поэтому давайте запустим его вручную, используя следующие обе команды. Эти две команды создадут файл /var/account/pacct и запустят службы.
# chkconfig psacct on
# /etc/init.d/psacct start
Starting process accounting: [ OK ]
После запуска сервиса, проверьте статус снова, вы получите статус как включенный, как показано ниже.
# /etc/init.d/psacct status
Process accounting is enabled.
В Ubuntu служба Debian и Mint запускается автоматически, вам не нужно запускать ее снова.
Отображение статистики пользователей Connect Time
Команда ac без указания какого-либо аргумента будет отображать общую статистику времени соединения в часах на основе пользовательских входов/выходов из текущего файла wtmp.
# ac
Пример вывода:
total 1814.03
Отображение статистики пользователей по дням
Использование команды «ac -d» выведет общее время входа в часах в дневное время.
# ac -d
Sep 17 total 5.23
Sep 18 total 15.20
Sep 24 total 3.21
Sep 25 total 2.27
Sep 26 total 2.64
Sep 27 total 6.19
Oct 1 total 6.41
Oct 3 total 2.42
Oct 4 total 2.52
Oct 5 total 6.11
Oct 8 total 12.98
Oct 9 total 22.65
Oct 11 total 16.18
Отображение итогового времени для каждого пользователя
Использование команды «ac -p» выведет общее время входа каждого пользователя в часах.
# ac -p
root 1645.18
sedicomm168.96
total 1814.14
Показать индивидуальное время пользователя
Чтобы получить общее время входа в систему пользователя «sedicomm» в часах, используйте команду так:
# ac sedicomm
total 168.96
Отображение дневного времени входа пользователя
Следующая команда выведет общее дневное время входа пользователя «sedicomm» в часах.
# ac -d sedicomm
Oct 11 total 8.01
Oct 12 total 24.00
Oct 15 total 70.50
Oct 16 total 23.57
Oct 17 total 24.00
Oct 18 total 18.70
Nov 20 total 0.18
Вывод всей информации об учетной записи
Команда «sa» используется для вывода сводки команд, которые были выполнены пользователями.
# sa
2 9.86re 0.00cp 2466k sshd*
8 1.05re 0.00cp 1064k man
2 10.08re 0.00cp 2562k sshd
12 0.00re 0.00cp 1298k psacct
2 0.00re 0.00cp 1575k troff
14 0.00re 0.00cp 503k ac
10 0.00re 0.00cp 1264k psacct*
10 0.00re 0.00cp 466k consoletype
9 0.00re 0.00cp 509k sa
8 0.02re 0.00cp 769k udisks-helper-a
6 0.00re 0.00cp 1057k touch
6 0.00re 0.00cp 592k gzip
6 0.00re 0.00cp 465k accton
4 1.05re 0.00cp 1264k sh*
4 0.00re 0.00cp 1264k nroff*
2 1.05re 0.00cp 1264k sh
2 1.05re 0.00cp 1120k less
2 0.00re 0.00cp 1346k groff
2 0.00re 0.00cp 1383k grotty
2 0.00re 0.00cp 1053k mktemp
2 0.00re 0.00cp 1030k iconv
2 0.00re 0.00cp 1023k rm
2 0.00re 0.00cp 1020k cat
2 0.00re 0.00cp 1018k locale
2 0.00re 0.00cp 802k gtbl
Где:
- 9.86re — «реальное время» по минутам настенных часов
- 0.01cp — сумма системного/пользовательского времени в минутах процессора
- 2466k — это усредненное по времени процессорное использование ядра, т. Е. 1 тыс. Единиц
- sshd — имя команды
Вывести индивидуальную информацию о пользователе
Чтобы получить информацию об отдельном пользователе, используйте опции -u.
# sa -u
root 0.00 cpu 465k mem accton
root 0.00 cpu 1057k mem touch
root 0.00 cpu 1298k mem psacct
root 0.00 cpu 466k mem consoletype
root 0.00 cpu 1264k mem psacct *
root 0.00 cpu 1298k mem psacct
root 0.00 cpu 466k mem consoletype
root 0.00 cpu 1264k mem psacct *
root 0.00 cpu 1298k mem psacct
root 0.00 cpu 466k mem consoletype
root 0.00 cpu 1264k mem psacct *
root 0.00 cpu 465k mem accton
root 0.00 cpu 1057k mem touch
Вывод количества процессов
Эта команда печатает общее количество процессов и минут процессора. Если вы видите продолжение увеличения этих чисел, то пора посмотреть в систему о том, что происходит.
# sa -m
sshd 2 9.86re 0.00cp 2466k
root 127 14.29re 0.00cp 909k
Вывод сортировки по процентам
Команда «sa -c» отображает самый высокий процент пользователей.
# sa -c
132 100.00% 24.16re 100.00% 0.01cp 100.00% 923k
2 1.52% 9.86re 40.83% 0.00cp 53.33% 2466k sshd*
8 6.06% 1.05re 4.34% 0.00cp 20.00% 1064k man
2 1.52% 10.08re 41.73% 0.00cp 13.33% 2562k sshd
12 9.09% 0.00re 0.01% 0.00cp 6.67% 1298k psacct
2 1.52% 0.00re 0.00% 0.00cp 6.67% 1575k troff
18 13.64% 0.00re 0.00% 0.00cp 0.00% 509k sa
14 10.61% 0.00re 0.00% 0.00cp 0.00% 503k ac
10 7.58% 0.00re 0.00% 0.00cp 0.00% 1264k psacct*
10 7.58% 0.00re 0.00% 0.00cp 0.00% 466k consoletype
8 6.06% 0.02re 0.07% 0.00cp 0.00% 769k udisks-helper-a
6 4.55% 0.00re 0.00% 0.00cp 0.00% 1057k touch
6 4.55% 0.00re 0.00% 0.00cp 0.00% 592k gzip
6 4.55% 0.00re 0.00% 0.00cp 0.00% 465k accton
4 3.03% 1.05re 4.34% 0.00cp 0.00% 1264k sh*
4 3.03% 0.00re 0.00% 0.00cp 0.00% 1264k nroff*
2 1.52% 1.05re 4.34% 0.00cp 0.00% 1264k sh
2 1.52% 1.05re 4.34% 0.00cp 0.00% 1120k less
2 1.52% 0.00re 0.00% 0.00cp 0.00% 1346k groff
2 1.52% 0.00re 0.00% 0.00cp 0.00% 1383k grotty
2 1.52% 0.00re 0.00% 0.00cp 0.00% 1053k mktemp
Список последних выполненных команд пользователя
Команда «latcomm» используется для поиска и отображения информации о ранее выполненных пользовательских командах. Вы также можете искать команды отдельных имен пользователей. Например, мы видим команды пользователя (sedicomm).
# lastcomm sedicomm
su sedicomm pts/0 0.00 secs Wed Feb 13 15:56
ls sedicomm pts/0 0.00 secs Wed Feb 13 15:56
ls sedicomm pts/0 0.00 secs Wed Feb 13 15:56
ls sedicomm pts/0 0.00 secs Wed Feb 13 15:56
bash F sedicomm pts/0 0.00 secs Wed Feb 13 15:56
id sedicomm pts/0 0.00 secs Wed Feb 13 15:56
grep sedicomm pts/0 0.00 secs Wed Feb 13 15:56
grep sedicomm pts/0 0.00 secs Wed Feb 13 15:56
bash F sedicomm pts/0 0.00 secs Wed Feb 13 15:56
dircolors sedicomm pts/0 0.00 secs Wed Feb 13 15:56
bash F sedicomm pts/0 0.00 secs Wed Feb 13 15:56
tput sedicomm pts/0 0.00 secs Wed Feb 13 15:56
tty sedicomm pts/0 0.00 secs Wed Feb 13 15:56
bash F sedicomm pts/0 0.00 secs Wed Feb 13 15:56
id sedicomm pts/0 0.00 secs Wed Feb 13 15:56
bash F sedicomm pts/0 0.00 secs Wed Feb 13 15:56
id sedicomm pts/0 0.00 secs Wed Feb 13 15:56
Поиск журналов для команд
С помощью команды lastcomm вы сможете просмотреть индивидуальное использование каждой команды.
# lastcomm ls
ls sedicomm pts/0 0.00 secs Wed Feb 13 15:56
ls sedicomm pts/0 0.00 secs Wed Feb 13 15:56
ls sedicomm pts/0 0.00 secs Wed Feb 13 15:56
Спасибо за уделенное время на прочтение статьи! Также советуем вам статью о лучших командах Linux.
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.