psacct или акц и двете са помощни програми с отворен код за наблюдение на дейностите на потребителите в системата Linux. Тези помощни програми работят във фонов режим и следят дейността на всеки потребител във вашата система, както и какви ресурси се консумират.
Аз лично използвах тези инструменти в нашата компания, имаме екип за разработка, където нашите разработчици непрекъснато работят върху сървъри. И така, това са най-добрите помощни програми, за да ги държите под око.
Тези програми предоставят отличен начин за наблюдение какво правят потребителите, какви команди изпълняват, колко ресурси се консумират от тях и колко време потребителите са активни в системата. Друга полезна функция е, че дава общите ресурси, консумирани от услуги като Apache, MySQL, FTP, SSH и др.
[ You might also like: How to Monitor Linux Commands Executed by System Users in Real-time ]
Мисля, че това е една от страхотните и най-необходими помощни програми за всеки Linux/Unix системен администратор, който иска да следи дейностите на потребителите на своите сървъри/системи.
The psacct или акц Пакетът предоставя няколко функции за наблюдение на процесните дейности.
- ак командата отпечатва статистиката на потребителските влизания/излизания (време за свързване) в часове.
- lastcomm командата отпечатва информацията за предишни изпълнени команди на потребителя.
- accton команди се използва за включване/изключване на процес за счетоводство.
- На командата обобщава информацията за предишни изпълнени команди.
- последно и последноб командите показват списък с последните влезли потребители.
Инсталиране на psacct или acct пакети в Linux
psacct и акц и двата са подобни пакети и няма голяма разлика между тях, но psacct пакетът е достъпен само за базирани на rpm дистрибуции като RHEL, CentOS, и Fedoraкато има предвид, че акц пакетът е наличен за дистрибуции като Ubuntu, Дебиан, и Linux Mint.
За да инсталирате psacct пакет под базирани на rpm дистрибуции издайте следната команда yum.
# yum install psacct
За да инсталирате акц пакет с помощта на командата apt под Ubuntu / Debian / Linux Mint.
$ sudo apt install acct
В други дистрибуции на Linux можете да го инсталирате, както е показано.
$ sudo apk add psacct [On Alpine Linux] $ sudo pacman -S acct [On Arch Linux] $ sudo zypper install acct [On OpenSUSE]
Стартиране на услуга psacct или acct
По подразбиране, psacct услугата е в деактивиран режим и трябва да я стартирате ръчно под базирани на RHEL дистрибуции. Използвайте следната команда, за да проверите състоянието на услугата.
$ sudo systemctl status psacct
Виждате, че състоянието се показва като забранено, така че нека го стартираме ръчно, като използваме следните команди, които ще създадат /var/account/pacct файл.
$ sudo systemctl start psacct $ sudo systemctl enable psacct $ sudo systemctl status psacct

Под Ubuntu, Дебиан, и Мента услугата се стартира автоматично, не е необходимо да я стартирате отново.
Показване на статистика за времето за свързване на потребителите
ак командата без посочване на аргумент ще покаже общата статистика за времето за свързване в часове въз основа на потребителските влизания/излизания от текущия wtmp файл.
# ac total 11299.15

Показване на статистика на потребителите на Linux през деня
С помощта на командата „и -d” ще отпечата общото време за влизане в часове по дни.
# ac -d Jun 25 total 0.19 Oct 13 total 14.45 Oct 27 total 672.00 Oct 28 total 15.82 Nov 3 total 4.29 Nov 5 total 10.13 Dec 7 total 14.04 Dec 10 total 23.60 Dec 27 total 808.93 Jan 3 total 12.31 Mar 3 total 1438.67 Jul 22 total 6767.81 Today total 1517.09

Показване на общото време за влизане на всички потребители на Linux
С помощта на командата „и -p” ще отпечата общото време за влизане на всеки потребител на Linux в часове.
# ac -p rockylinux 425.61 tecmint 702.29 root 10171.54 total 11299.44

Показване на времето за влизане на потребителя в Linux
За да получите общото статистическо време за влизане на потребителя „tecmint” в часове, използвайте командата as.
# ac tecmint
total 702.29
Показване на деня за влизане на потребителя
Следната команда ще отпечата общото време за влизане за деня на потребителя “tecmint“ след часове.
# ac -d tecmint
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
Отпечатайте всички Linux команди, изпълнени от потребители
„На” се използва за отпечатване на обобщението на командите, които са били изпълнени от потребителите.
# 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 име на командата
Отпечатайте информация за потребителя на Linux
За да получите информация за отделен потребител, използвайте опциите -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
Отпечатайте броя на Linux процесите
Тази команда отпечатва общия брой процеси и процесорни минути. Ако видите непрекъснато увеличение на тези числа, значи е време да погледнете в системата какво се случва.
# sa -m
sshd 2 9.86re 0.00cp 2466k root 127 14.29re 0.00cp 909k
Отпечатайте и сортирайте използването по процент
Командата „в -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‘ се използва за търсене и показване на информация за предварително изпълнена потребителска команда. Можете също да търсите команди на отделни потребителски имена. Например виждаме команди на потребителя (tecmint).
# lastcomm tecmint
su tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 id tecmint pts/0 0.00 secs Wed Feb 13 15:56 grep tecmint pts/0 0.00 secs Wed Feb 13 15:56 grep tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 dircolors tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 tput tecmint pts/0 0.00 secs Wed Feb 13 15:56 tty tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 id tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 id tecmint pts/0 0.00 secs Wed Feb 13 15:56
Търсете регистрационни файлове за команди
С помощта на lastcomm команда, ще можете да видите индивидуалното използване на всяка команда.
# lastcomm ls
ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56
За повече информация и използване вижте страниците с ръководство за тези инструменти.
Публикациите се превеждат автоматично с google translate