LINUX.ORG.RU
ФорумAdmin

nginx logs отправка логов по syslog

 , , ,


0

1

Крайне простой и рабочий вариант - добавляем к любому хосту:

access_log syslog:server=192.168.1.15:514,tag=nginx_access nginx_json_log_format; error_log syslog:server=192.168.1.15:515,tag=nginx_error;

НО - error_log не поддерживает формат лога - и неизвестно по какому хосту получена запись об ошибке :(

можно ли как то обойти?

вижу что можно указать tag=, но не вижу как можно задать какой нибудь аттрибут который будет передан вместе с данными которые отправляются на rsyslog, кто нибудь знает как можно обойти это ограничение?

Ответ на: комментарий от AS

чем поможет syslog-ng если файлов порядка 1000 как и хостов, под каждый файл свою конфиграцию syslog-ng? ну хорошо, пусть так, и что там писать? а главное какой в этом смысл? файл лога ошибок - вот он отдельный , имя файла его какое-то, как это поможет понять по какому какому хосту nginx туда пишуется данные (из какой секции server) ?

VoDD87 ()
Ответ на: комментарий от VoDD87

отдельные серкции server - они всегда отдельные. и что из этого?

Имелось в виду выставить в каждой секции server нужный тэг:

server {
    server_name vhost1;
    error_log syslog:server=192.168.1.15:515,tag=nginx[vhost1];
}
server {
    server_name vhost2;
    error_log syslog:server=192.168.1.15:515,tag=nginx[vhost2];
}

файл лога ошибок - вот он отдельный , … как это поможет понять по какому какому хосту nginx туда пишуется данные (из какой секции server) ?

В каждой секции server можно указать свой собственный файл.

spirit ★★★★★ ()
Ответ на: комментарий от VoDD87

чем поможет syslog-ng если файлов порядка 1000 как и хостов

source s_files {
wildcard-file(
base-dir(«/var/log»)
filename-pattern(«*.log»)
);
};

как это поможет понять по какому какому хосту nginx туда пишуется данные (из какой секции server) ?

Шаблон на destination. Скорее всего будет какой-то вариант. Мне поискать?

AS ★★★★★ ()
Ответ на: комментарий от VoDD87

да, если можно. спасибо!

Вот лентяй. https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-editi...

FILE_NAME

Description: Name of the log file (including its path) from where syslog-ng OSE received the message (only available if syslog-ng OSE received the message from a file or a wildcard-file source). If you need only the path or the filename, use the dirname and basename template functions.

AS ★★★★★ ()