代码之家  ›  专栏  ›  技术社区  ›  overexchange

如何删除转发时间戳?OSE版本Syslog NG

  •  0
  • overexchange  · 技术社区  · 6 年前

    跟随 answer ,

    我试过在Syslog NG 3.17中进行更改 OSE version ,配置如下,

    @version: 3.17
    
    @include "scl.conf"
    
    options {
    };
    
    source s_network_to_forward {
            network(
                    flags(no-parse)
                    transport(udp)
                    port(514)
                    keep-timestamp(no)
                    persist-name("somekey")
            );
    };
    
    
    template forward_template {
            template($RAWMSG);
            template_escape(no);
    };
    
    destination forward_to_syslog2{
            network("1.2.3.4" transport(udp)  port(514) template(forward_template));
    };
    
    log {
            source(s_network_to_forward);
            destination(forward_to_syslog2);
    };
    

    要转发的消息: Oct 31 16:44:29.071 UTC: %SYS-3-DUP_TIMER: Same tty2 in linewatch_timers, type 2

    上面的配置可以转发如下所示的消息(额外的黑体标题):

    10月31日12:44:29 X.X.X.X 5277586: 10月31日16:44:29.071 UTC:%SYS-3-DUP_TIMER:Same tty2 in linewatch_timers,type 2

    其中X.X.X.X显示实际发件人地址(如预期),进程id( 5277586 )和转发时间戳( Oct 31 12:44:29 )

    但是

    只希望转发 Oct 31 16:44:29.071 UTC: X.X.X.X 5277586: %SYS-3-DUP_TIMER: Same tty2 in linewatch_timers, type 2

    通过删除转发时间戳


    如何转发所需格式?

    1 回复  |  直到 6 年前
        1
  •  0
  •   kokan    6 年前

    如果要在邮件发送时转发邮件,则 $RAWMESSAGE 宏是一个好主意,但默认情况下它是空的(因为它使消息内存占用更大)。

    你得再加个旗子 flags(...,store-raw-message) 在源配置中。(见相关 documentation )

    您的配置如下所示:

    @version: 3.17
    
    @include "scl.conf"
    
    options {
    };
    
    source s_network_to_forward {
            network(
                    flags(no-parse,store-raw-message)
                    transport(udp)
                    port(514)
                    keep-timestamp(no)
                    persist-name("somekey")
            );
    };
    
    
    template forward_template {
            template("$RAWMSG");
            template_escape(no);
    };
    
    destination forward_to_syslog2{
            network("1.2.3.4" transport(udp)  port(514) template(forward_template));
    };
    
    log {
            source(s_network_to_forward);
            destination(forward_to_syslog2);
    };