日志切割及搭建远程日志收集服务器

日志切割

Linux下的日志会定期滚动增加,可以在线对正在回滚的日志进行指定大小的切割(动态)。如果这个日志是静态的,若没有应用向里面写内容,那么可以用split工具进行切割,其中logrotate支持按时间和大小来自动切割,以防止日志文件太大。

logrotate配置文件主要有/etc/logrotate.conf及/etc/logrotate.d/子目录下的明细配置文件。logrotate的执行是由crond服务调用的。

vim /etc/cron.daily/logrotate

logrotate程序每天由cron(/etc/crontab)在指定的时间启动。

日志是很大的,如果让日志无限制地记录下去是一件很可怕的事情,日积月累就会占用磁盘几百兆的空间。

想要找出某一条可用信息,就像海底捞针一样难。

当日志达到某个特定的大小时,将日志分类,之前的日志保留一个备份,再创建一个同名的文件保存新的日志。

实战演示:

(1)编辑配置文件

[root@testhost ~]# cat /etc/logrotate.conf 
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

全局参数说明如下:
weekly:每周执行一次日志回滚。
rotate:日志切分后历史文件最多保存离现在最近的多少份。
create:指定新创建的文件的权限与所属主和所属组。
dateext:使用日期为后缀的回滚文件,可以到/var/log目录下查看。

(2)单独配置信息

logrotate.conf配置文件

使用logrotate进行ssh日志分割

使用logrotate进行ssh日志分割之前,确认ssh日志存储在/var/log/sshd。

配置远程日志服务器

配置远程日志服务器的实验拓扑图如图:

配置远程日志服务器的步骤:

1.服务器端配置

注意:UDP协议,传输速度快,提供不可靠的传输;TCP协议,可靠性强,提供可靠传输(有序,无差错,不丢失,不重复)。

查看服务监听的状态。

2.服务端验证

在服务器端关闭SELinux和防火墙。

3.客户端配置

注意:.表示所有类别和级别的日志。

修改/etc/rsyslog.conf文件

@@192.168.1.63:514:设置远端TCP协议的日志服务端的IP地址和端口。

4.重启rsyslog服务

5.查看日志

6.在客户端 root 进行测试

命令使用格式:logger要模拟发送的日志。

总结:服务器使用UDP协议,客户端使用的配置文件中这一行只能有一个@。

*. *@192.168.1.64:514

服务器使用TCP协议,客户端使用的配置文件中这一行必须有两个@@。

*.* @@192.168.1.64:514

最后更新于

这有帮助吗?