Расположение файла журнала на основе имени хоста с помощью syslog-ng

0

Я использую syslog-ng для большого количества серверов. Чтобы получить больше формы в структуре папок, я использую несколько фильтров с регулярным выражением и несколькими целевыми и журнальными строками в syslog-ng.conf

Я хотел бы, чтобы syslog решил, куда поместить файл журнала на основе частей имени хоста, и поместить его в 1 фильтр, с 1 адресатом и строкой журнала.

Пример:

fl-app-dev-01   =>   /var/log/fl/dev/app01.log
fl-app-prd-32   =>   /var/log/fl/prd/app32.log
fl-man-prd-02   =>   /var/log/fl/prd/man02.log
am-app-prd-12   =>   /var/log/am/prd/app12.log
rd-app-dev-02   =>   /var/log/rd/dev/app02.log

Как видно из приведенного выше примера, все серверы имеют одинаковый формат {location} - {function} - {environment} - {number}

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

Марко Сисадмин
источник

Ответы:

0

Для этого необходимо проанализировать имя хоста и разделить его на отдельные поля с помощью csv-parser, а затем использовать имена полей в качестве макросов в шаблоне файла назначения. Смотрите второй пример здесь: Сегментирование имен хостов в syslog-ng

Роберт Фекете
источник
Извините, что так долго, чтобы принять вопрос. Я полностью забыл об этом ;-)
Марко Сисадмин