转发 apache 日志时,远程 syslog 服务器未从 syslog-ng 获取 IP 地址
remote syslog server not getting IP address from syslog-ng when forwarding apache log
我正在使用 syslog-ng 服务器将我的 apache access_log 转发到 rsyslog 服务器。
这是我的系统日志的相关部分-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。
我做错了什么?
我不得不像这样使用 no-parse
选项:
source s_http {
file("/var/log/httpd/access_log" program-override("apache_access_log") flags("no-parse"));
};
如果您使用的是不是很旧的 syslog-ng 版本,它应该有一个专门用于 apache 访问日志的解析器来解决这个问题:http://support.oneidentity.com/technical-documents/syslog-ng-open-source-edition/administration-guide/parser-parse-and-segment-structured-messages/apache-access-log-parser
我正在使用 syslog-ng 服务器将我的 apache access_log 转发到 rsyslog 服务器。
这是我的系统日志的相关部分-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。
我做错了什么?
我不得不像这样使用 no-parse
选项:
source s_http {
file("/var/log/httpd/access_log" program-override("apache_access_log") flags("no-parse"));
};
如果您使用的是不是很旧的 syslog-ng 版本,它应该有一个专门用于 apache 访问日志的解析器来解决这个问题:http://support.oneidentity.com/technical-documents/syslog-ng-open-source-edition/administration-guide/parser-parse-and-segment-structured-messages/apache-access-log-parser