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?
1 ответ
Nginx использует RFC 3164 для определения своей регистрации.
Есть закрытый билет на этот вопрос. (и ссылка на изменение) https://trac.nginx.org/nginx/ticket/677