Wéi Monitor Benotzeraktivitéit mat psacct oder acct Tools


psacct oder acct béid sinn Open Source Applikatioun fir d'Benotzeraktivitéiten um System ze iwwerwaachen. Dës Uwendunge lafen am Hannergrond a verfollegen all Benotzeraktivitéit op Ärem System wéi och wéi eng Ressourcen verbraucht ginn.

Ech perséinlech hunn dëse Programm an eiser Firma benotzt, mir hunn Entwécklungsteam wou eis Entwéckler kontinuéierlech op Serveren schaffen. Also, dëst ass ee vun de beschte Programm fir en Aa op se ze halen. Dëse Programm bitt en exzellente Wee fir ze iwwerwaachen wat d'Benotzer maachen, wéi eng Befehle si schéissen, wéi vill Ressourcen vun hinnen verbraucht ginn, wéi laang d'Benotzer um System aktiv sinn. Eng aner super Feature vun dësem Programm ass et gëtt total Ressourcen verbraucht vu Servicer wéi Apache, MySQL, FTP, SSH etc.

Ech mengen dat ass eng vun de groussen a muss néideg Applikatioun fir all Linux/Unix System Administrateuren, déi eng Streck vun Benotzer Aktivitéiten op hir Serveren/Systemer ze halen wollt.

De psacct oder acct Package bitt verschidde Funktiounen fir d'Iwwerwaachung vun Prozessaktivitéiten.

  1. ac-Kommando dréckt d'Statistike vu Benotzer-Logins/Logouts (Verbindungszäit) a Stonnen aus.
  2. lastcomm Kommando dréckt d'Informatioun vu virdru ausgefouerten Kommandoe vum Benotzer.
  3. accton Kommandoe gi benotzt fir de Prozess fir d'Rechnung auszeschalten.
  4. Sa Kommando resüméiert d'Informatioun vu virdrun ausgefouerten Kommandoen.
  5. Last a lastb Kommandoen weisen d'Lëscht vun de lescht ageloggte Benotzer.

Installatioun vun psacct oder acct Packagen

psacct oder acct béid sinn ähnlech Packagen an et ass net vill Ënnerscheed tëscht hinnen, awer de psacct Package ass nëmme verfügbar fir rpm baséiert Verdeelungen wéi RHEL, CentOS a Fedora, wärend acct Package verfügbar fir Distributiounen wéi Ubuntu, Debian a Linux Mint.

Fir psacct Package ënner rpm baséiert Verdeelungen z'installéieren, gitt de folgende yum Kommando aus.

# yum install psacct

Fir acct Package z'installéieren mam apt-get Kommando ënner Ubuntu/Debian/Linux Mint.

$ sudo apt-get install acct

OR

# apt-get install acct

Par défaut ass psacct Service am behënnerte Modus an Dir musst et manuell ënner RHEL/CentOS/Fedora Systemer starten. Benotzt de folgende Kommando fir de Status vum Service ze kontrolléieren.

# /etc/init.d/psacct status
Process accounting is disabled.

Dir gesitt de Status als behënnert gewisen, also loosst eis et manuell starten mat de folgende béid Kommandoen. Dës zwee Kommandoen erstellen eng /var/account/pacct Datei a starten Servicer.

# chkconfig psacct on
# /etc/init.d/psacct start
Starting process accounting:                               [  OK  ]

Nodeems de Service ugefaang huet, kontrolléiert de Status nach eng Kéier, Dir kritt de Status wéi aktivéiert wéi hei ënnendrënner.

# /etc/init.d/psacct status
Process accounting is enabled.

Ënner Ubuntu gëtt Debian a Mint Service automatesch gestart, Dir musst et net erëm ufänken.

ac Kommando ouni Argument ze spezifizéieren wäert total Statistike vun der Verbindungszäit a Stonnen op Basis vun de Benotzer Logins/Logouts vun der aktueller wtmp Datei weisen.

# ac
total     1814.03

Wann Dir de Kommando ac -d benotzt, dréckt d'total Loginzäit a Stonnen no Dag schlau aus.

# 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

Mat dem Kommando ac -p dréckt d'total Loginzäit vun all Benotzer a Stonnen aus.

# ac -p
        root                              1645.18
        tecmint                            168.96
        total     1814.14

Fir d'total Loginstatistik Zäit vum Benotzer tecmint a Stonnen ze kréien, benotzt de Kommando als.

# ac tecmint
 total      168.96

De folgende Kommando dréckt déi deeglech GesamtLoginzäit vum Benotzer tecmint a Stonnen aus.

# 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

De Kommando sa gëtt benotzt fir de Resumé vun de Kommandoen ze drécken, déi vun de Benotzer ausgefouert goufen.

# 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 ass eng Echtzäit wéi pro Wanduhr Minuten
  2. 0.01cp ass eng Zomm vun der System-/Benotzerzäit a CPU-Minuten
  3. 2466k ass eng CPU-Zäit duerchschnëttlech Kärverbrauch, dh 1k Eenheeten
  4. sshd Kommandonumm

Fir d'Informatioun vum individuellen Benotzer ze kréien, benotzt d'Optiounen -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

Dëse Kommando dréckt d'Gesamtzuel vu Prozesser an CPU-Minuten. Wann Dir eng weider Erhéijung vun dësen Zuelen gesitt, dann ass et Zäit fir an de System ze kucken wat geschitt.

# sa -m
sshd                                    2       9.86re       0.00cp     2466k
root                                  127      14.29re       0.00cp      909k

De Kommando sa -c weist den héchste Prozentsaz vun de Benotzer.

# 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

De Kommando 'latcomm' gëtt benotzt fir virdru ausgefouert Benotzerkommandoinformatioun ze sichen an ze weisen. Dir kënnt och Kommandoe vun eenzelne Benotzernimm sichen. Zum Beispill gesi mir Kommandoe vum Benotzer (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

Mat der Hëllef vum Lastcomm Kommando kënnt Dir individuell Notzung vun all Kommandoen gesinn.

# 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