在Linux系统中,有三个主要的日志子系统:连接时间日志,进程统计日志,错误日志
连接时间日志
由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
进程统计日志
进程统计日志由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志
错误日志由syslogd执行。各种系统守护进程、用户程序和内核通过syslog向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
文本类型的日志:
1 | /var/log/messages |
/var/log/messages日志格式:
1 | Dec 19 17:39:06 localhost sz[17833]: [root] ConfigActivity.xml/ZMODEM: 287531 Bytes, 343933 BPS |
二进制日志:
1 | /var/log/wtmp |
系统日志:
/var/log/lastlog:记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/messages:记录Linux操作系统常见的系统和服务错误信息
/var/log/secure:Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/btmp:记录Linux登陆失败的用户、时间以及远程IP地址
/var/log/cron:记录crond计划任务服务执行情况
auth.log:登录认证的信息记录
boot.log:系统启动时的程序服务的日志信息
dmesg:启动时显示在屏幕上的内核缓冲信息和硬件信息, dmesg命令用于显示开机信息
faillog:用户登录失败详细信息记录
kern.log:内核产生的信息记录
rsyslog管理的日志:
日志 | 说明 |
---|---|
/var/log/message | 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 |
/var/log/secure | 安全相关的日志信息 |
/var/log/maillog | 邮件相关的日志信息 |
/var/log/cron | 定时任务相关的日志信息 |
/var/log/spooler | UUCP和news设备相关的日志信息 |
/var/log/boot.log | 守护进程启动和停止相关的日志消息 |
rsyslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地。
相关配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/, /etc/sysconfig/rsyslog
日志轮转配置文件:/etc/logrotate.conf
自定义日志转储:/etc/logrotate.d/
示例:将所有类型错误级别为info的日志转储到/var/log/test.log日志文件中,并设置/var/log/test.log达到1KB后进行转储,转储10次,压缩,转储后重启rsyslog服务。
在/etc/rsyslog.conf添加一行配置:
1 | [root@localhost ~]# tail /etc/rsyslog.conf |
1 | [root@localhost ~]# cat /etc/logrotate.d/test.log |