psacct或ACCT都是在系统上监控用户活动的开源应用程序。 这些应用程序在后台运行,并跟踪系统上的每个用户活动以及正在使用的资源。
我个人在我们公司使用这个程序,我们有开发团队,我们的开发人员在服务器上不断工作。 所以,这是一个最好的方案,以保持眼睛。 这个程序提供了一个很好的方法来监视用户正在做什么,他们触发了什么命令,他们消耗了多少资源,用户在系统上活动的时间。 这个程序的另一个伟大的功能是它提供服务,如Apache,MySQL,FTP,SSH等消耗的总资源。
Linux用户活动监视
我想这是每一个的Linux / Unix 系统管理员 ,谁想要保持用户活动的轨道上他们的服务器/系统大而必须需要的应用之一。
该psacct或ACCT包提供了一些功能监控流程活动。
- ac命令打印用户登录/注销(连接时间)以小时为单位的统计信息。
- lastcomm既命令打印的用户以前执行的命令的信息。
- 用于开启/关闭过程计费智邦科技命令。
- sa命令总结先前执行的命令的信息。
- 去年和lastb命令显示在用户一次登录的上市。
安装psacct或acct包
psacct或ACCT都是类似的包并没有它们之间没有太大的区别,但psacct包仅适用于基于RPM的发行版,如RHEL,CentOS的和Fedora,而可用于如Ubuntu,Debian和Linux 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
哪里
- 9.86re是一个“ 实时 ”按挂钟分钟
- 0.01cp是系统/用户的时间,CPU分钟总和
- 2466k是CPU时间平均核心使用,也就是1K单位
- 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