2016 - 2024

感恩一路有你

Linux系统日志及日志分析

浏览量:1670 时间:2024-08-09 14:02:53 作者:采采

1. Linux系统日志的配置

大部分Linux发行版默认的日志守护进程为syslog,位于/etc/syslog或/etc/syslogd,默认配置文件为。任何希望生成日志的程序都可以向syslog发送信息。而Fedora、Ubuntu、rhel6、centos6以上版本默认的日志系统都是rsyslog,rsyslog是syslog的多线程增强版。

2. 日志类型和优先级

Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。默认配置下,日志文件通常都保存在“/var/log”目录下。

3. 常见的日志类型

下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:

- messages:包含系统的重要信息。

- lpr.log:打印机相关的日志。

- mail.log:邮件相关的日志。

- ftp.log:FTP服务器相关的日志。

- auth.log:用于记录认证和授权相关的日志。

- netinfo.log:网络信息日志。

- install.log:安装相关的日志。

4. 日志配置文件

`()`是syslog的配置文件,会根据日志类型和优先级来决定将日志保存到何处。典型的文件格式如下所示:

```

*.err;; /dev/console

daemon, /var/log/messages

/var/log/lpr.log

mail.* /var/log/mail.log

ftp.* /var/log/ftp.log

auth.* @

root,amrood /var/log/netinfo.log

install.* /var/log/install.log

*.emerg *.* @program_namemark

```

第一列为日志类型和日志优先级的组合,每个类型和优先级的组合称为一个选择器;后面一列为保存日志的文件、服务器,或输出日志的终端。syslog进程根据选择器决定如何操作日志。

5. 使用logger命令写入日志

logger是Shell命令,可以通过该命令使用syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。logger命令的语法为:

```

logger [options] [message...]

```

其中,-f filename表示将filename文件的内容作为日志;-i选项表示每行都记录logger进程的ID;-p priority指定优先级;-t tag使用指定的标签标记每一个记录行;message要写入的日志内容,多条日志以空格为分隔;如果没有指定日志内容,并且-f filename选项为空,那么会把标准输入作为日志内容。

6. 日志转储

日志转储也叫日志回卷或日志轮转。Linux中的日志通常增长很快,会占用大量硬盘空间,需要在日志文件达到指定大小时分开存储。syslog只负责接收日志并保存到相应的文件,但不会对日志文件进行管理,因此经常会造成日志文件过大,尤其是WEB服务器,轻易就能超过1G,给检索带来困难。

7. logrotate工具进行日志管理

大多数Linux发行版使用logrotate或newsyslog对日志进行管理。logrotate程序不但可以压缩日志文件,减少存储空间,还可以将日志发送到指定E-mail,方便管理员及时查看日志。

例如,规定邮件日志/var/log/maillog超过1G时转储,每周一次,那么每隔一周logrotate进程就会检查/var/log/maillog文件的大小:

- 如果没有超过1G,不进行任何操作。

- 如果在1G~2G之间,就会创建新文件/var/log/maillog.1,并将多出的1G日志转移到该文件,以给/var/log/maillog文件瘦身。

- 如果在2G~3G之间,会继续创建新文件/var/log/maillog.2,并将/var/log/maillog.1的内容转移到该文件,将/var/log/maillog的内容转移到/var/log/maillog.1,以保持/var/log/maillog文件不超过1G。

可以看到,每次转存都会创建一个新文件(如果不存在),命名格式为日志文件名加一个数字(从1开始自动增长或以当前日期为后缀),以保持当前日志文件和转存后的日志文件不超过指定大小。

8. 配置文件和include指令

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。