The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Замена стандартного syslogd на syslog-ng в slackware linux. (log syslog slackware linux)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: log, syslog, slackware, linux,  (найти похожие документы)
From: Alexey Osiyuk aka Zmodem <zmodem@zmodem.tomsk.ru.> Newsgroups: email Date: Mon, 20 Feb 2006 14:31:37 +0000 (UTC) Subject: Замена стандартного syslogd на syslog-ng в slackware linux. Преамбула syslog-ng (syslog next generation) - это многофункциональный демон протоколирования системных сообщений. По сравнению со стандартным демоном syslogd он имеет ряд отличий:
  • усовершенствованная схема конфигурации
  • фильтрация сообщений не только по приоритетам, но и по их содержанию
  • поддержка regexps (regular expressions)
  • более гибкое манипулирование и организация логов
  • возможность шифрования канала передачи данных с помощью IPSec/Stunnel Нам понадобится
  • syslog_ng
  • немного времени и чуть-чуть терпения :) Подготовка Скачиваем: syslog-ng-1.6.9.tar.gz Устанавливаем: bison, flex, byacc, checkinstall. Эти пакеты уже есть в дистрибутиве slackware, поэтому я просто установил их через swaret. Сборка syslog-ng Копируем syslog-ng-1.6.9.tar.gz, например, в /usr/src/syslog-ng, распаковываем и собираем: $ tar zxvf syslog-ng-1.6.9.tar.gz $ cd syslog-ng-1.6.9/libol-0.3.17 $ ./configure $ make make install на этой стадии делать не обязательно, вместо этого мы просто укажем путь к дереву libol для syslog-ng. По желанию, через --prefix можно указать каталог, относительно которого будет установлен syslog-ng. $ cd .. $ ./configure --with-libol=/usr/src/syslog-ng/syslog-ng-1.6.9/libol-0.3.17 --prefix=/ $ make $ checkinstall Настройка Создаем директорию /etc/syslog-ng (в моем случае после установки она почему-то отсутствовала:) ) Конфигурационный файл syslog-ng.conf оперирует 4-мя основными директивами:
  • source - локальный/удаленный источник сообщений.
  • filter - фильтр сообщений по приоритетам, по имени программы, по имени хоста или же с помощью regexp.
  • destination - указатель на приемник сообщений. Это может быть файл, консоль, внешняя программа или TCP/UDP соединение.
  • log - служит для объединения 3-х предыдущих директив и определяет, каким образом будет обработано сообщение. Для более подробного описания всех доступных директив обратитесь к справочному руководству по syslog-ng. Ниже приводится пример конфигурационного файла для замены стандартного syslog.conf в свежеустановленной системе slackware 10.2 (в вашем случае, набор параметров может отличаться:) ) options { long_hostnames(off); sync(0); }; source src { unix-stream("/dev/log"); internal(); }; destination authlog { file("/var/log/secure"); }; destination syslog { file("/var/log/syslog"); }; destination warn { file("/var/log/syslog"); }; destination cron { file("/var/log/cron"); }; # Uncomment this to see kernel messages on the console. #destination kern { file("/dev/console"); }; destination uucp { file("/var/log/spooler"); }; destination newscrit { file("/var/log/spooler"); }; destination mail { file("/var/log/maillog"); }; destination mailinfo { file("/var/log/maillog"); }; destination mailwarn { file("/var/log/maillog"); }; destination mailerr { file("/var/log/maillog"); }; destination debug { file("/var/log/debug"); }; destination messages { file("/var/log/messages"); }; filter f_auth { facility(auth); }; filter f_authpriv { facility(auth); }; filter f_syslog { not facility(mail); }; filter f_cron { facility(cron); }; # Uncomment this to see kernel messages on the console. #filter f_kern { facility(kern); }; filter f_mail { facility(mail); }; filter f_uucp { facility(uucp); }; filter f_news { facility(uucp); }; filter f_debug { not facility(auth, authpriv, news, mail); }; filter f_messages { level(info) and not facility(auth, authpriv, mail, news); }; filter f_info { level(info); }; filter f_notice { level(notice); }; filter f_warn { level(warn); }; filter f_crit { level(crit); }; filter f_err { level(err); }; log { source(src); filter(f_authpriv); destination(authlog); }; log { source(src); filter(f_syslog); destination(syslog); }; log { source(src); filter(f_warn); destination(syslog); }; log { source(src); filter(f_crit); destination(syslog); }; log { source(src); filter(f_err); destination(syslog); }; log { source(src); filter(f_cron); destination(cron); }; # Uncomment this to see kernel messages on the console. #log { source(src); filter(f_kern); destination(kern); }; log { source(src); filter(f_mail); destination(mail); }; log { source(src); filter(f_uucp); destination(uucp); }; log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); }; log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); }; log { source(src); filter(f_mail); filter(f_err); destination(mailerr); }; log { source(src); filter(f_news); filter(f_crit); destination(newscrit); }; log { source(src); filter(f_debug); destination(debug); }; log { source(src); filter(f_messages); destination(messages); }; Для запуска syslog-ng при старте ОС нам понадобится следующий скрипт, за основу взят "родной" rc.syslog: #!/bin/sh # Start/stop/restart the syslog-ng daemon. # syslog_ng_start() { if [ -x /sbin/syslog-ng ]; then echo -n "Starting syslog-ng daemon: " echo "/sbin/syslog-ng " /sbin/syslog-ng fi } syslog_ng_stop() { killall syslog-ng 2> /dev/null } syslog_ng_restart() { syslog_ng_stop sleep 1 syslog_ng_start } case "$1" in 'start') syslog_ng_start ;; 'stop') syslog_ng_stop ;; 'restart') syslog_ng_restart ;; *) echo "usage $0 start|stop|restart" esac Сохраняем его в /etc/rc.d под именем rc.syslog-ng, устанавливаем права на запуск. Добавляем в /etc/rc.d/rc.M: # Start the next generation system logger. if [ -x /etc/rc.d/rc.syslog-ng ]; then . /etc/rc.d/rc.syslog-ng start fi Снимаем права на запуск у файла /etc/rc.d/rc.syslog и перезагружаемся. Если все было сделано правильно, при запуске системы видим Starting syslog-ng daemon и радуемся полчаса :) Заключение Все вышеизложенное производилось в системе Slackware Linux 10.2, kernel 2.6.15. Пожелания/критика/ругательства - принимаются :) //Zmodem

  • << Предыдущая ИНДЕКС Правка src / Печать Следующая >>

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру