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

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

(1)连接时间日志

(2)进程统计日志

(3)系统和服务日志

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

进程统计日志

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

#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 <[email protected]>

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

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

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

# 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的用法:

# 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)停止进程统计日志监控

# lastcomm off

使用sa命令进行统计

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

# 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:暂挂所有其他标志并且打印每个命令的用户数字标识和命令名。

时间: 2024-10-20 18:35:15

Linux系统日志管理:(2)进程统计日志的相关文章

Linux系统日志管理:(3)系统和服务日志

Linux操作系统中有三种主要的日志子系统: (1)连接时间日志 (2)进程统计日志 (3)系统和服务日志 连接时间日志和进程统计日志由rsyslog(旧版是syslog)日志服务驱动,系统和服务日志由相对应的网络服务驱动和管理: 系统和服务日志   除了连接时间日志和进程统计日志,系统很多的其他日志文件,这些日志文件是有rsyslog(旧版为syslog服务)的日志服务负责管理:由rsyslog日志服务驱动的默认放在/var/log/路径下: 其中几个重要的系统日志: /var/log/las

Linux系统日志管理:(1)连接时间日志

Linux操作系统中有三种主要的日志子系统: (1)连接时间日志 (2)进程统计日志 (3)系统和服务日志 连接时间日志和进程统计日志由rsyslog(旧版是syslog)日志服务驱动,系统和服务日志由相对应的网络服务驱动和管理: 连接时间日志 连接时间日志由/var/run/utmp和/var/log/wtmp两个文件记录,系统自动更新:这两个文件不能通过cat命令来查看,但是可以通过w/who/ac/finger/last/lastlog等命令查看.(关于/var/run/utmp的字段定义

Python学习第六天----Linux内存管理、进程管理、RPM包安装管理及源码安装软件

Linux内存管理.进程管理.RPM包安装管理及源码安装软件 一.交换分区     交换分区其实就相当于Windows系统下的虚拟内存的概念,当物理内存不够用的时候,由操作系统将硬盘的一块区域划分出来作为内存使用.具体使用方法如下:      [[email protected] ~]# fdisk -l 磁盘 /dev/sdb:16.1 GB, 16106127360 字节,31457280 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):5

Linux 内核进程管理之进程ID

Linux 内核进程管理之进程IDLinux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构,Linux 内核所有涉及到进程和程序的所有算法都是围绕该数据结构建立的,是内核中最重要的数据结构之一.该数据结构在内核文件 include/linux/sched.h 中定义,在Linux 3.8 的内核中,该数据结构足足有 380 行之多,在这里我不可能逐项去描述其表示的含义,本篇文章只关注该数据结构如何来组织和管理进程ID的. 进程ID类型要想了解内核如何来组织和管理进程

Linux 内核进程管理之进程ID 。图解

http://www.cnblogs.com/hazir/tag/kernel/ Linux 内核进程管理之进程ID Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构,Linux 内核所有涉及到进程和程序的所有算法都是围绕该数据结构建立的,是内核中最重要的数据结构之一.该数据结构在内核文件 include/linux/sched.h 中定义,在Linux 3.8 的内核中,该数据结构足足有 380 行之多,在这里我不可能逐项去描述其表示的含义,本篇文章只关注

:Linux 系统日志管理 日志转储

Linux日志服务器设置 使用“@IP:端口”或“@@IP:端口”的格式可以把日志发送到远程主机上. 假设需要管理几十台服务器,每天的重要工作就是查看这些服务器的日志,可是每台服务器单独登录,并且查看日志非常烦琐,此时可以把几十台服务器的日志集中到一台日志服务器上吗?这样每天只要登录这台日志服务器,就可以查看所有服务器的日志,. 设置过程 假设服务器端的服务器 IP 地址是 192.168.0.210,主机名是 localhost.localdomain:客户端的服务器 IP 地址是 192.1

Linux系统日志管理

2015-03-17 iptables 日志单独管理 vim /etc/rsyslog.conf # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none;kern.none        /var/log/messages # Save iptables messages also to iptables.log kern.*                            

linux权限管理之进程掩码

进程掩码 mask umask ======================================================== 文件权限管理之: 进程umask进程 新建文件.目录的默认权限会受到umask的影响,umask表示要减掉的权限 shell (vim,touch) =======umask======> 新文件或目录权限vsftpd =======umask======> 新文件或目录权限 samba =======umask======> 新文件或目录权限

Linux服务器管理: 系统管理:进程文件信息lsof

lsof命令 列出进程打开或使用的文件信息 [[email protected]/]#lsof [选项] 选项: -c 字符串: 只列出以字符串开头的进程打开的文件 -u 用户名: 只列出某个用户的进程打开的文件 -p pid: 只列出某个PID进程的打开的文件