初学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 | 打印 |
邮件 | |
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文件中:
##################### /var/log/test中出现日志信息#########################
注: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协议发送
2.2 在日志的接收方:
同样打开配置文件:vim /etc/rsyslog.conf,找到15,16行,将注释#删掉
15 $ModLoad imudp 日志接收模块
16 $UDPServerRun 514 开启接收端口
然后:
systemctl restart rsyslog
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 设定防火墙开机关闭
2.2 测试:
先在在发送方和接收方都清空日志文件:> /var/log/messages
然后在日志的发送方: logger test
cat /var/log/messages 查看日志已经生成
在日志的接收方查看:cat /var/log/messages
###########################End##################################