syslog-ng.conf - файл конфигурации syslog-ng
Файл конфигурации syslog-ng.
Маршрут сообщений в syslog-ng состоит из трёх частей: источник, приёмник и правила фильтрации.
Вы можете объявить источник, воспользовавшись ключевым словом "source":
source <название_источника> { sourcedriver параметры; sourcedriver параметры; ... };
Название источника - это идентификатор, который вы используете для ссылки на группу сообщений. sourcedriver - это метод получения заданных сообщений. Доступны следующие драйверы:
* file <имя_файла> - читать сообщения из заданного файла
* unix-dgram <имя_файла> - читать сообщения из заданного сокета AF_UNIX, SOCK_DGRAM (стиль BSDi)
* unix-stream <имя_файла> - читать сообщения из заданного сокета AF_UNIX, SOCK_STREAM (стиль Linux)
* udp <IP-адрес>,<порт> - сетевой источник, используя протокол UDP. Если вы не хотите привязываться к какому-то особому интерфейсу, воспользуйтесь 0.0.0.0.
* tcp <IP-адрес>,<порт> - сетевой источник, используя протокол TCP.
* sun-streams <имя_файла> - локальный источник, используемый на системах Solaris
Приёмники могут быть созданы с помощью ключевого слова "destination":
destination <название_приёмника> { destdriver параметры; destdriver параметры; ... ; };
* file <имя_файла> - записывать сообщения в заданный файл
* unix-dgram <имя_файла> - записывать сообщения в заданный сокет AF_UNIX, SOCK_DGRAM (стиль BSDi)
* unix-stream <имя_файла> - записыватьть сообщения в заданный сокет AF_UNIX, SOCK_STREAM (стиль Linux)
* udp <IP-адрес>,<порт> - сетевой приёмник, используя протокол UDP
* tcp <IP-адрес>,<порт> - сетевой приёмник, использующий протокол TCP
* usertty <имя_пользователя> - отправлять журнал на терминал пользователя
Вы можете создать фильтры с помощью ключевого слова "filter":
filter <имя_фильтра> { выражение; };
Где выражение - это простое булево выражение. Вы можете использовать "and", "or" и "not" для подключения встроенных функций. Функции могут быть следующими:
* facility(список разделённых запятыми средств)
* level(список разделённых запятыми названий приоритетов ИЛИ диапазон разделённый "..")
* program(регулярное выражение для совпадения с именем программы)
* host(регулярное выражение для совпадения с именем узла)
* match(регулярное выражение для совпадения с сообщениями)
Вы можете соединить источник и приёмник с помощью объявления log:
log { source S1; source S2; ... filter F1; filter F2; ... destination D1; destination D2; ... };
Где Sx ссылаются на один из объявленных источников журналов, Fx один из фильтров и Dx один из приёмников.
Фильтры объединяются с помощью логической операции И.
Вы можете указать несколько глобальных опций syslog-ng в выражении options:
options { opt1; opt2; ... };
Где опцией может быть любая из следующих:
chain_hostnames(yes|no) Включает или выключает сцепленный формат имени узла. long_hostnames(yes|no) Это устаревший псевдоним для chain_hostnames(). keep_hostname(yes|no) Указывает доверять имени узла, которое включено в журнальное сообщение. Если keep_hostname - yes и в сообщении имеется имя узла, то оно остаётся неизменным, в другом случае оно всегда перезаписывается основываясь на информации о том, откуда было принято сообщение. use_dns(yes|no) Включить или выключить использование DNS. syslog-ng блокиреут DNS-запросы, поскольку включение DNS может привести к атаке с отказом в обслуживании (DoS). Для предотвращения DoS, защитите ваш целевой syslog-ng правилами пакетного фильтра, и удостоверьтесь, что все узлы, которые может запросить syslog-ng решаемы. use_fqdn(yes|no) Добавлять полностью квалифицированное доменное имя (FQDN) вместо короткого имени узла. check_hostname(yes|no) Включить или выключить требование чтобы имя узла состояло из разрешённых символов. bad_hostname(regex) Регулярное выражение, совпадающее с именами узлов, которые не должны быть приняты как есть. dns_cache(yes|no) Включить или выключить использование кэша DNS. dns_cache_expire(n) Количество секунд, на которое кэшируется удачный запрос. dns_cache_expire_failed(n) Количество секунд, на которое кэшируется неудачный запрос. dns_cache_size(n) Количество имён узлов в кэше DNS. create_dirs(yes|no) Включить или выключить создание каталогов для файлов-приёмников. dir_owner(uid) Идентификатор пользователя, владеющего каталогами. dir_group(gid) Идентификатор группы, владеющей каталогами. dir_perm(разрешения) Разрешения (восьмеричная маска). owner(uid) Идентификатор пользователя, владеющего создаваемыми файлами. group(gid) Идентификатор группы, владеющей создаваемыми файлами. perm(разрешения) Разрешения на создаваемые файлы. gc_busy_threshold(n) Задаёт пороговое значение для сборки мусора, когда syslog-ng занят. Сборщик мусора запускается когда количество выделенных объектов достигает этого числа. По умолчанию: 3000. gc_idle_threshold(n) Задаёт пороговое значение для сборки мусора, когда syslog-ng простаивает. Сборщик мусора запускается когда количество выделенных объектов достигает этого числа. По умолчанию: 100. log_fifo_size(n) Количество строк, помещающихся в очередь вывода. Очередь вывода существует для всех приёмников. log_msg_size(n) Максимальная длина сообщения в байтах (заметим, что некоторые реализации syslogd имеют фиксированное ограничение в 1024 символа). mark(n) Количество секунд между двумя строками MARK. ЗАМЕЧАНИЕ: Ещё не реализовано. stats(n) Количество секунд между двумя сообщениями STATS. sync(n) Количество строк, которые могут быть сохранены в буфере перед записью в файл (может быть переопределено локально). time_reap(n) Время ожидания до того, как простаивающий файл-приёмник будет закрыт. time_reopen(n) Время ожидания перед повторной установкой разорвавшихся подключений. use_time_recvd(yes|no) Эта переменная используется только для расширения макросов, которые означают время конкретного макроса в зависимости от этой настройки. Однако существуют отдельные макросы для ссылки на отметку о времени приёма (R_ макросы) и отметку времени о помещении сообщения в журнал (S_), поэтому использование этого значения не рекомендуется.
/etc/syslog-ng/syslog-ng.conf
syslog-ng и этот файл защищены авторскими правами Copyright © 1999-2004 BalaBit IT Ltd, частичный вклад внёс Хосе Педро Оливьера (Jose Pedro Oliveira).
Перевод на русский язык выполнил Владимир Ступин <wheelof@gmail.com>
syslog-ng(8), syslogd(8)
syslog-ng.conf (5) |