On Mon, Feb 05, 2024 at 09:56:54PM +0200, Gena Makhomed wrote:
> On 05.02.2024 15:21, Anatoliy Melnik via nginx-ru wrote:
> > Если у вас уже есть такое рабочее решение - поделитесь опытом, буду рад вас 
> > выслушать.
> 
> Создание нормального рабочего решения должно начинаться
> с внимательного чтения документации и исходников nginx.

 Насчёт чтения исходников -- выглядит примерно таким же экстремизмом,
 как требование знания ассемблера для прикладного программиста... :)

> Какую именно существующую проблему Вы пытаетесь решить
> с помощью ротации лог-файлов с интервалом в 30 секунд?

 Товарищ отвечал на этот вопрос:
 
https://mailman.nginx.org/pipermail/nginx-ru/2024-January/MD45SEEP573DPPEQYAFT26MPMUK5646B.html

> Потому что если программа, которая читает данные из unix socket`а
> отвалится - тогда произойдет переполенение буфера и nginx тогда
> заблокируется на операции записи в unix socket, и как следствие
> этого - перестанет выполнять свою основную функцию - перестанет
> отвечать на запросы клиентов по http / https протоколу.

 Если так, и без вариантов, то это скорее недостаток nginx-а. Нужно делать
 запись в сислог через неблокирующийся сокет, и дропать записи если
 отправлять их не удаётся. Потому что в подавляющем большинстве случаев
 факт работоспобности сервиса ВАЖНЕЕ правильности его работы и отсутствия
 разных недостатков, вроде пропуска записей в логах. А ещё лучше дать юзеру
 ручку, управляющую поведением программы при блокировке записи в лог.

 По мне так пример разумного подхода -- сквидовский logfile-daemon.
-- 
 Eugene Berdnikov
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить