rsylog
rsyslog: 用来采集系统日志,不具备生产日志的功能
- rsyslog的管理:
/var/log/messages | 服务信息日志 |
/var/log/secure | 系统登陆日志 |
/var/log/cron | 定时任务日志 |
/var/log/maillog | 邮件日志 |
/var/log/boot.log | 系统启动日志 |
日志管理
首先要指定日志采集路径
日志采集规则:
将什么类型的日志,什么级别的日志 /var/log/file
日志类型分类:
authpriv | ssh.ftp等登陆信息的验证信息 |
cron | 时间任务相关 |
kren | 内核 |
lpr | 打印 |
| 邮件 |
mark(syslog)-rsyslog | 服务内部的信息,时间标识 |
news | 新闻组 |
user | 用户程序产生的相关信息 |
uucp | unix to unix copy,unix主机之间相关的通讯 |
local 1~7 | 自定义的日志设备 |
日志级别分为:
debug | 有调试信息的,日志信息最多 |
info | 一般信息的日志,最常用 |
notice | 最具有重要性的普通条件的信息 |
warning | 警告级别 |
err | 错误级别,阻止某个功能或者模块不能正常工作的信息 |
crit | 严重级别,阻止整个系统或者整个软件不能正常工作的信息 |
alert | 需要立刻修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 什么都不记录 |
注意:
从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册:man 3 syslog
操作示例:
目的:把系统中所有日志采集到/var/log/westos文件中
操作:
vim/etc/rsyslog.conf
*.* /var/log/westos
systemctl restart rsyslog
测试:
systemctl restart sshd
cat /var/log/westos
日志的远程同步
在日志发送方:
vim /etc/rsyslog.conf
*.* @172.25.254.206 "@"表示udp协议发送,"@@"表示tcp协议发送
systemctl restart rsyslog
在日志接收方:
vim /etc/rsyslog.conf
15行 $ModLoad imudp 日志接收模块
16行 $UDPServerRun 514 开启接收端口
systemctl restart rsyslog
systemctl stop firewalld 关闭火墙
systemctl disable firewalld 设定火墙开机关闭
测试:
在接收方和发送方清空日志文件
> /var/log/messages
在日志的发送方
logger 日志内容
cat /var/log/messages 查看的已经生成日志以及日志内容
在日志的接收方
cat /var/log/messages 查看发送方发送的日志以及日志内容
TCP/UDP协议:
两种都是传输协议,UDP提供了无连接的数据报服务,而TCP是面向连接的传输控制协议,UDP在传输数据前不建立连接,不对数据报进行检查和修改,不需等待对方应答,所以会出现乱序,分组丢失,重复的问题,UDP的优点是快速,网络开销小。TCP是先建立连接再传输数据,不会有数据丢失或乱序的情况出现,优点是稳定。