Назад | Перейти на главную страницу

Отключить отображение идентификатора процесса в журналах Syslog-ng

Я настроил syslog-ng (версия 3.21.1) на сервере CentOS7 и обнаружил, что журналы имеют следующий формат.

Aug 26 12:59:28 xyz74hd.com radiusd[20142]: 92djvd4654654164nadskj795234dc Reason: pldap: Forind credentials incorrect: Invalid credentials possible

Мне не нужен Process-ID (в журнале выше [20142]) в моих журналах. Таким образом, требуемый формат syslog должен быть следующим:

Aug 26 12:59:28 xyz74hd.com radiusd: 92djvd4654654164nadskj795234dc Reason: pldap: Forind credentials incorrect: Invalid credentials possible

Раньше я использовал CentOS6 со старой версией syslog-ng (3.2.5). Но когда я развернулся CentOS7 с одной из последних версий syslog-ng (3.21.1) возникает ошибка. (конфигурации syslog-ng почти такие же)

В моем новом развертывании я получаю дополнительное поле Process-ID в журналах, из-за которого анализатор журналов ведет себя абсурдно. Не могу изменить код.

Есть ли какое-нибудь решение на уровне syslog-ng, чтобы я мог избавиться от этих идентификаторов процессов в моих журналах?

У вас есть несколько вариантов избавиться от идентификатора процесса:

  • вы можете создать шаблон для вашего пункта назначения, чтобы использовать собственный формат вывода, например:

    file("/var/log/messages" template("$DATE $HOST $PROGRAM: $MESSAGE\n"))

  • вы можете добавить правило перезаписи перед пунктом назначения, где вы не устанавливаете PID:

    rewrite { unset(value("PID")); };

    или

    rewrite { set("" value("PID")); };