Страница 1 из 1
syslog
Добавлено: 2011-07-02 19:52:57
gumeniuc
Доброго времени суток,
Вопрос собственно в следующем. Каким образом можно запустить некий скрипт при появлении логов какого-либо демона ? Насколько я понимаю , кроме как syslog, больше рассчитывать не на что.
При попытке проделать что-то подобное
скрипт не отрабатывает.
Собственно скрипт исключительно для проверки факта запуска
Код: Выделить всё
#!/usr/local/bin/bash
echo "Alert" >> /usr/alert.txt
Подскажите, пожалуйста, как лучше реализовать подобную задачу.
спасибо
Re: syslog
Добавлено: 2011-07-02 20:21:36
Electronik
в cron запихни скрипт который будет отслеживать появления нового файла, а-ля
и как то ка файл появился то сразу бы запускал второй скрипт
Re: syslog
Добавлено: 2011-07-02 21:20:36
FreeBSP
Re: syslog
Добавлено: 2011-07-03 15:42:37
gumeniuc
Electronik писал(а):в cron запихни скрипт который будет отслеживать появления нового файла, а-ля
и как то ка файл появился то сразу бы запускал второй скрипт
спасибо за совет, но крон это крон, тут всётаки вопрос скорее о real-time.
Re: syslog
Добавлено: 2011-07-03 15:49:52
gumeniuc
по правде сказать, вижу в примере строку о перенаправлении auth логов в некий фильтр
Код: Выделить всё
# Pipe all authentication messages to a filter.
auth.* |exec /usr/local/sbin/authfilter
Намекните, пожалуйста, что это за фильтр такой.
спасибо
Re: syslog
Добавлено: 2011-07-03 17:08:36
FreeBSP
gumeniuc писал(а):Каким образом можно запустить некий скрипт при появлении логов какого-либо демона ?
gumeniuc писал(а):Код: Выделить всё
# Pipe all authentication messages to a filter.
auth.* |exec /некий/скрипт
gumeniuc писал(а):Намекните, пожалуйста, что это за фильтр такой.
думаю, это просто пример
при желании можно распаковать все порты в ports/security/ и поискать там
Re: syslog
Добавлено: 2011-07-03 21:36:11
gumeniuc
FreeBSP писал(а):gumeniuc писал(а):Каким образом можно запустить некий скрипт при появлении логов какого-либо демона ?
gumeniuc писал(а):Код: Выделить всё
# Pipe all authentication messages to a filter.
auth.* |exec /некий/скрипт
gumeniuc писал(а):Намекните, пожалуйста, что это за фильтр такой.
думаю, это просто пример
при желании можно распаковать все порты в ports/security/ и поискать там
По правде сказать, я так и сделал, но ничего не работает.
при этом права на 1.sh 555 , на alert.txt 666. Вроде и прав и на чтение и на запуск и на исполнение хватает, но при авторизации ничего не пишется в файл.
Re: syslog
Добавлено: 2011-07-03 23:13:37
FreeBSP
сислог был перезапущен?
Re: syslog
Добавлено: 2011-07-04 19:22:33
gumeniuc
FreeBSP писал(а):сислог был перезапущен?
сислог был перезапущен, и полный ребут был, и сислог в дебаг моде смотрел. Вроде как должно работать, но не работает.
Re: syslog
Добавлено: 2011-07-04 20:56:45
FreeBSP
запись в общей части?
общая часть Код: Выделить всё
# $FreeBSD: src/etc/syslog.conf,v 1.30.2.1 2009/08/03 08:13:06 kensmith Exp $
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manpage.
*.err;kern.warning;auth.notice;mail.crit /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
ftp.info /var/log/xferlog
cron.* /var/log/cron
*.=debug /var/log/debug.log
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
*.* /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
часть обработки логов от ident ppp
часть обработки логов от ident mpd
дополнительно раскомментируйте all.log, проверьте facility, приоритет и идентификатор получаемых логов
Re: syslog
Добавлено: 2011-07-04 21:33:19
gumeniuc
Я сделал следующим образом:
Код: Выделить всё
auth.info;authpriv.info /var/log/auth.log
auth.info;authpriv.info |exec /usr/1.sh
Затем tail -f /var/log/auth.log и tail -f /usr/alert.txt. Открываю ssh сессию, при этом в auth.log логи выпятся, а alert.txt пуст.
Re: syslog
Добавлено: 2011-07-04 21:41:36
FreeBSP
похоже на ошибку в мане
или изменение поведения exec
или что то еще
сразу после пайпа надо сразу писать обработчик, вместо "exec обработчик"
testbed# vidcontrol -P < /dev/ttyv1
testbed# cat /etc/syslog.conf
Код: Выделить всё
# $FreeBSD: src/etc/syslog.conf,v 1.30.2.1 2009/08/03 08:13:06 kensmith Exp $
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manpage.
*.err;kern.warning;auth.notice;mail.crit /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
auth.info;authpriv.info |/root/bin/syslogtest.sh
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
ftp.info /var/log/xferlog
cron.* /var/log/cron
*.=debug /var/log/debug.log
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
*.* /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!ppp
*.* /var/log/ppp.log
!mpd
*.* /var/log/mpd.log
#!*
testbed# cat /root/bin/syslogtest.sh
testbed# ssh nunexistuser@127.0.0.1
Код: Выделить всё
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
RSA key fingerprint is **********************************************************.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.
Password:
Password:
Password:
Permission denied (publickey,keyboard-interactive).
testbed# vidcontrol -P < /dev/ttyv1
Код: Выделить всё
testbed# Bingo!
Bingo!
Bingo!
Bingo!
Bingo!
Re: syslog
Добавлено: 2011-07-04 22:10:00
gumeniuc
Премного благодарен !!! Теперь заработало
Огромнейшее спасибо !
Re: syslog
Добавлено: 2012-01-17 10:05:19
Olorin
Есть примерно такая же проблема - хочу на лету перехватывать от ipfw записи в syslog. Первоначально в syslog.conf была такая запись:
Все работает, лог фаерволла пишется, соответственно, в /var/log/ipfw.log.
Мне нужно обрабатывать лог фаерволла на лету. Для теста написал скрипт
temp.sh простого содержания, чтобы все пришедшие записи записывались в файл:
И отредактировал syslog.conf:
После рестарта syslog.conf в
/home/olorin/123 записываются переносы строк. Попробовал, как советовали выше, убрать
exec из конфига - не помогло.
Отличие от того, что было сделано товарищем
FreeBSP, в том, что мне нужны сами сообщения, которые появляются в логе.
Есть идеи, господа?
Re: syslog
Добавлено: 2012-01-17 10:39:30
FreeBSP
сообщения на стандартном вводе скрипта
Re: syslog
Добавлено: 2012-01-17 10:56:12
Olorin
Черт побери, чего ж я сам не догадался?)
Спасибо
FreeBSP, получился такой скрипт на shell'е (опять же, тестовый):
Код: Выделить всё
#!/bin/sh
read a
echo $a >> /home/olorin/123
Дальше буду писать обработчик на питоне
Re: syslog
Добавлено: 2012-01-17 11:30:54
FreeBSP
в одном сообщении может быть больше одной строки
while read a; do echo $a ...; done;
Re: syslog
Добавлено: 2012-01-17 11:49:47
Olorin
Хмм.. Учту при разработке, спасибо большое.)
Re: syslog
Добавлено: 2012-01-18 9:49:08
spf
Re: syslog
Добавлено: 2012-01-18 10:49:33
FreeBSP
красиво
Re: syslog
Добавлено: 2012-01-18 17:03:08
FiL
spf писал(а):не проще ли сделать
с учетом того, что потом в этом скрипте все-таки должен быть обработчик, то нет, не проще.
Надо таки читать read-ом и обрабатывать.