psacct

  • 2019 年 10 月 6 日
  • 筆記

psacct或ACCT都是在系統上監控用戶活動的開源應用程式。 這些應用程式在後台運行,並跟蹤系統上的每個用戶活動以及正在使用的資源。

我個人在我們公司使用這個程式,我們有開發團隊,我們的開發人員在伺服器上不斷工作。 所以,這是一個最好的方案,以保持眼睛。 這個程式提供了一個很好的方法來監視用戶正在做什麼,他們觸發了什麼命令,他們消耗了多少資源,用戶在系統上活動的時間。 這個程式的另一個偉大的功能是它提供服務,如Apache,MySQL,FTP,SSH等消耗的總資源。

Linux用戶活動監視,我想這是每一個的Linux / Unix 系統管理員 ,誰想要保持用戶活動的軌道上他們的伺服器/系統大而必須需要的應用之一。

1、安裝psacct或acct包

psacct或ACCT都是類似的包並沒有它們之間沒有太大的區別,但psacct包僅適用於基於RPM的發行版,要在基於RPM分發安裝問題包psacct Yum命令如下。

[root@docker-01 ~]# yum install psacct

啟動psacct或acct服務

默認情況下psacct服務處于禁用模式,你需要手動啟動它在RHEL / CentOS的 / Fedora的系統。

[root@docker-01 ~]# systemctl start psacct.service

使用以下命令檢查服務的狀態。

[root@docker-01 ~]# systemctl status psacct.service

設置開機自啟動。這個命令將創建一個在/ var /log/ pacct文件。

[root@docker-01 ~]# systemctl enable psacct.service

2、顯示用戶連接時間統計

不指定任何參數ac命令會顯示總在個小時的連接時間的統計數據基礎上,用戶登錄/從當前wtmp文件註銷。

[root@docker-01 ~]# ac

total 169.88

3、每日顯示用戶統計

使用命令「AC -d」,將列印出在白天用戶小時的總登錄時間。

[root@docker-01 ~]# ac -d

Jan 27 total 22.20

Jan 28 total 24.73

Jan 29 total 24.29

Aug 20 total 22.43

Aug 21 total 26.88

Aug 22 total 28.75

Today total 20.61

4、顯示每個用戶的時間總計

使用命令「AC -p」,將列印時間每個用戶的總登錄時間。

[root@docker-01 ~]# ac -p

root 169.91

total 169.91

5、顯示個人用戶時間

要獲得用戶時間「howtoing」的總登錄時間的統計,使用命令。

[root@docker-01 ~]# ac howtoing

total 0.00

6、顯示用戶的日間登錄時間

下面的命令將在列印用戶時間「howtoing」當天root的總登錄時間。

[root@docker-01 ~]# ac -d root

Jan 27 total 22.20

Jan 28 total 24.73

Jan 29 total 24.29

Aug 20 total 22.43

Aug 21 total 26.88

Aug 22 total 28.75

Today total 20.67

7、在Linux系統中啟動進程統計使用accton命令

必須用root身份來運行。accton命令的形式為accton file,file必須事先存在。先使用touch命令創建pacct文件:

[root@docker-01 ~]# touch /var/log/pacct

然後運行:

[root@docker-01 ~]# accton /var/log/pacct

一旦accton被激活,就可以使用lastcomm命令監測系統中任何時候執行的命令。若要關閉統計,可以使用不帶任何參數的accton命令:

[root@docker-01 ~]# accton

lastcomm:顯示以前使用過的命令的資訊作用:accton用來啟動進程記錄,這樣就會把所有的命令都記錄到一個指定的文件中,而lastcomm就是用來查看這個文件的,以方便系統管理。

[root@docker-01 ~]# lastcomm -f /var/log/pacct

關於運維學習、分享、交流,筆者開通了微信公眾號【運維貓】,感興趣的朋友可以關注下,歡迎加入,建立屬於我們自己的小圈子,一起學運維知識。