Belge

psacct veya acct Araçları ile Linux Kullanıcıları Nasıl İzlenir

psacct veya acct her ikisi de, kullanıcıların Linux sistemindeki etkinliklerini izlemek için açık kaynaklı yardımcı programlardır. Bu yardımcı programlar arka planda çalışır ve her kullanıcının sisteminizdeki etkinliğinin yanı sıra hangi kaynakların tüketildiğini takip eder.

Bu programlar, kullanıcıların ne yaptığını, hangi komutları yürüttüklerini, onlar tarafından ne kadar kaynak tüketildiğini ve kullanıcıların sistemde ne kadar süre aktif olduğunu izlemek için mükemmel bir yol sağlar. Bir başka kullanışlı özellik ise Apache, MySQL, FTP, SSH vb. hizmetler tarafından tüketilen toplam kaynakları vermesidir.

Bence bu, sunucularında/sistemlerinde kullanıcı etkinliklerini takip etmek isteyen her Linux/Unix Sistem Yöneticisi için harika ve en çok ihtiyaç duyulan araçlardan biridir.

psacct veya acct paketi, süreç etkinliklerini izlemek için çeşitli özellikler sağlar.

  • ac komutu, kullanıcı oturum açma/oturum kapatma (bağlanma süresi) istatistiklerini saat cinsinden yazdırır.
  • lastcomm komutu, kullanıcının daha önce yürütülen komutlarının bilgilerini yazdırır.
  • accton komutları, hesap işlemlerini açmak/kapatmak için kullanılır.
  • sa komutu, daha önce yürütülen komutların bilgilerini özetler.
  • last ve lastb komutları, son oturum açan kullanıcıların bir listesini gösterir.

Linux’ta psacct veya acct Paketlerini Kurma

psacct ve acct her ikisi de benzer paketlerdir ve aralarında çok fazla fark yoktur, ancak psacct paketi yalnızca RHEL, CentOS ve Fedora gibi rpm tabanlı dağıtımlar için kullanılabilirken, acct paketi Ubuntu, Debian gibi dağıtımlar için kullanılabilir.

psacct paketini rpm tabanlı dağıtımlar altında kurmak için aşağıdaki yum komutunu verin.

# yum install psacct

acct paketini Ubuntu / Debian / Linux Mint altında apt komutunu kullanarak kurmak için.

$ sudo apt install acct

Diğer Linux dağıtımlarında gösterildiği gibi kurabilirsiniz.

$ sudo apk add psacct          [On Alpine Linux]
$ sudo pacman -S acct          [On Arch Linux]
$ sudo zypper install acct     [On OpenSUSE]    
psacct veya acct hizmetini başlatma

Varsayılan olarak, psacct hizmeti devre dışı moddadır ve RHEL tabanlı dağıtımlar altında manuel olarak başlatmanız gerekir. Hizmetin durumunu kontrol etmek için aşağıdaki komutu kullanın.

$ sudo systemctl status psacct

Durumun devre dışı olarak gösterildiğini görüyorsunuz, bu yüzden bir /var/account/pacct dosyası oluşturacak olan aşağıdaki komutları kullanarak manuel olarak başlatalım.

$ sudo systemctl start psacct
$ sudo systemctl enable psacct
$ sudo systemctl status psacct
Start psacct Service
Start psacct Service

Ubuntu altında, Debian ve Mint hizmeti otomatik olarak başlatılır, tekrar başlatmanıza gerek yoktur.

Kullanıcıların Bağlantı Süresi İstatistiklerini Görüntüleme

ac komutu, herhangi bir argüman belirtmeden, mevcut wtmp dosyasındaki kullanıcı oturum açma/çıkışlarına bağlı olarak, saat cinsinden toplam bağlantı süresi istatistiklerini görüntüler.

# ac

total     11299.15
Print Total Connect Time of Linux User
Print Total Connect Time of Linux User

Linux Kullanıcılarının Günlük İstatistiklerini Görüntüleme

“ac -d” komutunu kullanmak, toplam oturum açma süresini gün bazında saat olarak yazdıracaktır.

# ac -d

Jun 25	total        0.19
Oct 13	total       14.45
Oct 27	total      672.00
Oct 28	total       15.82
Nov  3	total        4.29
Nov  5	total       10.13
Dec  7	total       14.04
Dec 10	total       23.60
Dec 27	total      808.93
Jan  3	total       12.31
Mar  3	total     1438.67
Jul 22	total     6767.81
Today	total     1517.09
Print Linux User Total Login Time
Print Linux User Total Login Time

Tüm Linux Kullanıcılarının Toplam Oturum Açma Süresini Görüntüleme

“ac -p” komutunun kullanılması, her Linux kullanıcısının toplam oturum açma süresini saat olarak yazdıracaktır.

# ac -p

	rockylinux                         425.61
	tecmint                            702.29
	root                             10171.54
	total    11299.44
Print Total Login Time of Users
Print Total Login Time of Users

Linux Kullanıcı Oturum Açma Zamanını Görüntüleme

“tecmint” kullanıcısının toplam oturum açma istatistiklerini saat cinsinden almak için, as komutunu kullanın.

# ac tecmint
 total      702.29

Kullanıcının Günlük Oturum Açma Saatini Görüntüleme

Aşağıdaki komut, “tecmint” kullanıcısının günlük toplam oturum açma süresini saat olarak yazdıracaktır.

# 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

Print All Linux Commands Executed by Users

Kullanıcılar Tarafından Yürütülen Tüm Linux Komutlarını Yazdır

# 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

Yukarıdaki komut çıktısının açıklaması:

  • 9.86re, duvar saati dakikalarına göre “gerçek zamanlı”dır
  • 0.01cp, sistem/kullanıcı süresinin işlemci dakikası cinsinden toplamıdır
  • 2466k, işlemci zamanı ortalama çekirdek kullanımıdır, yani 1k birim
  • sshd komut adı

Linux Kullanıcı Bilgilerini Yazdır

Bireysel bir kullanıcının bilgilerini almak için -u seçeneklerini kullanın.

# 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

Linux İşlemlerinin Sayısını Yazdır

Bu komut, toplam işlem sayısını ve CPU dakikasını yazdırır. Bu sayılarda sürekli bir artış görüyorsanız, neler olup bittiği hakkında sisteme bakmanın zamanı gelmiştir.

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

Yazdırma ve Kullanımı Yüzdeye Göre Sıralama

“sa -c” komutu en yüksek kullanıcı yüzdesini gösterir.

# 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

Kullanıcının Son Yürütülen Komutlarını Listeleme

‘lastcomm’ komutu, önceden yürütülen komut bilgilerini aramak ve görüntülemek için kullanılır. Ayrıca bireysel kullanıcı adlarının komutlarını da arayabilirsiniz. Örneğin, kullanıcının komutlarını görüyoruz (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

Komutlar için Arama Günlükleri

Lastcomm komutunun yardımıyla, her komutun bireysel kullanımını görebileceksiniz.

# 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

Daha fazla bilgi ve kullanım için bu araçların kılavuz sayfalarına bakın.

Yazının orijinalini buradan okuyabilirsiniz.