Rsyslog系统日志管理

课程目标

一、常见的系统日志

二、日志管理程序

三、日志级别

四、日志配置

1. 日志定义相关符号

举例说明:

2. 了解配置文件

特别说明:

五、本地日志管理

需求1:

将本地邮件服务的日志记录到/var/log/test_mail.log里

思路:

  1. 通过修改配置文件完成
  2. 重启rsyslog服务
  3. 测试验证

步骤:

需求2:

把ssh服务的日志指定记录到/var/log/ssh下

思路:

  1. 单独指定ssh服务的日志载体(ssh服务需要配置——>local0)
  2. rsyslog程序将来自于local0设备载体上的日志单独记录(通过rsyslog.conf配置)
  3. 重启相关的服务
  4. 测试验证

步骤:

课堂练习:

搭建FTP服务,并且将ftp服务的上传下载日志单独记录到/var/log/ftp.log里

 

六、远程日志管理

目的:把多台服务器的日志远程记录到其中一台日志服务器集中化管理,方便对其统一分析和管理

需求:

将ssh应用服务器的ssh服务的日志远程记录到日志管理服务器上

环境:

log-server:10.1.1.1

ssh-server:10.1.1.3

client:10.1.1.2

思路:

  1. 在ssh-server上将ssh服务的日志单独记录
  2. 在ssh-server上通过修改rsyslog.conf文件来将本地ssh服务日志远程传送到log-server服务器上
  3. 在log-server上打开514端口等待客户来传送日志
  4. 测试验证

步骤:

思考:

如果日志服务器管理多台服务器,那么

七、日志轮转

日志轮循(轮转):日志轮转,切割,备份,归档

1、避免日志过大占满/var/log的文件系统

2、方便日志查看

3、 将丢弃系统中最旧的日志文件,以节省空间

4、日志轮转的程序是logrotate

5、 logrotate本身不是系统守护进程,它是通过计划任务crond每天执行

需求1:ssh服务的日志单独保存到了/var/log/ssh里,如何进行轮转?

要求:

  1. 每天进行轮转,保留5天的日志文件
  2. 日志文件大小大于5M进行轮转

思路:

  1. 修改logrotate程序的主配置文件增加/var/log/ssh文件的轮转

或者

  1. 在/etc/logrotate.d/目录创建一个文件

步骤:

 

 

常见的一些参数:

思考:

日志管理服务器所接收过来的日志如何保存到指定的文件里?

  1. 这件事情需要再日志管理服务器端完成
  2. 将接收过来的日志单独管理保存称为本地日志管理
  3. 可以通过定义模板的方式完成

 

 

作业

作业1:将authpriv设备日志记录到/var/log/auth.log

作业2:改变应用程序sshd的日志设备为local5, 并定义local5设备日志记录到/var/log/local5.local

作业3: 要求如下:

  1. 记录所有日志类型的 info 级别以及大于 info 级别的信息,保存到/var/log/test,但是 mail 邮件信息,authpriv 验证方面的信息和 cron 时间任务相关的信息除外
  1. /var/log/test 日志轮询方式为:

1> 每天轮询一次; 2> 保留 4 个文件; 3> 以时间命名; 4> 创建与原日志同名的新文件。

 

 

课后作业:

  1. 将ftp服务的日志保存在/var/log/ftp.log(至少2种方法)

  2. 按照以下要求轮转/var/log/ftp/ftp.log日志文件

    1> 每个月轮转一次

    2> 保留1个月的日志

    3> 文件大小超过10M并且到了轮转周期再轮转

     

  3. 预习LAMP环境搭建