[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "Правильные" демоны - не демоны?



On Fri, 28 Aug 2009 15:18:49 +0400
Alexey Pechnikov <pechnikov@mobigroup.ru> wrote:

> > > Этот процесс клонируется сколько-то раз (в том числе, каждый 
> > > разработчик может для себя один или более экземпляров запустить), при этом
> > > меняется число NNN. Каждый процесс посылает сообщения разного уровня в 
> > > сислог (ошибки, информация, предупреждения, плюс еще нужно разделить
> > > сообщения по имени модуля регекспами). Логи должны писаться с правами 
> > > пользователя, который запустил клон и желательно в ~/log/.... Положим, 
> > > NNN можно передать в самих сообщениях, rsyslog в этом случае логи разделит. 
> > > Но пользователя получить не удастся, такая информация в syslog не передается.
> > 
> > А ты передай. Рядом с NNN.
> 
> Сервис может быть запущен пользователем X, но от имени www-data. Это только
> система init знает, кто же на самом деле запустил.

А ещё это знает тот самый разработчик, который его запустил. Он же
правил его конфиги и указывал ему параметры для запуска. В том числе он
может и указать идентификатор для syslog-а.

Позволю себе сформулировать за тебя, что же ты пытаешься от нас узнать,
отфильтровав домыслы, которые мешают видеть задачу и постоянно уводят
куда-то в сторону излишне усложнённых решений. Если это решение не
устраивает, изволь указать его конкретные недостатки, но не в форме "оно
не реализует всех возможностей <подставить имя суперпупернавороченной
системы логгинга/ротации/фильтрования и прочих шашек и поэтесс>".

Есть некая программа, которая разрабатывается в твоей конторе.
Есть несколько разработчиков, одновременно на одном сервере её
запускающих.
Задача: получить логи от каждого инстанса раздельно и читать их со время
отладки.
Усложнение задачи: из-за недодумок в проектировании логгинг не
абстрагирован от конкретного метода логгинга (через syslog).

Решение:
Реализовать два метода логгинга.
Передавать метод логгинга (syslog/файл) и файл, в который писать
результат, каждому инстансу программы как сейчас передаётся порт для
ожидания входящих соединений.
Фильтровать нужные записи из лога с помощью grep.

> Да, если вам так просто написать эту самую малюсенькую утилиту, которая будет
> через init-систему определять истинного владельца (по имени сервиса можно
> найти скрипт запуска), собирать логи, менять конфигурацию сислога для 
> логирования в нужную директорию и проч., хотелось бы это увидеть :-)

Нет, милый друг, ты подменяешь задачу "читать из пайпа и писать в
syslog" на другую.  А задачи, сформулированные через неприличное место,
я решаю только за материальное вознаграждение.

-- 
Alexander Galanin
http://galanin.nnov.ru

Attachment: pgpQWkJVPi0e1.pgp
Description: PGP signature


Reply to: