如何将nginx日志输出输送到python脚本,而不首先将其保存在日志文件中。
目前,我使用apache,在那里,我像这样使用管道:
CustomLog "|/path/to/script.py"
在nginx中,日志文件的配置如下所示,现在我需要将其输送到python脚本。
# Nginx access file:
$InputFileName /var/log/nginx/access.log
$InputFileTag nginx-access:
$InputFileStateFile stat-nginx-access
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
#Nginx Error file:
$InputFileName /var/log/nginx/error.log
$InputFileTag nginx-error:
$InputFileStateFile stat-nginx-error
$InputFileSeverity error
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
发布于 2017-11-09 20:40:59
感谢nginx频道,我找到了一个合适的解决方案,我想分享给下一个有同样问题的人。
http {
#(...)
map $remote_addr $anon_remote_addr {
"~^(?<ip_a>\d+\.\d+)\.\d+\.\d+" "$ip_a";
}
log_format combined_anon '$anon_remote_addr.0.0 - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
# Set it globally
access_log /var/log/nginx/access.log combined_anon;
#(...)
}
来自:https://gist.github.com/fluential/e2b4ceea628ead5162f0的片段
https://stackoverflow.com/questions/47040052
复制相似问题