前言、本章学习目标
- 了解LINUX中日志文件及其功能
- 掌握rsyslog服务及启动方法
- 熟悉日志文件格式的分析
一、Linux日志常见文件及其功能
日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。这些信息有些非常敏感,所以在 Linux 中这些日志文件只有 root 用户可以读取。
二、Linux日志文件格式分析
只要是由日志服务 rsyslogd 记录的日志文件,它们的格式就都是一样的。所以我们只要了解了日志文件的格式,就可以很轻松地看懂日志文件。
日志文件的格式包含以下 4 列:
事件产生的时间。
产生事件的服务器的主机名。
产生事件的服务名或程序名。
事件的具体信息。
我们查看一下 /var/log/secure 日志,这个日志中主要记录的是用户验证和授权方面的信息,更加容易理解。
三、Linux rsyslogd服务及启动方法
CentOS 6.x 版本以后,日志服务已经由 rsyslogd 取代了原先的 syslogd。Red Hat 公司认为 syslogd 已经不能满足工作中的需求,rsyslogd 相比 syslogd 具有一些新的特点:
基于TCP网络协议传输日志信息。
更安全的网络传输方式。
有日志信息的即时分析框架。
后台数据库。
在配置文件中可以写简单的逻辑判断。
与syslog配置文件相兼容。
系统中的绝大多数日志文件是由 rsyslogd 服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按照特定的格式记录到不同的日志文件中。也就是说,采用 rsyslogd 服务管理的日志文件,它们的格式应该是统一的。
服务及启动方法:
service rsyslog start;chkconfig rsyslog on
systemctl start rsyslog.service;systemctl enable rsyslog.service
四、rsyslog配置文件格式
rsyslogd 服务是依赖其配置文件 /etc/rsyslog.conf 来确定哪个服务的什么等级的日志信息会被记录在哪个位置的。也就是说,日志服务的配置文件中主要定义了服务的名称、日志等级和日志记录位置。
/etc/rsyslog.conf配置文件的格式
该配置文件的基本格式如下所示:
authpriv.* /var/log/secure
#服务名称[连接符号]日志等级 日志记录位置
#认证相关服务.所有日志等级 记录在/var/log/secure日志中
五、日志服务器配置
配置具体步骤:
日志服务器配置
# 在日志服务器中开启tcp或者udp监听
# vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
# systemctl restart rsyslog
日志客户端配置
vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none @@192.168.100.100 # 以TCP方式发送
[root@itcast ~]# systemctl restart rsyslog
# 测试效果
[root@(日志客户端) ~]# yum -y install httpd //在日志客户端安装一个软件
[root@(日志客户端) ~]# tail /var/log/messages //查看没有生成日志
[root@(日志服务器) ~]# tail /var/log/messages //在服务器端查看生成了日志
六、本章实验
1、查看var/log目录下各类日志文件内容;
2、配置一个rsyslog服务器,测试接收客户端日志。