【发布时间】:2019-08-26 21:43:53
【问题描述】:
我正在使用 syslog-ng 服务器将我的 apache access_log 转发到 rsyslog 服务器。
这是我的 syslog-ng.conf 文件的相关部分
source s_http {
file("/var/log/httpd/access_log" program-override("apache_access_log"));
};
...
destination loghost { tcp("10.0.0.48" port(514)); };
...
log { source(s_http); destination(loghost); };
问题在于 syslog-ng 在它发送的数据中没有包含来自 apache access_log 文件的 IP 地址。
例如,我的 apache access_log 文件中的行如下所示:
10.0.0.181 - oauthuser [26/Aug/2019:21:40:02 +0000] "POST /api/v1/vm/event/ HTTP/1.1" 201 392 "-" "python-requests/2.22.0"
在远程 rsyslog 上结束为:
- oauthuser [26/Aug/2019:21:40:02 +0000] "POST /api/v1/vm/event/ HTTP/1.1" 201 392 "-" "python-requests/2.22.0"
我通过tcpdump 验证了 IP 地址不在输出数据包中,因此出于某种原因删除了 syslog-ng。
我在这里做错了什么?
【问题讨论】:
标签: syslog-ng