Назад | Перейти на главную страницу

Nginx: Теги в выводе системного журнала в неправильном положении

Я пытаюсь вывести журналы нескольких серверов Nginx в тюрьмах FreeBSD на хост тюрьмы. Я использую системный журнал FreeBSD 10 и Nginx 1.7.10.

В Nginx (в данном случае имя хоста web) Я установил:

access_log syslog:server=127.0.0.1:514 syslog;

http://nginx.org/en/docs/syslog.html

В хозяйской syslog.conf:

+web
*.=info                                          /var/log/jails/web/nginx-access.log

В хозяйской rc.conf:

syslogd_flags="-a 10.0.0.1/24:* -v -v -C"

вывод в моем файле

Mar 31 19:45:50 <local7.info> web web nginx: […]

Моя проблема в том, что я хотел бы указать теги в Nginx, чтобы различать несколько серверов.

Согласно документации FreeBSD syslog.conf

Если полученное сообщение соответствует указанному средству и имеет указанный уровень (или более высокий уровень), а первое слово в сообщении после даты совпадает с программой, будет выполнено действие, указанное в поле действия.

https://www.freebsd.org/cgi/man.cgi?query=syslog.conf&sektion=5

Но мой результат hostname hostname tag / program.

Итак, пытаясь указать программу / тег в syslog.conf(лайк !nginx) не работает.

Есть ли способ перехватывать теги в системном журнале FreeBSD? Это ошибка в Nginx 1.7.10?

Nginx использует RFC 3164 для определения ведения журнала.

Есть закрытая заявка на эту проблему. (и ссылка на изменение) https://trac.nginx.org/nginx/ticket/677