syslogd в Linux | Windows для системных администраторов

syslogd в Linux

Любой системный администратор  должен понимать значение и важность системных логов или журналов событий. Их нужно уметь правильно настраивать и анализировать. Ведь именно в логах находится вся необходимая информация, необходимая администратору для анализа работы и проблем в системе.  В этой статье хочу поговорить о особенностях стандартной системы логов  в Linux (FreeBSD).

По умолчанию, в Linux системах стоит демон syslogd, именно на него возложена задача записи логов от разных служб системы. Конфигурационный файл этого сервиса называется syslogd.conf.

В этом конфиге задаются настройки, определяющие файлы, в которые будут сыпаться те или иные сообщения.  Сообщения классифицируются  по приоритету (priority), и по отправителю (facility – это служба, от которой поступают сообщения), а так же по имени службы или программы, которая  отправляет сообщение.
Поэтому, администратор может фильтровать логи от различных приложений, то есть определять в какой файл будут сыпаться те или иные логи).
Например, за запись логов ядра (facility LOG_KERN), которые имеют критический приоритет, в файл /var/log/kernel.crit,  syslogd.conf необходимо настроить следующим образом:

kern.crit        /var/log/kernel.crit

Если вы захотите писать любые сообщения с  приоритетом LOG_ERR в файл mesg.err, добавьте следующую строку в конфиг:

*.err         /var/log/mesg.err

В том  случае, если у вас возникнет желание разделять сообщения от определенной facility в свой файл, например, нужно, чтобы все сообщения от почтовой системы (имеющие любой приоритет) писались в файл /var/log/maillog, добавьте следующую строку в syslogd.conf:

mail.*           /var/log/maillog

Следующая немаловажная возможность, это возможность писать в файл события попадающие под один из перечисленных фильтров. Если вы захотите использовать группу фильтров, например, нужно писать в файл /var/log/ errcrit все  события с приоритетами LOG_CRIT и LOG_ERR, это может выглядеть следующим образом:

*.crit;*.err    /var/log/errcrit

Ну, и наконец, можно писать все логи системы в один файл (сложно, конечно, найти пример такой необходимости). Настроить это можно следующим способом:

*.*           /var/log/everything.log

Перейдем к еще одной интерсной и полезной особенности syslogd. В рассмотренных выше примерах все службы, использующие syslogd,  отправляют свои сообщения только на локальную машину. Однако сам демон syslogd, умеет перенаправлять такие сообщения и на удаленную машину. Естественно, syslogd умеет и принимать такие сообщения от удаленной системы.
Например, нам нужно перенаправить все почтовые логи на единый сервер логирования, имеющий ip 10.0.0.20, тогда  syslog.conf пишем:

mail.*        @10.0.0.20

Как вы видите вместо имени файла мы указываем ip адрес сервера с @ в начале.
Однако, наш удаленный сервер не может принимать логи с другой системой. Прием логов на сервере 10.0.0.20 нужно сначала включить. Для этого в rc.conf нужно установить соответствующие флаги запуска для syslogd. В данном случае мы разрешаем принимать логии от всех серверов в нашей локальной сети:

syslogd_flags="-a 10.0.0.0/24:*"

На принимающей стороне важно не забыть  убрать флаг -s, иначе опция -a будет игнорироваться. Если вам потребуется указать несколько сетей или хостов, от которых разрешено принимать логии syslogd, то нужно добавлять флаг -a для каждой сети или хоста.

И напоследок. При всей свое мощи syslogd не самое хорошее решение для построения единой системой логирования, ведь в нем отсутствует фильтрация по адресу хоста, и при большом количестве серверов в ваших  логах будет затруднительно что либо найти. Поэтому необходимо  как-то планировать единое логирование, либо использовать другие логгеры, например rsyslogd.

Еще записи по теме: Linux
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.24MB/0.00094 sec