使用 psacct 或 acct 工具監(jiān)控 Linux 用戶性能
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
有關更多信息和用法,請參閱這些工具的手冊頁。