zoukankan      html  css  js  c++  java
  • Rsyslog的三种传输协议简要介绍

    rsyslog的三种传输协议

    rsyslog 可以理解为多线程增强版的syslog.

     rsyslog提供了三种远程传输协议,分别是:

    1. UDP 传输协议

    基于传统UDP协议进行远程日志传输,也是传统syslog使用的传输协议;

    可靠性比较低,但性能损耗最少, 在网络情况比较差,

    或者接收服务器压力比较高情况下,可能存在丢日志情况。

    在对日志完整性要求不是很高,在可靠的局域网环境下可以使用。

    2.TCP 传输协议

    基于传统TCP协议明文传输,需要回传进行确认,可靠性比较高;

    但在接收服务器宕机或者两者之间网络出问题的情况下,会出现丢日志情况。

    这种协议相比于UDP在可靠性方面已经好很多,并且rsyslog原生支持,配置简单,

    同时针对可能丢日志情况,可以进行额外配置提高可靠性,因此使用比较广。

    3.RELP 传输协议

    RELP(Reliable Event Logging Protocol)是基于TCP封装的可靠日志消息传输协议;

    是为了解决TCP 与 UDP 协议的缺点而在应用层实现的传输协议,也是三者之中最可靠的。

    需要多安装一个包rsyslog-relp以支持该协议。

    配置文件一般不会直接修改主配置文件,在/etc/rsyslog.d目录下创建新的配置文件,rsyslog会自动来加载

    4.示例

    (1)UDP传输配置

    服务端创建配置文件udp.conf

    # server configure
    
    $Modload imudp
    
    $UDPServerRun 514
    
    $AllowedSender UDP, 10.0.0.0/16   #设置白名单
    
    $template log_location, /var/log/%fromhost-ip%/%$YEAR%-%$MONTH%-%$DAY%.log
    
    $template log_format, "%fromhost-ip% %msg%
    "
    
    #把非本地传输的日志按照指定的文件路径及格式保存
    
    :fromhost-ip, !isequal, "172.0.0.1" -?log_location;log_format
    
    #已经匹配处理的内容,不再进行其他处理
    
    & ~
    
     

    客户端配置:

    *.*       @10.0.0.1:514

    (2)TCP传输配置

    服务端修改UDP为TCP

    客户端修改:

    *.*       @@10.0.0.1:514

    (3)RELP传输配置

    $ sudo yum install rsyslog-relp(客户端和服务端)

    服务端修改

    $Modload imrelp
    
    $UDPServerRun 514

    客户端修改

    *.* :omrelp:10.0.0.1:514
  • 相关阅读:
    如何在android studio上加入OpenCV库
    c++ overload 、override、overwrite
    学习笔记:linux之文件空洞
    windows 编译安装PROJ.4
    RDD:基于内存的集群计算容错抽象
    用Scala语言轻松开发多线程、分布式以及集群式程序
    scala 读雷达数据文件,生成png
    linux下virtualBox挂载物理磁盘,启动第二块硬盘中的系统
    shell检查网络出现异常、僵尸进程、内存过低后,自动重启
    cordova 5.0版本说明
  • 原文地址:https://www.cnblogs.com/cherishry/p/6780178.html
Copyright © 2011-2022 走看看