我正在设置 Rsyslog + Nginx 的组合。一切都很好,在服务器上创建了一个文件夹,其中包含一个文件和程序名称nginx.log。但在运行Nginx的服务器上有20多个域名。告诉我服务器是否可以接收具有所请求域名的文件。
设置 Nginx
upstream blatest {
server XXX.XXX.XXX.XXX;
}
server {
server_name bla.example.ru;
root /var/www/html;
client_max_body_size 100m;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
proxy_pass http://blatest;
}
access_log syslog:server=XXX.XXX.XXX.XXX:514,facility=local7,tag=nginx,severity=debug;
error_log syslog:server=XXX.XXX.XXX.XXX:514,facility=local7,tag=nginx,severity=error;
设置 Rsyslog
module(load="imtcp")
input(type="imtcp" port="514")
#$template RemoteLogs,"/syslogs/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
这就是我如何在 Rsyslog 服务器上获取名为bla.example.ru.access.log和bla.example.ru.error.log的文件 ,而不仅仅是nginx.log
如果有人知道拐杖方法,官方文档中没有这种可能性。