Дополнительные журналы, появляющиеся в / usr / share / nginx

У нас есть удаленный сервер системного журнала, на котором мы храним журналы всех наших виртуальных машин. Все работает нормально, за исключением того, что на некоторых машинах с nginx файл журнала со всем, что было отправлено на удаленный сервер системного журнала, появился в каталоге / usr / share / nginx .

Я проверил rsyslog conf, а также nginx conf, но я не могу понять, в чем проблема. Я удаляю этот файл журнала на / usr / share / nginx , и через несколько дней он появляется снова.

django-03 mario:~$ ls -larth /usr/share/nginx/
total 1,5G
drwxr-xr-x   2 root     root   23 dic  5  2018 html
drwxr-xr-x 150 root     root 4,0K abr 23 13:34 ..
drwxr-xr-x   3 root     root  148 sep  6 06:26 .
-rw-r--r--   1 www-data root 247M oct 17 09:31 syslog:server=someserver.vps:10514,tag=nginxerror
-rw-r--r--   1 www-data root 1,2G oct 17 09:33 syslog:server=someserver.vps:10514,tag=nginxaccess

Вот конфигурация rsyslog.

###############
#### RULES ####
###############                 
... Rest of the file ...
.
.
.

*.* @@someserver.vps:10514

Как вы можете видеть, rsyslog отправляет все на сервер someserver.vps: 10514 и работает нормально.

Вот конфигурация nginx, мы отправляем журналы в обе стороны на удаленный сервер и на локальный компьютер в / var / log / syslog .

... Rest of the file ...
.
.
.
        ##
        # Logging Settings
        ##
        log_format vhosts '$host $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';

        access_log /var/log/nginx/access.log vhosts;
        error_log /var/log/nginx/error.log;
        access_log syslog:server=someserver.vps:10514,tag=nginxaccess vhosts;
        error_log syslog:server=someserver.vps:10514,tag=nginxerror;


        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}

Как вы можете видеть на / usr / share / nginx / , отображается имя someserver.vps со всеми журналами. Это похоже на 1.2G, и мы не знаем, почему там появляется.

1
задан 18 October 2019 в 23:55
2 ответа

From документация:

Запись в системный журнал доступна начиная с версии 1.7.1.

Если ваша версия старше, nginx будет рассматривать директивы системного журнала как буквальное имя файла.

В этом случае эта строка:

access_log syslog:server=someserver.vps:10514,tag=nginxaccess vhosts;

настраивает nginx для записи журнала доступа к файлу с именем syslog: server = someserver.vps: 10514, tag = nginxaccess . Абсолютного пути не существует, поэтому он создается в домашнем каталоге демонов.

0
ответ дан 3 December 2019 в 22:59

Похоже, что nginx не смог разрешить адрес someserver.vps (у нас были некоторые DNS проблемы несколько дней назад), и, как вы сказали, nginx рассматривал системный журнал как буквальное имя файла и создавал его в домашнем каталоге демонов.

Мы получали журналы на удаленном сервере системного журнала благодаря конфигурации rsyslog. И это меня сбивало с толку.

Большое спасибо за вашу помощь

1
ответ дан 3 December 2019 в 22:59

Теги

Похожие вопросы