Ми впровадили централізований журнал за допомогою syslog-ng на наших серверах із збалансованим навантаженням. Історію цього налаштування можна переглянути тут: Як налаштувати реєстрацію PHP для переходу на віддалений сервер? .
Це працює нормально, але нові рядки позбавляються місця призначення. Чи є спосіб зберегти цілі рядки новими? Ось наш конфігуратор:
Джерело
destination php { tcp("server.com" port(xxxx)); };
log { source(s_all); filter(f_php); destination(php); };
filter f_php { facility(user); };
Призначення
destination d_php { file("$PROGRAM" owner(www-data) group(www-data) perm(0644)); };
filter f_php { program("^/var/log/"); };
log { source(s_all); filter(f_php); destination(d_php); flags(final); };
Відповіді:
0 для відповіді № 1Ви можете змінити формат шаблону syslog дляпризначення та додайте новий рядок у кінці вручну. Наприклад, ось шаблон, який я використовую для одного з моїх налаштованих потоків syslog-ng. Я змінюю формат дати (щоб легше було проаналізувати сценарій). Зверніть увагу на "n" в кінці.
file("$PROGRAM"
template("$R_ISODATE $HOST_FROM $MSGHDR$MSGn")
template_escape(no)
);
Див syslog-ng docs для отримання інформації про різні $VARS
ви можете використовувати.