Ada banyak aplikasi pemantauan untuk server, dan mereka telah melakukan banyak hal untuk membantu adopsi Linux dengan sysadmin yang tidak terbiasa dengan Terminal atau yang benar-benar membutuhkan representasi grafis data. Namun, Linux telah menjadi sistem multi-pengguna sejak awal, dan UNIX jauh sebelum itu, jadi ada alat bawaan yang kembali 40 tahun untuk membantu Anda memantau siapa yang masuk ke server Anda, siapa yang menggunakan sumber daya, dan untuk apa.
Anda tidak perlu menjadi paranoid atau bahkan usil untuk membenarkan mengawasi server yang telah menjadi tanggung jawab Anda. Paket psacct berisi beberapa perintah untuk mengumpulkan laporan terperinci tentang status dan aktivitas pengguna.
akton
Tidak semua perintah di acct
utilitas mengharuskan Anda mengaktifkan akuntansi, tetapi banyak yang melakukannya. Jika Anda ingin menggunakan acct
perintah, Anda harus mengaktifkan akuntansi dengan accton
perintah.
Untuk mengaktifkan:
$ sudo accton on
Secara default, catatan akuntansi disimpan di /var/account/pacct
. File ini mungkin bisa menjadi cukup besar, jadi gunakan logrotate
atau alat serupa untuk memastikan pengelolaan log yang tepat.
Untuk menonaktifkan akuntansi:
$ sudo accton off
ac
ac
perintah mencetak statistik tentang waktu koneksi. Jika Anda perlu mendapatkan gambaran umum tentang seberapa aktif pengguna pada suatu sistem, --individual-totals
pilihan menyediakan itu. Ini menghasilkan laporannya dalam hitungan jam berdasarkan login dan logout yang dicatat di /var/log/wtmp
berkas.
File akuntansi wtmp
dikelola oleh init(8)
dan login(1)
tetapi tidak juga ac
atau login
benar-benar membuat file. Jika wtmp
tidak ada, maka tidak ada laporan yang dihasilkan, tetapi Anda dapat mengarahkan ac
ke lokasi alternatif menggunakan --file
pilihan. Jika wtmp
file tidak ada di sistem Anda, Anda dapat membuat wtmp
empty kosong file untuk mengaktifkan pelaporan di sistem Anda.
Untuk mendapatkan laporan tentang waktu login untuk pengguna individu:
$ ac --individual-totals
seth 20.16
larry 43.60
curly 10.32
moe 35.11
Anda juga bisa mendapatkan total harian:
$ ac --daily-totals
Jan 20 total 22.61
Jan 21 total 73.60
Jan 22 total 84.00
Jan 23 total 100.69
Jan 24 total 18.24
Jan 25 total 2.43
Jan 27 total 35.36
Today total 62.13
lastcomm
lastcomm
perintah menampilkan perintah terakhir dikeluarkan pada sistem untuk pengguna tertentu. Jika tidak ada pengguna yang ditentukan, maka laporan tentang pengguna saat ini akan dibuat.
$ sudo lastcomm --strict-match --user curly --tty pts/2
basename curly pts/2 0.00 secs Tue Jan 28 15:41
ps curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
manpath curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
tclsh curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
bash F curly pts/2 0.00 secs Tue Jan 28 15:41
sed curly pts/2 0.00 secs Tue Jan 28 15:41
Perintah yang terdaftar oleh lastcomm
belum tentu perintah yang diluncurkan pengguna secara interaktif. Misalnya, hanya dengan masuk, pengguna memunculkan hampir 40 item dalam output lastcomm
, sehingga bisa menjadi luar biasa. Ditambah dengan grep
, meskipun demikian, ini adalah cara mudah untuk memahami riwayat sesi pengguna.
sa
sa
perintah merangkum informasi akuntansi yang berasal dari /var/account/pacct
mengajukan. Jika Anda mengaudit aktivitas pengguna, maka --print-users
opsi mencetak nama pengguna sebelum setiap perintah:
$ sudo sa --print-users
root 0.00 cpu 579k mem 0 io accton
root 0.03 cpu 64064k mem 0 io sudo
seth 0.00 cpu 56752k mem 0 io bash *
seth 0.00 cpu 54080k mem 0 io sed
seth 0.00 cpu 56752k mem 0 io bash *
larry 0.00 cpu 56752k mem 0 io bash *
curly 0.00 cpu 56752k mem 0 io bash *
moe 0.00 cpu 56752k mem 0 io bash *
seth 0.00 cpu 54080k mem 0 io ls
Atau, Anda hanya bisa mendapatkan ringkasan untuk setiap pengguna:
$ sudo sa --user-summary
1065 2169.59re 0.97cp 0avio 49373k
seth 812 1117.11re 0.83cp 0avio 58163k
root 199 1052.42re 0.14cp 0avio 21314k
larry 41 0.00re 0.00cp 0avio 19403k
curly 1 0.06re 0.00cp 0avio 6706k
moe 12 0.00re 0.00cp 0avio 25888k
[...]
Kolom yang ditampilkan, selain nama pengguna, laporan CPU (waktu nyata dan waktu CPU), operasi I/O per perintah (rata-rata dan total), dan seterusnya. Mereka dapat dikonfigurasi menggunakan opsi seperti --sort-tio
untuk t total I/O , --sort-cpu-avmem
untuk mengurutkan waktu CPU berdasarkan penggunaan memori rata-rata, dan seterusnya. Semua filter penyortiran dapat dibalik dengan --reverse-sort
pilihan.
Pembuatan profil pengguna
Dikombinasikan dengan alat seperti who, w, dan ps, Anda dapat memahami bagaimana pengguna menghabiskan sumber daya sistem, perintah mana yang mungkin bermasalah, dan peningkatan server apa yang dapat berguna di masa mendatang. Karena acct
suite berbasis terminal, dapat ditulis dan digunakan oleh alat lain, memungkinkan Anda membuat mekanisme pelaporan yang disesuaikan.
[ Ingin mencoba Red Hat Enterprise Linux? Unduh sekarang secara gratis. ]