Kuinka seurata käyttäjän toimintaa psacct- tai acct-työkaluilla
psacct tai acct ovat molemmat avoimen lähdekoodin sovelluksia käyttäjien toiminnan seurantaan järjestelmässä. Nämä sovellukset toimivat taustalla ja pitävät kirjaa jokaisesta käyttäjän toiminnasta järjestelmässäsi sekä siitä, mitä resursseja kulutetaan.
Käytin henkilökohtaisesti tätä ohjelmaa yrityksessämme, meillä on kehitystiimi, jossa kehittäjämme työskentelevät jatkuvasti palvelimilla. Joten, tämä on yksi parhaista ohjelmista pitää silmällä niitä. Tämä ohjelma tarjoaa erinomaisen tavan seurata, mitä käyttäjät tekevät, mitä komentoja he käynnistävät, kuinka paljon resursseja he kuluttavat, kuinka kauan käyttäjät ovat aktiivisia järjestelmässä. Toinen tämän ohjelman hieno ominaisuus on se, että se antaa palvelujen kuten Apache, MySQL, FTP, SSH jne.
Mielestäni tämä on yksi suurimmista ja välttämättömistä sovelluksista jokaiselle Linux/Unix-järjestelmänvalvojalle, joka halusi seurata käyttäjien toimintaa palvelimillaan/järjestelmissään.
Psacct- tai acct-paketti tarjoaa useita ominaisuuksia prosessitoimintojen seurantaan.
- ac-komento tulostaa käyttäjien kirjautumisten/uloskirjautumisten tilat (yhteyden aika) tunteina.
- lastcomm-komento tulostaa käyttäjän aiemmin suoritettujen komentojen tiedot.
- accton-komentoja käytetään prosessin kytkemiseen päälle/pois päältä kirjanpidossa.
- sa-komento sisältää yhteenvedon aiemmin suoritetuista komennoista.
- last ja lastb -komennot näyttävät viimeksi kirjautuneiden käyttäjien luettelon.
Psacct- tai acct-pakettien asentaminen
psacct tai acct ovat molemmat samanlaisia paketteja, eikä niiden välillä ole paljon eroja, mutta psacct-paketti on saatavana vain rpm-pohjaisiin jakeluihin, kuten RHEL, CentOS ja Fedora, kun taas acct-paketti on saatavana jakeluille, kuten Ubuntu, Debian ja Linux Mint.
Asenna psacct-paketti rpm-pohjaisiin jakeluihin antamalla seuraava yum-komento.
# yum install psacct
Asenna acct-paketti apt-get -komennolla Ubuntu/Debian/Linux Mint -kohdassa.
$ sudo apt-get install acct OR # apt-get install acct
Oletuksena psacct-palvelu on poissa käytöstä ja se on käynnistettävä manuaalisesti RHEL/CentOS/Fedora-järjestelmissä. Käytä seuraavaa komentoa palvelun tilan tarkistamiseen.
# /etc/init.d/psacct status Process accounting is disabled.
Näet tilan olevan poistettu käytöstä, joten aloitetaan se manuaalisesti seuraavilla molemmilla komennoilla. Nämä kaksi komentoa luovat/var/account/pacct-tiedoston ja käynnistävät palvelut.
# chkconfig psacct on # /etc/init.d/psacct start Starting process accounting: [ OK ]
Kun olet aloittanut palvelun, tarkista tila uudelleen, saat tilan käyttöön sallittuina alla olevan kuvan mukaisesti.
# /etc/init.d/psacct status Process accounting is enabled.
Ubuntun alla Debian ja Mint -palvelu käynnistetään automaattisesti, sinun ei tarvitse käynnistää sitä uudelleen.
ac-komento määrittelemättä mitään argumenttia näyttää yhdistämisaikojen kokonaistilastot tunteina nykyisen wtmp-tiedoston käyttäjän kirjautumisten/uloskirjautumisten perusteella.
# ac
total 1814.03
Komennon "ac -d" avulla tulostetaan sisäänkirjautumisen kokonaisaika tunneissa päivittäin.
# 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
Komennolla “ac -p” tulostetaan kunkin käyttäjän sisäänkirjautumisaika tunteina.
# ac -p
root 1645.18 tecmint 168.96 total 1814.14
Saadaksesi käyttäjän “tecmint” kirjautumistilastojen kokonaisajan tunneissa, käytä komentoa nimellä.
# ac tecmint
total 168.96
Seuraava komento tulostaa käyttäjän ”tecmint” sisäänkirjautumisen kokonaispäivän päivittäin tunteina.
# 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
“Sa” -komentoa käytetään tulostamaan yhteenveto komennoista, jotka käyttäjät suorittivat.
# 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 on "reaaliaikainen" seinäkellominuuttien mukaan
- 0,01 cp on summa järjestelmän/käyttäjän ajasta CPU-minuutteina
- 2466k on prosessorin ajan keskimääräinen ydinkäyttö, ts. 1k yksikköä
- sshd-komennon nimi
Saadaksesi yksittäisen käyttäjän tiedot, käytä asetuksia -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
Tämä komento tulostaa prosessien kokonaismäärän ja suorittimen minuutit. Jos huomaat näiden lukujen lisääntyvän jatkuvasti, on aika tutkia järjestelmää siitä, mitä tapahtuu.
# sa -m
sshd 2 9.86re 0.00cp 2466k root 127 14.29re 0.00cp 909k
Komento “sa -c” näyttää eniten käyttäjiä.
# 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-komentoa käytetään etsimään ja näyttämään aiemmin suoritettuja käyttäjän komentoja koskevia tietoja. Voit myös etsiä yksittäisten käyttäjänimien komentoja. Esimerkiksi näemme käyttäjän komennot (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-komennon avulla voit tarkastella kunkin komennon yksilöllistä käyttöä.
# 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