Kā pārraudzīt lietotāju darbību, izmantojot psacct vai acct rīkus
psacct vai acct abi ir atvērtā pirmkoda lietojumprogramma lietotāju darbību uzraudzībai sistēmā. Šīs lietojumprogrammas darbojas fonā un seko līdzi katrai lietotāju darbībai jūsu sistēmā, kā arī tam, kādi resursi tiek patērēti.
Es personīgi izmantoju šo programmu mūsu uzņēmumā, mums ir izstrādes komanda, kurā mūsu izstrādātāji nepārtraukti strādā pie serveriem. Tātad, šī ir viena no labākajām programmām, kas ļauj tām sekot. Šī programma nodrošina lielisku veidu, kā uzraudzīt, ko lietotāji dara, kādas komandas viņi izšauj, cik daudz resursu viņi patērē, cik ilgi lietotāji ir aktīvi sistēmā. Vēl viena lieliska šīs programmas iezīme ir tā, ka tiek piešķirti kopējie resursi, ko patērē tādi pakalpojumi kā Apache, MySQL, FTP, SSH utt.
Es domāju, ka šī ir viena no lieliskajām un nepieciešamajām lietojumprogrammām katram Linux/Unix sistēmas administratoram, kurš vēlējās sekot līdzi lietotāju darbībām savos serveros/sistēmās.
Psacct vai acct pakotne nodrošina vairākas procesa darbību uzraudzības funkcijas.
- ac komanda drukā lietotāju pieteikšanās/atteikšanās statistiku (savienojuma laiks) stundās.
- komanda lastcomm izdrukā informāciju par iepriekš izpildītām lietotāja komandām.
- Accton komandas tiek izmantotas, lai ieslēgtu/izslēgtu grāmatvedības procesu.
- sa komanda apkopo informāciju par iepriekš izpildītajām komandām.
- komandas lastb un lastb parāda pēdējo reģistrēto lietotāju sarakstu.
Psacct vai acct pakotņu instalēšana
psacct vai acct abas ir līdzīgas paketes, un starp tām nav daudz atšķirību, taču psacct pakotne ir pieejama tikai uz rpm balstītiem izplatījumiem, piemēram, RHEL, CentOS un Fedora, savukārt acct pakete ir pieejama izplatīšanai, piemēram, Ubuntu, Debian un Linux Mint.
Lai instalētu paketi psacct zem izplatīšanas uz rpm, izdodiet šādu komandu yum.
# yum install psacct
Lai instalētu ACCT pakotni, izmantojot komandu apt-get zem Ubuntu/Debian/Linux Mint.
$ sudo apt-get install acct OR # apt-get install acct
Pēc noklusējuma psacct pakalpojums ir atspējots režīmā, un jums tas jāsāk manuāli RHEL/CentOS/Fedora sistēmās. Izmantojiet šo komandu, lai pārbaudītu pakalpojuma statusu.
# /etc/init.d/psacct status Process accounting is disabled.
Jūs redzat, ka statuss ir atspējots, tāpēc sāksim to manuāli, izmantojot abas šīs komandas. Šīs divas komandas izveidos failu/var/account/pacct un sāks pakalpojumus.
# chkconfig psacct on # /etc/init.d/psacct start Starting process accounting: [ OK ]
Pēc servisa palaišanas vēlreiz pārbaudiet statusu, jūs saņemsit statusu kā iespējotu, kā parādīts zemāk.
# /etc/init.d/psacct status Process accounting is enabled.
Izmantojot Ubuntu, pakalpojums Debian un Mint tiek startēts automātiski, tas nav jāsāk no jauna.
ac komanda, nenorādot nevienu argumentu, parādīs kopējo savienojuma laika statistiku stundās, pamatojoties uz lietotāja pieteikšanās/atteikšanās no pašreizējā wtmp faila palīdzību.
# ac
total 1814.03
Izmantojot komandu “ac -d”, dienas kārtībā tiks izdrukāts kopējais pieteikšanās laiks stundās.
# 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
Izmantojot komandu “ac -p”, katra lietotāja kopējais pieteikšanās laiks tiks izdrukāts stundās.
# ac -p
root 1645.18 tecmint 168.96 total 1814.14
Lai iegūtu lietotāja “tecmint” kopējo pieteikšanās statistikas laiku stundās, izmantojiet komandu kā.
# ac tecmint
total 168.96
Šī komanda izdrukās kopējo lietotāja “tecmint” pieteikšanās laiku stundās.
# 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
Komanda “sa” tiek izmantota, lai izdrukātu lietotāju izpildīto komandu kopsavilkumu.
# 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 ir “reālais laiks” atbilstoši sienas pulksteņa minūtēm
- 0,01kp ir sistēmas/lietotāja laika summa CPU minūtēs
- 2466k ir procesora laika vidējais kodola lietojums, t.i., 1k vienības
- sshd komandas nosaukums
Lai iegūtu atsevišķa lietotāja informāciju, izmantojiet opcijas -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
Šī komanda izdrukā kopējo procesu skaitu un CPU minūtes. Ja redzat, ka šo skaitļu skaits turpina pieaugt, ir pienācis laiks ieskatīties sistēmā par notiekošo.
# sa -m
sshd 2 9.86re 0.00cp 2466k root 127 14.29re 0.00cp 909k
Komanda “sa -c” parāda vislielāko lietotāju procentuālo daudzumu.
# 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
Komanda ‘latcomm’ tiek izmantota, lai meklētu un parādītu iepriekš izpildītu lietotāju komandu informāciju. Varat arī meklēt atsevišķu lietotājvārdu komandas. Piemēram, mēs redzam lietotāja komandas (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
Ar komandas lastcomm palīdzību jūs varēsiet apskatīt katras komandas individuālu lietošanu.
# 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