Linux系统日志管理:(2)进程统计日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Linux操作系统中有三种主要的日志子系统:

(1)连接时间日志

(2)进程统计日志

(3)系统和服务日志

连接时间日志和进程统计日志由rsyslog(旧版是syslog)日志服务驱动,系统和服务日志由相对应的网络服务驱动和管理;


进程统计日志

  进程统计日志可以监控用户在服务器上的操作时非常有效,所记录的操作会存入/var/account/pacct文件中;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#accton
accton: no arguments
Usage: accton [OPTION] on|off|ACCOUNTING_FILE
Try  'accton --help'  for  more  information.
# accton --help
Usage: accton [OPTION] on|off|ACCOUNTING_FILE
           Turns process accounting on or off, or changes the  file  where this
           info is saved.
           OPTIONS:
           -h, --help       Show help and  exit
           -V, --version    Show version and  exit
           ARGUMENTS:
           on               Activate process accounting and use default  file
           off              Deactivate process accounting
           ACCOUNTING_FILE  Activate ( if  not active) and save information  in
           this  file
           The system 's default process accounting file is ' /var/account/pacct '.
           Report bugs to <bug-acct@gnu.org>

(1)启动进程统计日志情况

1
2
# accton on
Turning on process accounting,  file  set  to the default  '/var/account/pacct' .

(2)显示进程统计日志情况

1
2
3
4
5
6
7
8
9
10
# lastcomm
ksmtuned          F    root     __         0.00 secs Thu Feb 26 23:05
awk                     root     __         0.00 secs Thu Feb 26 23:05
ksmtuned          F    root     __         0.00 secs Thu Feb 26 23:05
ksmtuned          F    root     __         0.00 secs Thu Feb 26 23:05
pgrep                  root     __         0.00 secs Thu Feb 26 23:05
ksmtuned          F    root     __         0.00 secs Thu Feb 26 23:05
awk                     root     __         0.00 secs Thu Feb 26 23:05
sleep                   root     __         0.00 secs Thu Feb 26 23:04
accton           S     root     pts /0       0.00 secs Thu Feb 26 23:04

以最后一行为例:

*命令位

*标志位

 S表示命令有超级管理员执行

 F表示命令有子程序运行,没有使用EXEC

 C表示命令运行在PDP-11兼容环境下

 X表示命令由SIGTREM信号终止

*用户名

*执行命令的系统


关于lastcomm的用法:

1
2
3
4
5
6
# lastcomm --help
Usage: lastcomm [-hpV] [-f  file ] [ command ] ... [user] ... [terminal] ...
        [--forwards] [-- file  < file >] [--strict-match] [--print-controls]
        [--user <name>] [-- tty  <name>] [-- command  <name>] [--debug]
        [--show-paging] [--ahz <freq>] [--version] [--help]
The system's default process accounting  file  is  /var/account/pacct .

(3)停止进程统计日志监控

1
# lastcomm off

使用sa命令进行统计

sa命令可以将/var/account/pacct中的数据压缩到/var/log/savacc(基于命令名称进行索引统计)和/etc/log/usracc(基于用户名进行索引统计的)中;

1
2
3
4
# sa -a
     4557   50640.33re       1.08cp         0avio     27021k
     1      742.55re       0.58cp         0avio    366208k   gnome-shell
     7     5199.84re       0.23cp         0avio    105595k   gmain

re表示示例时间,以分钟为单位;

cp表示系统和用户的使用时间,以分钟为单位;

k表示内核占用CPU的平均时间,一个单元大小为KB;

sh表示命令名称;

avio表示每次执行I/O操作的次数;


sa语法如下:

用法:sa [选项]... [文件]...

  主要选项如下。

  — -a:打印所有命令的名称(包括那些带有不可打印字符的)。

  — -b:将输出按用户和系统时间的总和除以调用次数来进行分类。否则,输出为用户时间和系统时间之和。

  — -c:将每个命令使用时间打印为相对于所有命令使用时间的百分比。此外,还有用户、系统和实时。

  — -C:将记账文件合并到摘要文件中。如果摘要文件为旧用法,则将它转换为新用法。

  — -d:将输出按平均磁盘I/O操作数进行分类。

  — -D:将输出按总的磁盘I/O操作数进行分类和打印。

  — -f:不要强制进行交互式阈值压缩。此标志必须与-v标志一起使用。

  — -I:仅读取原始数据,不读取摘要文件。

  — -j:打印每个调用的秒数,而不是每个类别的总的分钟数。

  — -k:将输出按平均CPU时间进行分类。

  — -K:将输出按CPU存储量整数进行分类和打印。

  — -l:将系统时间和用户时间分离,而不是组合它们。

  — -m:打印每个用户的进程数和CPU分钟数。

  — -n:按调用数对输出进行分类。

  — -r:将分类的顺序倒置。

  — -s:将记账文件合并到摘要文件中。

  — -t:打印每个命令的用时与用户和系统时间和之比。

  — -u:暂挂所有其他标志并且打印每个命令的用户数字标识和命令名。




本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1615814,如需转载请自行联系原作者

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
1月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
26天前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
365 10
|
30天前
|
安全 Linux 数据安全/隐私保护
为Linux系统的普通账户授予sudo访问权限的过程
完成上述步骤后,你提升的用户就能够使用 `sudo`命令来执行管理员级别的操作,而无需切换到root用户。这是一种更加安全和便捷的权限管理方式,因为它能够留下完整的权限使用记录,并以最小权限的方式工作。需要注意的是,随意授予sudo权限可能会使系统暴露在风险之中,尤其是在用户不了解其所执行命令可能带来的后果的情况下。所以在配置sudo权限时,必须谨慎行事。
213 0
|
1月前
|
Ubuntu Linux 开发者
国产 Linux 发行版再添新成员,CutefishOS 系统简单体验
当然,系统生态构建过程并不简单,不过为了帮助国产操作系统优化生态圈,部分企业也开始用国产操作系统替代 Windows,我们相信肯定会有越来越多的精品软件登录 Linux 平台。
81 0
|
1月前
|
Ubuntu 安全 Linux
Linux系统入门指南:从零开始学习Linux
Shell脚本是一种强大的自动化工具,可以帮助您简化重复的任务或创建复杂的脚本程序。了解Shell脚本的基本语法和常用命令,以及编写和运行Shell脚本的步骤,将使您更高效地处理日常任务。
126 0
|
1月前
|
Ubuntu Linux 图形学
Linux学习之Linux桌面系统有哪些?
Cinnamon:与MATE类似,Cinnamon 拥有 GNOME 和 Unity 等其它桌面环境所没有的种种功能,是高度可定制的桌面环境,不需要任何外部插件、窗口组件和调整工具来定制桌面。
86 0
|
1月前
|
Ubuntu 安全 Linux
十款常用Linux系统介绍
本文不是什么大盘点。市面上有好几百款发行版,每款发行版在某个方面都与众不同。不可能在此全部罗列,本文只罗列了十款最常见的Linux发行版(世界上只有两种人,一种是懂二进制的,另一种是不懂二进制的)。请宣传Linux的魅力或威力。
|
Shell Linux
12.13 Linux工作管理
工作管理指的是在单个登录终端(也就是登录的 Shell 界面)同时管理多个工作的行为。也就是说,我们登陆了一个终端,已经在执行一个操作,那么是否可以在不关闭当前操作的情况下执行其他操作呢?
183 0
12.13 Linux工作管理
|
Linux Shell Windows
Linux系统管理-工作管理(后台程序管理)
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/77857203 简介 工作管理指的是在当个登陆终端中同时管理多个工作的行为。
1281 0