syslog-ng udp消息间歇记录

时间:2018-08-03 16:23:56

标签: udp syslog-ng

我遇到一种情况,即源消息和syslog-ng服务器之间的UDP消息不能始终如一地拾取,而TCP消息可靠地工作。请注意,为了进行测试,该代码实际上使用IP来阻止DNS。我已经用占位符服务器名称替换了IP。该服务器将需要从无法发送TCP消息的设备中拾取数据。欢迎提供任何有关纠正此行为的建议。

统计数据

  • 操作系统:两台主机均为RHEL 7.5
  • Syslog-ng:3.14.1
  • traceroute:直接连接,无跳数
  • 负载:两个系统上的CPU均低于2%

测试:两个相同的测试消息是从LOGGINGHOST发送的:

logger -n SYSLOGHOST -P 10502 "Test message"
logger -n SYSLOGHOST -P 10502 "Test message"

它们由SYSLOGHOST上的 tcpdump 捕获-请注意,在两种情况下,校验和都很好:

[root@LXSYSLOGP02 LXSYSLOGP02]# tcpdump udp -n -i any  port 10502 -vvv
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
09:50:49.783205 IP (tos 0x0, ttl 64, id 22870, offset 0, flags [DF], proto UDP (17), length 72)
    LOGGINGHOST.53681 > SYSLOGHOST.10502: [udp sum ok] UDP, length 44
09:51:18.815331 IP (tos 0x0, ttl 64, id 40747, offset 0, flags [DF], proto UDP (17), length 72)
    LOGGINGHOST.33076 > SYSLOGHOST.10502: [udp sum ok] UDP, length 44

结果: 第一个由syslog-ng拾取并处理,而第二个则没有。行为似乎没有规律。

系统日志配置

options {
        flush_lines (0);
        time_reopen (10);
        log_fifo_size (500000);
        chain_hostnames (off);
        use_dns (yes);
        use_fqdn (yes);
        create_dirs (yes);
        keep_hostname (no);
        perm(0644);
        dir_perm(0755);
        log_msg_size(32768);
};

## Sources
#
source s_vpn       { tcp(ip(0.0.0.0) port(10502)); udp(ip(0.0.0.0) port(10502));};

## Destinations
destination d_vpn  { file( "/syslog_data/SYSLOGHOST/vpn/$HOST/$YEAR.$MONTH.$DAY/$LEVEL.log" ); };

## Logs
#
log { source(s_vpn); destination(d_vpn); };

0 个答案:

没有答案