【发布时间】:2021-11-23 00:10:41
【问题描述】:
我有 2 组日志。每个人都将访问他们自己的系统日志服务器。但是日志的来源是相同的 - 一个 palo alto prisma vpn。
无论出于何种原因,Syslog-Server A(最旧的来源)都会这样写日志(粗体):
11 月 22 日 15:08:03 34 456
但是我最新的系统日志服务器 B 是这样写日志的(粗体):
11 月 22 日 15:08:03 34.0.0.1 456
这是个问题。因为,在每个 syslog-ng 服务器上,我们都有一个 Splunk 通用转发器,可以将日志转发到索引。我们使用 Palo Tech Add-On 来解析数据。
看来 TA 应该用这个字段解析传入的数据:
11 月 22 日 15:08:03 34 456
任何其他方式都会破坏解析。我有我的新 syslog-ng 文件(用于新服务器 - B),如下所示:
@version:3.31
@include "scl.conf"
options {
flush_lines (0);
time_reopen (10);
log_fifo_size (1000);
chain_hostnames (off);
use_dns (no); #was yes
use_fqdn (no); #was yes
create_dirs (no);
keep_hostname (no); #was yes
};
source vpn_encrypted_log_traffic {
network(
ip(0.0.0.0)
port(6514)
transport("tls")
tls(
cert-file("/etc/syslog-ng/certs/prv.cer")
key-file("/etc/syslog-ng/certs/prv.key")
peer_verify(optional-untrusted)
)
);
};
destination prisma{ file("/directory/log.log") create_dir(yes) ); }
log { source(vpn_encrypted_log_traffic); destination(prisma); };
而旧的系统日志服务器 (A) 就只有这个:
@version:3.5
@include "scl.conf"
options {
time-reap (30);
keep_hostname (no); #was yes
};
source vpn_encrypted_log_traffic {
network(
ip(0.0.0.0)
port(6514)
transport("tls")
tls(
cert-file("/etc/syslog-ng/certs/prv.cer")
key-file("/etc/syslog-ng/certs/prv.key")
peer_verify(optional-untrusted)
)
);
};
destination prisma{ file("/directory/log.log") create_dir(yes) ); }
log { source(vpn_encrypted_log_traffic); destination(prisma); };
我只能认为问题存在于 Prisma 中。但配置在我看来是一对一的。
【问题讨论】:
-
也许我需要新眼镜,但配置对我来说非常不同。版本不同,新服务器指定了更多选项。这些差异可能微不足道,我会先让两台服务器尽可能相同。
-
34.0.0.1是 BSD 系统日志消息的主机名/IP 地址部分。我不知道34是怎么变成34.0.0.1的,但是use_dns(no); keep_hostname(no);意味着这部分消息将被替换为服务器B 的IP 地址。