一。实验简介
(TCP、UDP、RELP传输方式)
UDP 传输协议
基于传统UDP协议进行远程日志传输,也是传统syslog使用的传输协议;
可靠性比较低,但性能损耗最少
在网络情况比较差,或者接收服务器压力比较高情况下,可能存在丢日志情况。
TCP 传输协议
基于传统TCP协议明文传输,需要回传进行确认,可靠性比较高;
但在接收服务器宕机或者两者之间网络出问题的情况下,会出现丢日志情况。
RELP 传输协议
RELP(Reliable Event Logging Protocol)是基于TCP封装的可靠日志消息传输协议;
是为了解决TCP 与 UDP 协议的缺点而在应用层实现的传输协议,也是三者之中最可靠的。
对于线上服务器,为了日志安全起见,建议使用还是使用 RELP 协议进行传输。
二:RELP实验过程
创建两个虚拟机一个为服务器一个为客户机(本机系统为RHEL6.5)
要将服务器客户机的设为同一网段下的固定ip(不知道如何配置请看我的另一篇博客)
1.服务器端
安装配置yum
YUM是通过分析RPM的表头数据后,根据各软件的相关属性制作出的属性依赖时的解决方案,然后可以自动处理软件的依赖属性的问题,以解决软件安装或者删除与升级的问题。
苏哦这就是我们不用rpm的原因,因为他无法解决依赖问题。
Vim /etc/yum.repos.d/rhel-source.repo 进入后设置成如下图[rhel-source]所示
然后挂载镜像mount /dev/sr0 /mnt
再下载RELP服务
vim /etc/rsyslog.conf
按照下图配置
vim /etc/sysconfig/rsyslog
按下图配置
关闭防火墙:iptabies -F
关闭SElinux setenforce 0
重启服务:service rsyslog restart
查看运行端口,已经有了
客户端
vim /etc/rsyslog.conf
ip地址为服务器的ip
重启服务(一定要成功才能进行下一步)
验证:
客户端执行:logger -t kern -p err “hello,wahaha”
服务器端执行:tail -f /var/log/messages(是否有"hello,wahaha"日志信息)
即可看到客户端输入的信息
实验成功
如果失败可以多试试关闭防火墙和seLinux
以下为TCP.UDP.RELP三种的不同之处
按照如下所示举一反三即可完成另外两种
1)安装
yum install rsyslog -y
如果启用RELP传输方式(yum install rsyslog-relp -y)
查看服务状态
service rsyslog status
启动服务
service rsyslog start
版本查看
rsyslogd -version
2)编辑配置文件
vim /etc/rsyslog.conf
若启用UDP传输方式:取消以下2行#
$ModLoad imtcp
$InputTCPServerRun 514
若启用TCP传输方式: 取消以下2行#
$ModLoad imudp
$UDPServerRun 514
若启用RELP传输方式: 新增以下2行
$ModLoad imrelp
$InputRELPServerRun 2514
3)开启传输端口监听
vim /etc/sysconfig/rsyslog
若启用TCP、UDP传输方式:指定514端口、指定兼容模式
SYSLOGD_OPTIONS="-r514 -c2"
若启用RELP传输方式:指定2514端口、指定兼容模式
SYSLOGD_OPTIONS="-r2514 -c2"
重启服务
service rsyslog restart
查看运行端口
netstat -anpt | grep ":514"(TCP传输)
netstat -anpu | grep ":514"(UDP传输)
netstat -anpt | grep ":2514"(RELP传输)
2、客户端配置
1)安装
yum install rsyslog -y
如果启用RELP传输方式(yum install rsyslog-relp -y)
2)指定日志传输方式:
vim /etc/rsyslog.conf
若启用UDP传输:添加如下1行*.* @192.168.1.2:514
若启用TCP传输:添加如下1行
. @@192.168.1.2:514
若启用RELP传输:添加如2行:
$ModLoad omrelp
. :omrelp:192.168.1.2:2514)
记得第二个*后面有个空格
3)重启服务:
service rsyslog restart
3、测试:
1)在客户端上执行:
logger -t kern -p err “hello,wahaha”
2)在服务器端查看:
tail -f /var/log/messages(是否有"hello,wahaha"日志信息)
二:TCP实验
服务器
vim /etc/rsyslog.conf
vim /etc/sysconfig/rsyslog
分别配置成如下两图
验证
客户机
记得关闭防火墙和SElinux并重启服务
先将rsyslog.conf配置成下图再输入验证命令
看到信息。实验成功
这是学习Linux日志的一个基础小实验,希望大家能有所收获,不足之处多多指正