Rsyslog + Nginx. Настройка конечного файла
настраиваю связку 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
В официальной документации нет такой возможности, вдруг кто знает костыльный метод.
Ответы (1 шт):
Нашел решение, оказывается что tag=nginx он и формирует имя файла. Если tag=example_bla_bla_ru то конечный файл будет называться example_bla_bla_ru.log Данное поле пропускает только Алфавит и подчеркивание