Я настроил ведение журнала haproxy через rsyslogd, используя советы из этой статьи , и все, кажется, работает нормально. Файлы журнала получают сообщения журнала.
Тем не менее, каждое сообщение журнала от haproxy также отображается в /var/log/syslog
. Это означает, что после запуска сервера системный журнал будет совершенно бесполезен, так как он будет переполнен сообщениями журнала haproxy.
Я хотел бы отфильтровать эти сообщения от /var/log/syslog
. Изучив документацию по rsyslogd, я попытался изменить файл следующим /etc/rsyslog.d/50-default.conf
образом:
*.*;auth,authpriv.none;haproxy.none -/var/log/syslog
Я просто добавил ;haproxy.none
часть. После перезапуска rsyslogd он полностью перестал работать, пока я не отменил свои изменения.
Что я делаю не так?
rsyslogd-2307: warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
& stop
вместо& ~
: rsyslog.com/doc/v8-stable/compatibility/v7compatibility.html .Использование
& ~
v7 в rsyslogd было объявлено устаревшим, и вам рекомендуется использовать его& stop
вместо. Вы можете прочитать больше об этом в этом разделе страницы совместимости v7 .Так что для HAProxy что-то вроде этого:
Относительно того, как это работает, команда
& stop
rsyslogd должна отказаться от любых дополнительных сообщений, которые соответствовали ранее согласованным правилам до этого момента. Чтобы гарантировать, что это правило выбрано на ранней стадии, вы можете изменить имя файла с/etc/rsyslog.d/haproxy.conf
на/etc/rsyslog.d/00-haproxy.conf
.источник
Хорошо, я понял это. Вот как
/etc/rsyslog.d/20-haproxy.conf
выглядит моя :Я изменил строку в
50-default.conf
:И теперь кажется, что я делаю то, что хочу.
источник
Существует лучшее решение для ведения журнала haproxy.
/dev/log
Согласно официальному руководству rsyslog должен быть настроен для прослушивания сетевого сокета:
Но для этого вы можете использовать только сокеты rsyslog:
rsyslog.d / haproxy.conf:
haproxy.cfg:
источник
Я предпочитаю не связываться с порядком расположения файлов, поэтому вместо этого я добавляю local0.none в . строка ввода. Конфиг выглядит так:
(Проверено на CentOS 7)
Надеюсь, это поможет!
источник