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.

  1. komanda ac printon statistikat e hyrjeve/daljeve të përdoruesve (koha e lidhjes) në orë.
  2. komanda lastcomm printon informacionin e komandave të ekzekutuara më parë të përdoruesit.
  3. komandat accton përdoren për të ndezur/fikur procesin për kontabilitet.
  4. sa komanda përmbledh informacionin e komandave të ekzekutuara më parë.
  5. 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

  1. 9,86re është një kohë reale sipas minutave të orës së murit
  2. 0.01cp është shuma e kohës së sistemit/përdoruesit në minuta CPU
  3. 2466k është një përdorim bazë mesatarisht në kohë CPU, d.m.th. 1k njësi
  4. 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