Si të monitoroni aktivitetin e përdoruesit me mjetet psacct ose acct
psacct ose acct të dyja janë aplikacion me burim të hapur për monitorimin e aktiviteteve të përdoruesve në sistem. Këto aplikacione funksionojnë në sfond dhe mbajnë gjurmët e çdo aktiviteti të përdoruesve në sistemin tuaj, si dhe çfarë burimesh janë duke u konsumuar.
Unë personalisht e kam përdorur këtë program në kompaninë tonë, ne kemi një ekip zhvillimi ku zhvilluesit tanë punojnë vazhdimisht në serverë. Pra, ky është një nga programet më të mira për t'i mbajtur një sy në to. Ky program ofron një mënyrë të shkëlqyeshme për të monitoruar se çfarë po bëjnë përdoruesit, çfarë komandash po gjuajnë, sa burime po konsumohen prej tyre, sa kohë përdoruesit janë aktivë në sistem. Një veçori tjetër e shkëlqyeshme e këtij programi është se jep burime totale të konsumuara nga shërbime si Apache, MySQL, FTP, SSH etj.
Unë mendoj se ky është një nga aplikacionet më të mëdha dhe të nevojshme për çdo Administrator të Sistemit Linux/Unix, të cilët dëshironin të mbanin një gjurmë të aktiviteteve të përdoruesve në serverët/sistemet e tyre.
Paketa psacct ose acct ofron disa veçori për monitorimin e aktiviteteve të procesit.
- komanda ac printon statistikat e hyrjeve/daljeve të përdoruesve (koha e lidhjes) në orë.
- komanda lastcomm printon informacionin e komandave të ekzekutuara më parë të përdoruesit.
- komandat accton përdoren për të ndezur/fikur procesin për kontabilitet.
- sa komanda përmbledh informacionin e komandave të ekzekutuara më parë.
- komandat e fundit dhe e fundit tregojnë listën e përdoruesve të regjistruar të fundit.
Instalimi i paketave psacct ose acct
psacct ose acct të dyja janë paketa të ngjashme dhe nuk ka shumë ndryshim midis tyre, por paketa psacct disponohet vetëm për shpërndarjet e bazuara në rpm si RHEL, CentOS dhe Fedora, ndërsa paketa acct disponohet për shpërndarje si Ubuntu, Debian dhe Linux Mint.
Për të instaluar paketën psacct nën shpërndarjet e bazuara në rpm, lëshoni komandën e mëposhtme yum.
# yum install psacct
Për të instaluar paketën acct duke përdorur komandën apt-get nën Ubuntu/Debian/Linux Mint.
$ sudo apt-get install acct
OR
# apt-get install acct
Si parazgjedhje, shërbimi psacct është në modalitetin e çaktivizuar dhe duhet ta nisni manualisht nën sistemet RHEL/CentOS/Fedora. Përdorni komandën e mëposhtme për të kontrolluar statusin e shërbimit.
# /etc/init.d/psacct status
Process accounting is disabled.
Ju e shihni statusin që shfaqet si i paaftë, kështu që le ta fillojmë manualisht duke përdorur të dyja komandat e mëposhtme. Këto dy komanda do të krijojnë një skedar /var/account/pacct dhe do të nisin shërbimet.
# chkconfig psacct on
# /etc/init.d/psacct start
Starting process accounting: [ OK ]
Pas fillimit të shërbimit, kontrolloni përsëri statusin, do të merrni statusin siç është aktivizuar siç tregohet më poshtë.
# /etc/init.d/psacct status
Process accounting is enabled.
Nën shërbimin Ubuntu, Debian dhe Mint fillon automatikisht, nuk keni nevojë ta rifilloni përsëri.
Komanda ac pa specifikuar asnjë argument do të shfaqë statistikat totale të kohës së lidhjes në orë bazuar në hyrjet/daljet e përdoruesit nga skedari aktual wtmp.
# ac
total 1814.03
Përdorimi i komandës ac -d do të printojë kohën totale të hyrjes në orë në ditë.
# 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
Përdorimi i komandës ac -p do të printojë kohën totale të hyrjes së secilit përdorues në orë.
# ac -p
root 1645.18
tecmint 168.96
total 1814.14
Për të marrë kohën totale të statistikave të hyrjes së përdoruesit tecmint në orë, përdorni komandën as.
# ac tecmint
total 168.96
Komanda e mëposhtme do të printojë kohën totale të hyrjes në ditë të përdoruesit tecmint në orë.
# 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 përdoret për të printuar përmbledhjen e komandave që janë ekzekutuar nga përdoruesit.
# 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 është një kohë reale sipas minutave të orës së murit
- 0.01cp është shuma e kohës së sistemit/përdoruesit në minuta CPU
- 2466k është një përdorim bazë mesatarisht në kohë CPU, d.m.th. 1k njësi
- emri i komandës sshd
Për të marrë informacionin e një përdoruesi individual, përdorni opsionet -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
Kjo komandë printon numrin total të proceseve dhe minutat e CPU-së. Nëse shihni rritje të vazhdueshme të këtyre numrave, atëherë është koha të shikoni në sistem se çfarë po ndodh.
# sa -m
sshd 2 9.86re 0.00cp 2466k
root 127 14.29re 0.00cp 909k
Komanda sa -c shfaq përqindjen më të lartë të përdoruesve.
# 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' përdoret për të kërkuar dhe shfaqur informacionin e komandave të përdoruesve të ekzekutuara më parë. Ju gjithashtu mund të kërkoni komandat e emrave individualë të përdoruesve. Për shembull, ne shohim komandat e përdoruesit (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
Me ndihmën e komandës lastcomm do të mund të shikoni përdorimin individual të çdo komande.
# 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