syslog

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

syslog

Непрочитанное сообщение gumeniuc » 2011-07-02 19:52:57

Доброго времени суток,

Вопрос собственно в следующем. Каким образом можно запустить некий скрипт при появлении логов какого-либо демона ? Насколько я понимаю , кроме как syslog, больше рассчитывать не на что.

При попытке проделать что-то подобное

Код: Выделить всё

auth.info				|	/usr/1.sh
скрипт не отрабатывает.

Собственно скрипт исключительно для проверки факта запуска

Код: Выделить всё

#!/usr/local/bin/bash

echo "Alert" >> /usr/alert.txt
Подскажите, пожалуйста, как лучше реализовать подобную задачу.
спасибо
Последний раз редактировалось f_andrey 2011-07-02 20:14:47, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.
Да шо ему сделается...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: syslog

Непрочитанное сообщение Electronik » 2011-07-02 20:21:36

в cron запихни скрипт который будет отслеживать появления нового файла, а-ля

Код: Выделить всё

ls /path/to/log/file | grep file.log
и как то ка файл появился то сразу бы запускал второй скрипт
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2011-07-02 21:20:36

Код: Выделить всё

man syslog.conf
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

Re: syslog

Непрочитанное сообщение gumeniuc » 2011-07-03 15:42:37

Electronik писал(а):в cron запихни скрипт который будет отслеживать появления нового файла, а-ля

Код: Выделить всё

ls /path/to/log/file | grep file.log
и как то ка файл появился то сразу бы запускал второй скрипт
спасибо за совет, но крон это крон, тут всётаки вопрос скорее о real-time.
Да шо ему сделается...

Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

Re: syslog

Непрочитанное сообщение gumeniuc » 2011-07-03 15:49:52

FreeBSP писал(а):

Код: Выделить всё

man syslog.conf
по правде сказать, вижу в примере строку о перенаправлении auth логов в некий фильтр

Код: Выделить всё

  # Pipe all authentication messages to a filter.
     auth.*                                  |exec /usr/local/sbin/authfilter
Намекните, пожалуйста, что это за фильтр такой.

спасибо
Да шо ему сделается...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2011-07-03 17:08:36

gumeniuc писал(а):Каким образом можно запустить некий скрипт при появлении логов какого-либо демона ?
gumeniuc писал(а):

Код: Выделить всё

  # Pipe all authentication messages to a filter.
     auth.*                                  |exec /некий/скрипт 
gumeniuc писал(а):Намекните, пожалуйста, что это за фильтр такой.
думаю, это просто пример
при желании можно распаковать все порты в ports/security/ и поискать там
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

Re: syslog

Непрочитанное сообщение gumeniuc » 2011-07-03 21:36:11

FreeBSP писал(а):
gumeniuc писал(а):Каким образом можно запустить некий скрипт при появлении логов какого-либо демона ?
gumeniuc писал(а):

Код: Выделить всё

  # Pipe all authentication messages to a filter.
     auth.*                                  |exec /некий/скрипт 
gumeniuc писал(а):Намекните, пожалуйста, что это за фильтр такой.
думаю, это просто пример
при желании можно распаковать все порты в ports/security/ и поискать там
По правде сказать, я так и сделал, но ничего не работает.

Код: Выделить всё

auth.info;authpriv.info                         |exec /usr/1.sh
при этом права на 1.sh 555 , на alert.txt 666. Вроде и прав и на чтение и на запуск и на исполнение хватает, но при авторизации ничего не пишется в файл.
Да шо ему сделается...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2011-07-03 23:13:37

сислог был перезапущен?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

Re: syslog

Непрочитанное сообщение gumeniuc » 2011-07-04 19:22:33

FreeBSP писал(а):сислог был перезапущен?
сислог был перезапущен, и полный ребут был, и сислог в дебаг моде смотрел. Вроде как должно работать, но не работает.
Да шо ему сделается...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2011-07-04 20:56:45

запись в общей части?

Код: Выделить всё

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                         /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

Код: Выделить всё

!ppp
*.*                                             /var/log/ppp.log
часть обработки логов от ident mpd

Код: Выделить всё

!mpd
*.*                                             /var/log/mpd.log
дополнительно раскомментируйте all.log, проверьте facility, приоритет и идентификатор получаемых логов
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

Re: syslog

Непрочитанное сообщение gumeniuc » 2011-07-04 21:33:19

Я сделал следующим образом:

Код: Выделить всё

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 пуст.
Да шо ему сделается...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2011-07-04 21:41:36

похоже на ошибку в мане
или изменение поведения exec
или что то еще
сразу после пайпа надо сразу писать обработчик, вместо "exec обработчик"

testbed# vidcontrol -P < /dev/ttyv1

Код: Выделить всё

testbed#























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

Код: Выделить всё

#!/bin/sh

echo Bingo! >> /dev/ttyv1
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!




















Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

Re: syslog

Непрочитанное сообщение gumeniuc » 2011-07-04 22:10:00

Премного благодарен !!! Теперь заработало :) Огромнейшее спасибо !
Да шо ему сделается...

Olorin
рядовой
Сообщения: 26
Зарегистрирован: 2009-04-14 4:35:11
Контактная информация:

Re: syslog

Непрочитанное сообщение Olorin » 2012-01-17 10:05:19

Есть примерно такая же проблема - хочу на лету перехватывать от ipfw записи в syslog. Первоначально в syslog.conf была такая запись:

Код: Выделить всё

!ipfw
*.*                                             -/var/log/ipfw.log
Все работает, лог фаерволла пишется, соответственно, в /var/log/ipfw.log.

Мне нужно обрабатывать лог фаерволла на лету. Для теста написал скрипт temp.sh простого содержания, чтобы все пришедшие записи записывались в файл:

Код: Выделить всё

#!/bin/sh

echo $* >> /home/olorin/123
И отредактировал syslog.conf:

Код: Выделить всё

!ipfw
*.*                                            |exec /home/olorin/temp.sh
После рестарта syslog.conf в /home/olorin/123 записываются переносы строк. Попробовал, как советовали выше, убрать exec из конфига - не помогло.
Отличие от того, что было сделано товарищем FreeBSP, в том, что мне нужны сами сообщения, которые появляются в логе.
Есть идеи, господа?

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2012-01-17 10:39:30

сообщения на стандартном вводе скрипта
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Olorin
рядовой
Сообщения: 26
Зарегистрирован: 2009-04-14 4:35:11
Контактная информация:

Re: syslog

Непрочитанное сообщение Olorin » 2012-01-17 10:56:12

Черт побери, чего ж я сам не догадался?)
Спасибо FreeBSP, получился такой скрипт на shell'е (опять же, тестовый):

Код: Выделить всё

#!/bin/sh

read a
echo $a >> /home/olorin/123
Дальше буду писать обработчик на питоне :)

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2012-01-17 11:30:54

в одном сообщении может быть больше одной строки
while read a; do echo $a ...; done;
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Olorin
рядовой
Сообщения: 26
Зарегистрирован: 2009-04-14 4:35:11
Контактная информация:

Re: syslog

Непрочитанное сообщение Olorin » 2012-01-17 11:49:47

Хмм.. Учту при разработке, спасибо большое.)

spf
ефрейтор
Сообщения: 56
Зарегистрирован: 2009-11-05 15:28:46

Re: syslog

Непрочитанное сообщение spf » 2012-01-18 9:49:08

не проще ли сделать

Код: Выделить всё

#!/bin/sh

cat >> /home/olorin/123

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: syslog

Непрочитанное сообщение FreeBSP » 2012-01-18 10:49:33

:shock:
красиво
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

FiL
ст. лейтенант
Сообщения: 1368
Зарегистрирован: 2010-02-05 0:21:40

Re: syslog

Непрочитанное сообщение FiL » 2012-01-18 17:03:08

spf писал(а):не проще ли сделать

Код: Выделить всё

#!/bin/sh

cat >> /home/olorin/123
с учетом того, что потом в этом скрипте все-таки должен быть обработчик, то нет, не проще.
Надо таки читать read-ом и обрабатывать.