Я использую 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}

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

1 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .