SYSLOG-NG.CONF

04/22/2024

ИМЯ

syslog-ng.conf - конфигурационный файл syslog-ng

ОБЗОР

syslog-ng.conf

ОПИСАНИЕ

Данная инструкция представляет собой краткую выдержку из полной документации syslog-ng. См. Руководство Администратора[1] или официальный вебсайт syslog-ng[2].

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

ОСНОВНЫЕ ПОНЯТИЯ

Приложение syslog-ng читает входящие сообщения и перенаправляет их в указанное назначение. Приложение syslog-ng может получать сообщения от файлов, удаленных хостов и из других источников.

Сообщения журнала поступают к syslog-ng через один из заданных источников и направляются в одно или более назначений.

Источники и назначения являются независимыми объектами, пути журналирования указывают, что syslog-ng делает с сообщениями, соединяя источники с назначениями. Путь журналирования состоит из одного или более источников и одного или более назначений: сообщения, поступающие из источника, направляются в каждое назначение, перечисленное в пути журналирования. Путь журналирования, заданный в syslog-ng, называется определением журнала.

Пути журналирования могут включать в себя фильтры. Фильтры - это правила, которые выбирают только определенные сообщения, например, только сообщения от определенного приложения. Если путь журналирования включает в себя фильтры, syslog-g направляет в назначения, указанные в пути журналирования, только сообщения, удовлетворяющие правилам фильтров.

Прочие необязательные элементы, которые могут появляться в выражениях журнала, - это обработчики и правила перезаписи. Обработчики сегментируют сообщения, разделяя их на отдельные поля, для упрощения их обработки, а правила перезаписи изменяют сообщения, добавляя, заменяя или удаляя части сообщений.

НАСТРОЙКА SYSLOG-NG

Все идентификаторы, атрибуты и любые другие строки, используемые в конфигурационном файле syslog-ng, чувствительны к регистру.


Подсказка
Используйте идентификаторы, соответствующие типу определяемого ими объекта. Например, используйте префикс s_ для источников (source), d_ для назначений (destination) и т.д.


Примечение
Повторное определение объекта (когда объект с одним и тем же идентификатором определяется более одного раза) не допускается, если вы не используете в конфигурационном файле определение @define allow-config-dups 1.

Например, следующая строка определяет источник и называет его s_internal.

source s_internal { internal(); };

Впоследствии на объект можно ссылаться из других выражений, используя его ID, например, предыдущий источник используется в качестве параметра следующего выражения журнала:

log { source(s_internal); destination(d_file); };

Например, у драйвера file() в следующем выражении источника есть три аргумента: имя файла (/var/log/apache/access.log), follow-freq() и flags(). У аргумента follow-freq() также есть параметр, тогда как у аргумента flags() есть два параметра.

source s_tail { file("/var/log/apache/access.log" follow-freq(1) flags(no-parse, validate-utf8)); };

У объектов могут быть обязательные и необязательные параметры. Обязательные параметры носят позиционный характер, это значит, что они должны указываться в определенном порядке. Необязательные параметры могут быть указаны в любом порядке в формате параметр(значение). Если параметр (обязательный или необязательный) не указан, используется его значение по умолчанию. Параметры и их значения по умолчанию перечислены в справочном разделе конкретного объекта.

Пример 1. Использование обязательных и необязательных параметров У драйвера источника unix-stream() имеется один обязательный аргумент: имя сокета, на котором нужно слушать. необязательные аргументы идут за именем сокета в произвольном порядке, поэтому следующие определения источника действуют одинаково:

source s_demo_stream1 { unix-stream("<path-to-socket>" max-connections(10) group(log)); }; source s_demo_stream2 { unix-stream("<path-to-socket>" group(log) max-connections(10)); };

Для выражений журнала используется следующий синтаксис:

log { источник(s1); source(s2); ... необязательный_элемент(filter1|parser1|rewrite1); необязательный_элемент(filter2|parser2|rewrite2); ... destination(d1); destination(d2); ... flags(flag1[, flag2...]); };

Следующее выражение журнала направляет все сообщения, поступающие на localhost, на удаленный сервер.

source s_localhost { network(ip(127.0.0.1) port(1999)); }; destination d_tcp { network("10.1.2.3" port(1999) localport(999)); }; log { source(s_localhost); destination(d_tcp); };

У приложения syslog-ng есть ряд глобальных параметров, регулирующих использование DNS, формат меток времени и другие общие моменты. У каждого параметра могут быть аргументы аналогично спецификациям драйверов. Для установки глобальных параметров следует добавить выражение параметра в конфигурационный файл syslog-ng, используя следующий синтаксис:

options { параметр1(аргументы); параметр2(аргументы); ... };

Пример 2. Использование глобальных параметров

Для отключения преобразования доменных имен добавьте в конфигурационный файл syslog-ng следующую строку:

options { use-dns(no); };

Источники, назначения и фильтры, доступные в syslog-ng, перечислены ниже. Подробности приведены в Руководстве администратора syslog-ng.


Таблица 1. Драйверы источников, доступные в syslog-ng

