Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: вопрос - offtopic
On Sunday 02 December 2007 01:13, Anton Yuzhaninov wrote:
> On 02.12.2007 0:33, Nikolay Grebnev wrote:
> > Или только складывать логи локально, и ежесуточно их автоматом
> > переливать в другое место?
>
> Но если после того как данные были записаны в буфер но до того как были
> переданы, хост получателя вдруг станет недоступен, то данные будут
> потеряны. ОС будет чесно пытаться доставить данные (tcp retransmit) но
> делать вечно она этого не может. Да и в случае перезагрузки удаленного
> хоста это не поможет.
>
> Следующий write() уже скорее всего вернет ошибку, и логи начнут
> буферезироваться локально. Но содержимое предыдущего write() будет
> потеряно.
>
> Чтобы оно не терялось syslog-сервер должен посылать назад отправителю
> подтверждение того, что данные получены. Насколько я знаю в syslog-ng таких
> подтверждений нет (но я могу ошибаться, исходники смотрел давно и
> недостаточно внимательно).
Даже этого недостаточно - syslog-сервер точно так же может потерять данные,
сделав write на диск, отправив ACK по сети,и в этот момент может сгореть
процессор. Данные не попадут на физический носитель и будут потеряны.
Если хочется чего-то действительно надежного, надо сохранять логи в
транзакционную БД, но это очевидный overkill ;-)
--
Andrei Nigmatulin
GPG PUB KEY 6449830D
Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take
|