如何使用psacct或acct工具监视用户活动

psacctACCT都是在系统上监控用户活动的开源应用程序。 这些应用程序在后台运行,并跟踪系统上的每个用户活动以及正在使用的资源。

我个人在我们公司使用这个程序,我们有开发团队,我们的开发人员在服务器上不断工作。 所以,这是一个最好的方案,以保持眼睛。 这个程序提供了一个很好的方法来监视用户正在做什么,他们触发了什么命令,他们消耗了多少资源,用户在系统上活动的时间。 这个程序的另一个伟大的功能是它提供服务,如Apache,MySQL,FTP,SSH等消耗的总资源。

Linux用户活动监视

我想这是每一个的Linux / Unix 系统管理员 ,谁想要保持用户活动的轨道上他们的服务器/系统大而必须需要的应用之一。

psacctACCT包提供了一些功能监控流程活动。

  1. ac命令打印用户登录/注销(连接时间)以小时为单位的统计信息。
  2. lastcomm既命令打印的用户以前执行的命令的信息。
  3. 用于开启/关闭过程计费智邦科技命令。
  4. sa命令总结先前执行的命令的信息。
  5. 去年lastb命令显示在用户一次登录的上市。

安装psacct或acct包

psacctACCT都是类似的包并没有它们之间没有太大的区别,但psacct包仅适用于基于RPM的发行版,如RHEL,CentOSFedora,而可用于如Ubuntu,DebianLinux Mint的发行ACCT包。

要在基于RPM分发安装问题包psacct Yum命令如下。

# yum install psacct

要使用安装包ACCT apt-get的 Ubuntu下的/ 于Debian / Linux Mint的命令。

$ sudo apt-get install acct
OR
# apt-get install acct
启动psacct或acct服务

默认情况下psacct服务处于禁用模式,你需要手动启动它在RHEL / CentOS的 / Fedora的系统。 使用以下命令检查服务的状态。

# /etc/init.d/psacct status
Process accounting is disabled.

您将看到状态显示为已禁用,因此,让我们使用以下两个命令手动启动它。 这两个命令将创建一个在/ var /帐号/ pacct文件和启动服务。

# chkconfig psacct on
# /etc/init.d/psacct start
Starting process accounting:                               [  OK  ]

启动服务后,再次检查状态,您将获得如下所示的启用状态。

# /etc/init.d/psacct status
Process accounting is enabled.

Ubuntu,Debian薄荷服务会自动启动,你并不需要再次启动它。

显示用户连接时间统计

不指定任何参数ac命令会显示总在个小时的连接时间的统计数据基础上,用户登录/从当前wtmp文件注销。

# ac
total     1814.03
每日显示用户统计

使用命令“AC -d”,将打印出在白天明智小时的总登录时间。

# ac -d
Sep 17  total        5.23
Sep 18  total       15.20
Sep 24  total        3.21
Sep 25  total        2.27
Sep 26  total        2.64
Sep 27  total        6.19
Oct  1  total        6.41
Oct  3  total        2.42
Oct  4  total        2.52
Oct  5  total        6.11
Oct  8  total       12.98
Oct  9  total       22.65
Oct 11  total       16.18
显示每个用户的时间总计

使用命令“AC -p”,将打印时间每个用户的总登录时间。

# ac -p
        root                              1645.18
youcl                            168.96
total     1814.14
显示个人用户时间

要获得用户时间“youcl”的总登录时间的统计,使用命令。

# ac youcl
 total      168.96
显示用户的日间登录时间

下面的命令将在打印用户时间“youcl”当天明智的总登录时间。

# ac -d youcl
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
打印所有帐户活动信息

“sa”的命令用于打印由用户执行的命令的总结。

# 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
哪里
  1. 9.86re是一个“ 实时 ”按挂钟分钟
  2. 0.01cp是系统/用户的时间,CPU分钟总和
  3. 2466k是CPU时间平均核心使用,也就是1K单位
  4. sshd的命令名称
打印个人用户信息

为了获得个人用户的信息,使用选项-u。

# 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
打印进程数

此命令打印进程总数和CPU分钟数。 如果你看到继续增加这些数字,那么它的时间来看看系统发生了什么。

# sa -m
sshd                                    2       9.86re       0.00cp     2466k
root                                  127      14.29re       0.00cp      909k
打印按百分比排序

该命令的“sa -c”显示用户的比例最高。

# 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
列出用户的上次执行命令

'latcomm'命令用于搜索并显示先前执行的用户命令信息。 您还可以搜索单个用户名的命令。 例如,我们看到的用户(youcl)命令。

# lastcomm youcl
su                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
ls                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
ls                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
ls                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    youcl  pts/0      0.00 secs Wed Feb 13 15:56
id                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
grep                    youcl  pts/0      0.00 secs Wed Feb 13 15:56
grep                    youcl  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    youcl  pts/0      0.00 secs Wed Feb 13 15:56
dircolors               youcl  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    youcl  pts/0      0.00 secs Wed Feb 13 15:56
tput                    youcl  pts/0      0.00 secs Wed Feb 13 15:56
tty                     youcl  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    youcl  pts/0      0.00 secs Wed Feb 13 15:56
id                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    youcl  pts/0      0.00 secs Wed Feb 13 15:56
id                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
搜索命令的日志

随着lastcomm既命令的帮助,你就能查看个人使用的每一个命令。

# lastcomm ls
ls                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
ls                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
ls                      youcl  pts/0      0.00 secs Wed Feb 13 15:56
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