Имя описание
file() Открывает указанный файл и читает сообщения.
internal() Внутренние сообщения, сгенерированные syslog-ng.
network() Получает сообщения от удаленных хостов с помощью протокола BSD-syslog по IPv4 и IPv6. Поддерживает сетевые протоколы TCP, UDP и TLS.
pipe() Открывает указанный именованный канал и читает сообщения.
program() Открывает указанное приложение и читает сообщения из его стандартного вывода.
sun-stream(), sun-streams() открывает указанное ПОТОКОВОЕ устройство в системах Solaris и читает входящие сообщения.
syslog() Слушает входящие сообщения с помощью протокола syslog стандарта IETF.
system() Автоматически определяет, а какой платформе запущен, и собирает сообщения стандартного журнала этой платформы.
systemd-journal() Собирает сообщения напрямую из журнала платформ, использующих systemd.
systemd-syslog() Собирает с помощью сокета сообщения напрямую из журнала платформ, использующих systemd.
unix-dgram() Открывает указанный unix-сокет в режиме SOCK_DGRAM и слушает входящие сообщения.
unix-stream() Открывает указанный unix-сокет в режиме SOCK_STREAM и слушает входящие сообщения.


Таблица 2. Драйверы назначения, доступные в syslog-ng

Имя описание
elasticsearch2 Направлять сообщения на сервер Elasticsearch. Драйвер elasticsearch2 поддерживает Elasticsearch версии 2 и новее.
file() Записывает сообщения в указанный файл.
hdfs() Направляет сообщения в файл в блоке Распределенной файловой системы Hadoop (HDFS)[3].
kafka() Отправляет сообщения журнала в шину сообщений сервера Apache Kafka[4], где они доступны подписчикам.
loggly() Направляет сообщения журнала провайдеру сервиса журналирования Loggly[5]
logmatic() Направляет сообщения журнала провайдеру сервиса журналирования Logmatic.io[6]
mongodb() Направляет сообщения в базу данных MongoDB[7].
network() Отправляет сообщения на удаленный хост с помощью протокола BSD-syslog по IPv4 и IPv6. Поддерживает сетевые протоколы TCP, UDP и TLS.
pipe() Записывает сообщения в указанный именованный канал.
program() Создает копию своего процесса и запускает указанную программу, после чего направляет сообщения на ее стандартный ввод.
sql() Направляет сообщения в базу данных SQL. В дополнение к стандартным пакетам syslog-ng направление sql() требует установки пакетов, относящихся к базе данных. См. подходящий для вашей платформы раздел в ???.
syslog() Направляет сообщения на указанный удаленный хост с помощью протокола IETF-syslog. Стандарт IETF поддерживает передачу сообщений с помощью сетевых протоколов UDP, TCP и TLS.
unix-dgram() Направляет сообщения на указанный unix-сокет в стиле SOCK_DGRAM (BSD).
unix-stream() Направляет сообщения на указанный unix-сокет в стиле SOCK_STREAM (Linux).
usertty() Направляет сообщения в терминал указанного пользователя.


Таблица 3. Доступные функции фильтрации

Имя описание
facility() Фильтровать сообщения на основе отправляющего средства.
filter() Вызвать другую функцию фильтрации.
host() Фильтровать сообщения на основе отправляющего хоста.
inlist() Белый и черный списки для файлов.
level() или priority() Фильтровать сообщения на основе их приоритета.
match() Использовать регулярное выражение для фильтрации сообщений на основе указанного заголовка или содержимого.
message() Использовать регулярное выражение для фильтрации сообщений на основе их содержимого.
netmask() Фильтровать сообщения на основе IP-адреса посылающего хоста.
program() Фильтровать сообщения на основе отправляющего приложения.
source() Выбрать сообщения от указанного в выражении источника.
tags() Выбрать сообщения с указанной меткой.

ФАЙЛЫ

/usr/

/etc/syslog-ng/syslog-ng.conf

СМОТРИТЕ ТАКЖЕ

syslog-ng(8)


Примечение


Подробная информация приведена в Руководстве администратора 3.38[8]

Если у вас какие-либо проблемы или необходима помощь по syslog-ng, посетите список рассылки syslog-ng[9].

Новости и уведомления касательно syslog-ng публикуются в блоках syslog-ng[10].

АВТОР

Данная инструкция была написана командой документирования Balabit <documentation@balabit.com>.

АВТОРСКИЕ ПРАВА

ЗАМЕЧАНИЯ

1.

Руководство администратора

https://www.balabit.com/support/documentation/

2.

официальный вебсайт syslog-ng

https://www.balabit.com/log-management

3.

Hadoop Distributed File System (HDFS)

http://hadoop.apache.org/

4.

Apache Kafka

http://kafka.apache.org

5.

Loggly

https://www.loggly.com/

6.

Logmatic.io

https://logmatic.io/

7.

MongoDB

https://www.mongodb.com

8.

Руководство администратора 3.38

https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html

9.

список рассылки syslog-ng

https://lists.balabit.hu/mailman/listinfo/syslog-ng

  1. блоги syslog-ng

    https://syslog-ng.org/blogs/

ПЕРЕВОД

Русский перевод этой страницы руководства: SOME DESCRIPTIVE TITLE, Copyright (C) YEAR Free Software Foundation, This file is distributed under the same license as the PACKAGE package., FIRST AUTHOR <EMAIL@ADDRESS> и Игорь Чижов <support@astralinux.ru>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .