syslog вопрос по настройке [SOLVED]
joper 21 ноября, 2008 - 14:56
Использую sysklogd-1.4.2_pre20061230-r2
Например у меня есть dhcp-сервер, логи от него валятся в /var/log/messages и в /var/log/syslog
Мне нужно чтобы логи от него сыпались в отлельный файл, например /var/log/dhcpd.log, и НЕ сыпались в /var/log/messages и в /var/log/syslog.
Добавил в syslog.conf строки
!dhcpd
*.* /var/log/dhcpd.log
Теперь логи от dhcp-сервера валятся в 3 файла: /var/log/dhcpd.log, /var/log/messages, /var/log/syslog. Причём в /var/log/dhcpd.log валятся и остальные логи, которые идут в /var/log/syslog....
Помогите настроить вообщем.
»
- Для комментирования войдите или зарегистрируйтесь

Можешь процитировать конфиг
Можешь процитировать конфиг полностью?
Если узнаю синтаксис стандартного
syslogd- точно помогу.:wq
--
Live free or die
# cat /etc/syslog.conf # #
# cat /etc/syslog.conf # # First some standard logfiles. Log by facility. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog cron.* -/var/log/cron/cron.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log lpr.* -/var/log/lpr.log mail.* /var/log/mail.log user.* -/var/log/user.log uucp.* -/var/log/uucp.log local6.debug /var/log/imapd.log # # Logging for the mail system. Split it up so that # it is easy to write scripts to parse these files. # mail.info -/var/log/mail.info mail.warn -/var/log/mail.warn mail.err /var/log/mail.err # Logging for INN news system # news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice -/var/log/news/news.notice # # Some `catch-all' logfiles. # *.=debug;\ auth,authpriv.none;\ news.none;mail.none -/var/log/debug *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none -/var/log/messages # # Emergencies are sent to everybody logged in. # *.emerg * local2.* -/var/log/ppp.log !dhcpd *.* /var/log/dhcpd.log.
Объявление '*.*' - это all.log!
Относительно данного конкретного приложения не вполне уверен (но конфиг очень похож на syslogd), но есть большое подозрение, что он, как и syslogd, по имени программы фильтровать не умеет.
Варианты решения:
1. Настроить логирование dhcpd на LOG_LOCAL по вкусу.
Объявить соответствующим образом лог.
Заэкранировать от логов dhcpd системные (например messages).
Обрести счастье.
Пример (правда для других приложений, но сие не важно):
2. Переехать на
syslog-ng.Настроить фильтр по имени программы.
Поправить объявление лога.
И вот оно - счастье.
Про фильтры syslog-ng читать здесь.
:wq
--
Live free or die
Спасибо. PS. А чем syslog-ng
Спасибо.
PS. А чем syslog-ng лучше/хуже sysklogd(syslogd)?
.
Вне контекста конкретной задачи вопрос лучше/хуже носит исключительно религиозный характер.
Может я конечно что-то упустил, но с точки зрения разбора сообщений из одного потока по разным файлам
syslog-ngпредоставляет куда более широкие возможности.Опять же: по моим наблюдениям, фанаты
syslogdпредпочитают разнесению по разным файлам (в том числе: индивидуальная настройка периода ротации) использоватьgrep||grep -v:wq
--
Live free or die
А как?
И последний вопрос, как это сделать?
.
dhcpd не видел и не могу сказать, что горю желанием.
Согласно гуглу:
:wq
--
Live free or die
всё получилось, спасибо.
всё получилось, спасибо.