Я пытаюсь сделать анализатор журналов, используя perl. Анализатор будет работать 24 часа в сутки 7 дней в неделю в фоновом режиме на AIX сервере и считывать с труб, на которые syslog направляет журналы (со всей сети). В основном:
logs from network ----> named pipe A --------> | perl daemon
----> named pipe B --------> | * reads pipes
----> named pipe c --------> | * decides what to do based on which pipe
Так что, например, я хочу, чтобы мой демон мог быть настроен на почту root@domain.com
все журналы, которые записываются в именованную трубу C
. Для этого, я предполагаю, что демон должен иметь хэш (новый для perl, но это похоже на соответствующую структуру данных), который может быть изменен "на лету" и будет указывать ему, что делать с каждой трубкой.
Это возможно? Или мне следует создать файл .conf
в /etc
для хранения информации. Что-то вроде этого:
namedpipeA:'mail root@domain.com'
namedpipeB:save:'mail user@domain.com'
Итак, получение чего-либо из A
будет отправлено по адресу root@domain.com
, а всё из B
будет сохранено в лог-файл (как обычно) И отправлено по адресу user@domain.com
Поскольку я впервые использую Perl и первый раз создаю демона, могу ли я в любом случае сделать это, придерживаясь принципа KISS? Кроме того, есть ли какие-нибудь конвенции, которых я должен придерживаться? Если бы вы могли принять во внимание мое незнание при ответе, было бы очень полезно.