使用 psacct 或 acct 工具監(jiān)控 Linux 用戶性能

yanding 2023-07-20 587

psacct 或 acct 都是用于監(jiān)視 Linux 系統(tǒng)上用戶活動的開源工具。這些工具在后臺運行,并監(jiān)視每個用戶在您的計算機上的活動以及他們正在使用的資源。


我個人在我們公司使用過這些工具,我們有一個開發(fā)團隊,我們的開發(fā)人員一直在服務器上工作。因此,這些是最值得關注的應用程序。


這些程序提供了一種很好的方法來監(jiān)視用戶正在做什么、正在執(zhí)行什么命令、正在使用多少資源以及用戶在系統(tǒng)上工作了多長時間。另一個有用的事情是,它使 Apache、MySQL、FTP、SSH 等服務器上的所有資源都可供用戶使用。


[您可能還喜歡:如何監(jiān)控系統(tǒng)用戶執(zhí)行的實時 Linux 命令


我認為對于任何想要監(jiān)視服務器/系統(tǒng)上的用戶活動的 Linux/Unix 系統(tǒng)管理員來說,這是最必要的工具之一。



psacct 或 acct 包提供了多種用于監(jiān)視應用程序活動的功能。


ac 命令以小時為單位打印用戶登錄/注銷統(tǒng)計信息(連接時間)。

lastcomm 命令打印先前用戶命令的詳細信息。

accton 命令用于啟用/禁用記帳處理。

sa 命令總結了先前執(zhí)行的命令的數據。

last 和lastb 命令顯示最后登錄用戶的名稱。

在 Linux 中安裝 psacct 或 acct 軟件包

psacct 和 acct 都是兼容的軟件包,幾乎沒有什么區(qū)別,但僅限于基于 rpm 的發(fā)行版,如 RHEL、CentOS 和 Fedora psacct 軟件包適用于 RHEL、CentOS 和 Fedora 等發(fā)行版,而 acct 軟件包適用于 Ubuntu、德班,. 和 Linux Mint。


要在基于 rpm 的發(fā)行版下安裝 psacct 軟件包,請運行以下 yum 命令。


# 百勝安裝 psacct

在 Ubuntu/Debian/Linux Mint 下使用 apt 命令配置 acct 包。


$ sudo apt install acct

在其他 Linux 發(fā)行版上,您可以如圖所示進行安裝。


$ sudo apk add psacct [在Alpine Linux上]

$ sudo pacman -S acct [在Arch Linux上]

$ sudo zypper install acct [在OpenSUSE上]    

默認情況下,psacct 服務處于禁用狀態(tài),您必須在基于 RHEL 的發(fā)行版下手動啟動它。使用以下命令檢查服務的狀態(tài)。


$ sudo systemctl 狀態(tài) psacct

您會看到狀態(tài)顯示為已禁用,因此讓我們使用以下命令手動開始,這將創(chuàng)建一個 /var/account/pacct 文件。


$ sudo systemctl 啟動 psacct

$ sudo systemctl 啟用 psacct

$ sudo systemctl 狀態(tài) psacct


Ubuntu、Debian、Mint服務自動啟動時,無需重啟。


顯示用戶連接時間的統(tǒng)計信息

不指定任何參數的 ac 命令將顯示當前 wtmp 文件中用戶登錄/注銷的所有連接時間統(tǒng)計信息(以小時為單位)。


# 和


總計 11299.15


顯示每日 Linux 用戶統(tǒng)計信息


使用命令“ac -d”將打印每天的總訪問時間(以小時為單位)。


# 和-d


6月25日總計0.19

10 月 13 日總計 14.45

10 月 27 日總計 672.00

10 月 28 日總計 15.82

11 月 3 日總計 4.29

11 月 5 日總計 10.13

12 月 7 日總計 14.04

12 月 10 日總計 23.60

12 月 27 日總計 808.93

1 月 3 日總計 12.31

3月3日總計1438.67

圣誕節(jié)22總計6767.81

今日總計 1517.09


顯示所有Linux用戶的總登錄時間

使用“ac -p”命令將打印每個 Linux 用戶的總登錄時間(以小時為單位)。


# 和 -p


洛基Linux 425.61

702.29

根10171.54

總計 11299.44


顯示 Linux 用戶登錄時間

要獲取用戶“howtoing”花費的總記賬時間(以小時為單位),請使用類似命令。


# 和 howtoing

總計 702.29

顯示用戶登錄的日期時間

以下命令將打印用戶“howtoing”的每日總登錄時間(以小時為單位)。


# 和 -d howtoing

10 月 11 日總計 8.01

10 月 12 日總計 24:00

10 月 15 日總計 70.50

10 月 16 日總計 23.57

10 月 17 日總計 24:00

10 月 18 日總計 18.70

11 月 20 日總計 0.18

打印用戶執(zhí)行的所有Linux命令

“sa”命令用于打印用戶生成的命令的摘要。


# 的

       2 9.86re 0.00cp 2466k sshd*

       8 1.05re 0.00cp 1064k 人

       2 10.08re 0.00cp 2562k sshd

      12 0.00re 0.00cp 1298k psacct

       2 0.00re 0.00cp 1575k 特羅夫

      14 0.00re 0.00cp 503k 交流

      10 0.00re 0.00cp 1264k psacct*

      10 0.00re 0.00cp 466k 控制臺類型

       9 0.00re 0.00cp 509k at

       8 0.02re 0.00cp 769k udisks-helper-a

       6 0.00re 0.00cp 1057k 觸摸

       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 以下

       2 0.00re 0.00cp 1346k groff

       2 0.00re 0.00cp 1383k 糟糕

       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 貓

       2 0.00re 0.00cp 1018k 語言環(huán)境

       2 0.00re 0.00cp 802k gtbl

上述命令的輸出說明:


9.86re 是按照掛鐘分鐘計算的“實時”

0.01cp 是系統(tǒng)/用戶時間的總和(以 cpu 分鐘為單位)

2466k 是 cpu 時間平均核心使用率,即 1k 單位

sshd 命令名稱

打印 Linux 用戶配置文件

要檢索單個數據,請使用 -u 選項。


#sa-u

根 0.00 cpu 465k 內存 accton

根 0.00 cpu 1057k 內存觸摸

根 0.00 cpu 1298k 內存 psacct

root 0.00 cpu 466k mem 控制臺類型

根 0.00 cpu 1264k 內存 psacct *

根 0.00 cpu 1298k 內存 psacct

root 0.00 cpu 466k mem 控制臺類型

根 0.00 cpu 1264k 內存 psacct *

根 0.00 cpu 1298k 內存 psacct

root 0.00 cpu 466k mem 控制臺類型

根 0.00 cpu 1264k 內存 psacct *

根 0.00 cpu 465k 內存 accton

根 0.00 cpu 1057k 內存觸摸

打印 Linux 進程計數

此命令打印進程總數和 CPU 分鐘數。如果您看到這些數字繼續(xù)上升,那么是時候檢查一下系統(tǒng)中發(fā)生的情況了。


# 薩-米

sshd 2 9.86re 0.00cp 2466k

根 127 14.29re 0.00cp 909k

打印并按百分比排序

“sa -c”命令顯示最大用戶百分比。


# 在-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 人

       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 in

      14 10.61% 0.00re 0.00% 0.00cp 0.00% 503k 交流

      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 控制臺類型

       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 觸摸

       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 以下

       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 粗略

       2 1.52% 0.00re 0.00% 0.00cp 0.00% 1053k mktemp

列出最后的用戶命令


“l(fā)atcomm”命令用于搜索并顯示以前創(chuàng)建的用戶命令信息。您還可以搜索單個用戶名中的命令。例如,我們有用戶命令(howtoing)。


#lastcomm howtoing

su howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

ls howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

ls howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

ls howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

bash F howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

id howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

grep howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

grep howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

bash F howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

dircolors howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

bash F howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

tput howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

tty howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

bash F howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

id howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

bash F howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

id howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

在日志中查找命令

借助lastcomm命令,您可以單獨查看每個命令的用法。


# 最后通訊 ls

ls howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

ls howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

ls howtoing pts/0 0.00 秒 2 月 13 日星期三 15:56

有關更多信息和用法,請參閱這些工具的手冊頁。

言鼎科技

The End