初学Linux之日志的定向采集与同步

1系统日志管理

 系统日志由进程产生,可以监控系统中发生的事情,方便用户对系统进行检查维护,保证系统安全
1.1 rsyslog服务:

此服务是用来采集系统日志,它不产生日志,只是起到采集作用

1.2 rsyslog的管理:

文件 采集日志种类
/var/log/messages 服务信息日志
/var/log/secure 系统登陆日志
/var/log/cron 定时任务日志
/var/log/maillog 邮件日志
/var/log/boot.log 系统启动日志

1.3 日志类型:

日志类型 来源
auth pam产生的日志
authpriv ssh,ftp等登陆信息的验证信息
cron 时间任务相关
kern 内核
lpr 打印
mail 邮件
mark(syslog)-rsyslog 服务内部的信息,时间标识
news 新闻组
user 用户程序产生的相关信息
uucp unix to unix copy,unix主机之间相关的通讯
local 1~7 自定义的日志设备

1.4 日志级别:

级别 含义
debug 有调试信息的,日志信息最多
info 一般信息的日志,最常用
notice 最具有重要性的普通条件的信息
warning 警告级别
err 错误级别,阻止某个功能或者模块不能正常工作的信息
crit 严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert 需要立刻修改的信息
emerg 内核崩溃能严重信息
none 什么都不记录

注:从上到下,级别从高到底,记录的信息越来越少
详细的可以查看手册 man 3 syslog

1.5 指定日志采集路径:

 若想要将不同类型的不同级别的日志定向采集到我们想要的文件夹中,需要修改配置文件 vim /etc/rsyslog.conf

 为书写规范,在配置文件中找到RULES,在其下方进行修改
  采集格式为:
服务.日志级别     /存放文件

修改完之后需要重启服务:systemctl restart rsyslog

示例:把系统中的所有类型日志的所有级别采集到/var/log/test文件中:
初学Linux之日志的定向采集与同步
##################### /var/log/test中出现日志信息#########################
初学Linux之日志的定向采集与同步
注:systemctl restart sshd 为了生成日志

2 日志的远程同步

 对于服务器,将客户端的日志同步发送过来,就可以随时地查看客户端的情况以保证客户端的正常使用。我们以两台虚拟机当作发送方与接收方。
 server虚拟机当作接收方,desktop虚拟机当作发送方
先在两方执行 > /etc/rc.d/rc.local, 然后reboot
2.1 在日志的发送方:

先打开配置文件:vim /etc/rsyslog.conf,进行修改,修改完保存以后重启服务systemctl restart rsyslog
修改格式为:* . *   @172.25.254.92
@表示udp协议发送,@@表示tcp协议发送

初学Linux之日志的定向采集与同步
初学Linux之日志的定向采集与同步
2.2 在日志的接收方:

同样打开配置文件:vim /etc/rsyslog.conf,找到15,16行,将注释#删掉

15 $ModLoad imudp 日志接收模块
16 $UDPServerRun 514 开启接收端口
然后:
systemctl restart rsyslog
systemctl stop firewalld   关闭防火墙
systemctl disable firewalld   设定防火墙开机关闭
初学Linux之日志的定向采集与同步
初学Linux之日志的定向采集与同步

2.2 测试:

先在在发送方和接收方都清空日志文件:> /var/log/messages
初学Linux之日志的定向采集与同步
初学Linux之日志的定向采集与同步

然后在日志的发送方: logger test
cat /var/log/messages 查看日志已经生成

初学Linux之日志的定向采集与同步

在日志的接收方查看:cat /var/log/messages
初学Linux之日志的定向采集与同步
###########################End##################################