Рейтинг:0

syslog-ng повторяющееся сообщение журнала

флаг pk

Не дубликат это вопрос, потому что этот использует rsyslog на клиенте, тогда как я использую syslog-ng с обеих сторон.

У меня есть экземпляр syslog-ng как на клиенте, так и на сервере, и по какой-то причине в журнале сервера есть повторяющиеся строки журнала. Журналы отправляются на почту.

2021-12-18T21:01:44+01:00 192.168.1.11 [предупреждение] Внимание: это тест
2021-12-18T21:01:44+01:00 192.168.1.11 [ошибка] ОШИБКА ТЕСТА
2021-12-18T21:01:44+01:00 192.168.1.11 [крит] на самом деле не крит конд
2021-12-18T21:01:44+01:00 192.168.1.11 [предупреждение] пи-ву-пи-ву
(здесь начинаются повторяющиеся строки)
2021-12-18T21:01:44+01:00 192.168.1.11 [предупреждение] Внимание: это тест
2021-12-18T21:01:44+01:00 192.168.1.11 [ошибка] ОШИБКА ТЕСТА
2021-12-18T21:01:44+01:00 192.168.1.11 [крит] на самом деле не крит конд
2021-12-18T21:01:44+01:00 192.168.1.11 [предупреждение] пи-ву-пи-ву

Моя конфигурация клиента syslog-ng

@версия: 3.33
@include "scl.conf"
#
# /etc/syslog-ng/syslog-ng.conf
#

параметры {
  статистика_частота (0);
  флеш_линии (0);
  время_повторного открытия (10);
  log_fifo_size (10000);
  chain_hostnames (выкл.);
  dns_cache (нет);
  use_dns (нет);
  use_fqdn (нет);
  create_dirs (нет);
  keep_hostname (да);
  Пермь(0640);
  Группа("Журнал");
};

источник источник {
  система();
  внутренний();
};

пункт назначения d_authlog { файл ("/var/log/auth.log"); };
пункт назначения d_syslog { файл ("/var/log/syslog.log"); };
пункт назначения d_cron { файл ("/var/log/crond.log"); };
назначение d_daemon { файл ("/var/log/daemon.log"); };
назначение d_kernel { файл ("/var/log/kernel.log"); };
место назначения d_lpr { файл ("/var/log/lpr.log"); };
пункт назначения d_user { файл ("/var/log/user.log"); };
пункт назначения d_uucp { файл ("/var/log/uucp.log"); };
адрес назначения d_mail {
  syslog («raspi» порт (8000) транспорт («tcp»));
  #file("/var/log/mail.log");
};
пункт назначения d_news { файл ("/var/log/news.log"); };
пункт назначения d_ppp { файл ("/var/log/ppp.log"); };
пункт назначения d_debug { файл ("/var/log/debug.log"); };
назначение d_messages { файл ("/var/log/messages.log"); };
пункт назначения d_errors { файл ("/var/log/errors.log"); };
пункт назначения d_everything { файл ("/var/log/everything.log"); };
пункт назначения d_iptables { файл ("/var/log/iptables.log"); };
пункт назначения d_acpid { файл ("/var/log/acpid.log"); };
пункт назначения d_console { usertty ("root"); };

# Записывать все на tty12
место назначения console_all { файл ("/dev/tty12"); };

фильтр f_auth { объект (auth); };
filter f_authpriv { объект (auth, authpriv); };
фильтр f_syslog { программа (syslog-ng); };
фильтр f_cron { объект (cron); };
filter f_daemon { средство (демон); };
filter f_kernel { средство (kern), а не фильтр (f_iptables); };
фильтр f_lpr { объект (lpr); };
filter f_mail { объект (почта); };
фильтр f_news { объект (новости); };
фильтр f_user { объект (пользователь); };
фильтр f_uucp { объект (uucp); };
фильтр f_ppp { объект (local2); };
filter f_debug { не средство (auth, authpriv, новости, почта); };
filter f_messages { level(info..warn) а не средство(auth, authpriv, почта, новости, cron) и не программа(syslog-ng) и не filter(f_iptables); };
filter f_everything { level(debug..emerg), а не объект(auth, authpriv); };
фильтр f_emergency { уровень (возникновение); };
фильтр f_info { уровень (информация); };
фильтр f_notice { уровень (уведомление); };
фильтр f_warn { уровень (предупреждение); };
фильтр f_crit { уровень (крит); };
фильтр f_err { уровень (ошибка); };
filter f_iptables { match("IN=" value("MESSAGE")) и match("OUT=" value("MESSAGE")); };
фильтр f_acpid { программа ("acpid"); };

журнал { источник (источник); фильтр (f_acpid); пункт назначения (d_acpid); };
журнал { источник (источник); фильтр (f_authpriv); пункт назначения (d_authlog); };
журнал { источник (источник); фильтр (f_syslog); пункт назначения (d_syslog); };
журнал { источник (источник); фильтр (f_cron); пункт назначения (d_cron); };
журнал { источник (источник); фильтр (f_daemon); пункт назначения (d_daemon); };
журнал { источник (источник); фильтр (f_kernel); пункт назначения (d_kernel); };
журнал { источник (источник); фильтр (f_lpr); пункт назначения (d_lpr); };
журнал { источник (источник); фильтр(f_mail); пункт назначения (d_mail); };
журнал { источник (источник); фильтр (f_news); пункт назначения (d_news); };
журнал { источник (источник); фильтр (f_ppp); пункт назначения (d_ppp); };
журнал { источник (источник); фильтр (f_user); пункт назначения (d_user); };
журнал { источник (источник); фильтр (f_uucp); пункт назначения (d_uucp); };
#журнал { источник (источник); фильтр (f_debug); пункт назначения (d_debug); };
журнал { источник (источник); фильтр (f_messages); пункт назначения (d_messages); };
журнал { источник (источник); фильтр (f_ошибка); пункт назначения (d_errors); };
журнал { источник (источник); фильтр (f_emergency); пункт назначения (d_console); };
журнал { источник (источник); фильтр(f_все); пункт назначения (d_все); };
журнал { источник (источник); фильтр (f_iptables); пункт назначения (d_iptables); };

# Записывать все на tty12
#журнал { источник (источник); пункт назначения (console_all); };

Конфигурация сервера

@версия: 3.27
@include "scl.conf"

# Файл конфигурации Syslog-ng, совместимый с syslogd Debian по умолчанию
# установка.

# Во-первых, установите некоторые глобальные параметры.
параметры { chain_hostnames (выключено); флеш_линии (0); использовать_dns (нет); use_fqdn (нет);
      dns_cache (нет); владелец("корень"); группа("админ"); Пермь(0640);
      статистика_частота (0); bad_hostname("^gconfd$");
};

########################
# Источники
########################
# Это поведение пакета sysklogd по умолчанию.
# Журналы могут поступать из потока unix, но не с другой машины.
#
источник s_src {
       syslog(ip("0.0.0.0") порт(8000) транспорт("tcp"));
};

# Если вы хотите получить логи с удаленной машины, раскомментируйте
# this и прокомментируйте исходную строку выше.
#
#source s_net { TCP (IP (127.0.0.1) порт (1000)); };

########################
# Направления
########################
# Сначала какой-нибудь стандартный лог-файл
#
шаблон получен {
    template("${ISODATE} ${HOST} [${LEVEL}] ${MESSAGE}\n");
};
пункт назначения d_auth { файл ("/var/log/auth.log"); };
пункт назначения d_cron { файл ("/var/log/cron.log"); };
назначение d_daemon { файл ("/var/log/daemon.log"); };
место назначения d_kern { файл ("/var/log/kern.log"); };
место назначения d_lpr { файл ("/var/log/lpr.log"); };
назначение d_mail { файл ("/var/log/${YEAR}-${MONTH}.log" шаблон(recv)); };
пункт назначения d_syslog { файл ("/var/log/syslog"); };
пункт назначения d_user { файл ("/var/log/user.log"); };
пункт назначения d_uucp { файл ("/var/log/uucp.log"); };

# Эти файлы являются логами из почтовой подсистемы.
#
#destination d_mailinfo { файл("/var/log/mail.info"); };
#destination d_mailwarn { файл("/var/log/mail.warn"); };
#destination d_mailerr { файл("/var/log/mail.err"); };

# Ведение журнала для системы новостей ИНН
#
назначение d_newscrit { файл ("/var/log/news/news.crit"); };
назначение d_newserr { файл ("/var/log/news/news.err"); };
назначение d_newsnotice { файл ("/var/log/news/news.notice"); };

# Несколько универсальных лог-файлов.
#
пункт назначения d_debug { файл ("/var/log/debug"); };
пункт назначения d_error { файл ("/var/log/error"); };
назначение d_messages { файл ("/var/log/messages"); };

# Консоль root.
#
пункт назначения d_console { usertty ("root"); };

# Виртуальная консоль.
#
пункт назначения d_console_all { файл (`tty10`); };

# Именованный канал /dev/xconsole предназначен для утилиты nsole. Чтобы использовать его,
# вы должны вызвать nsole' с параметром -file':
#
# $ xconsole -файл /dev/xconsole [...]
#
пункт назначения d_xconsole { pipe("/dev/xconsole"); };

# Отправляем сообщения на другой хост
#
#destination d_net { tcp ("127.0.0.1" порт (1000) log_fifo_size (1000)); };

# Только дебиан
пункт назначения d_ppp { файл ("/var/log/ppp.log"); };

########################
# Фильтры
########################
# А вот и параметры фильтра. С помощью этих правил мы можем установить, какие 
# сообщение идти куда.

фильтр f_dbg { уровень (отладка); };
фильтр f_info { уровень (информация); };
фильтр f_notice { уровень (уведомление); };
фильтр f_warn { уровень (предупреждение); };
фильтр f_err { уровень (ошибка); };
filter f_crit { уровень (crit .. emerg); };

filter f_debug { уровень (отладка), а не объект (auth, authpriv, новости, почта); };
filter f_error { level(err .. emerg) ; };
filter f_messages { уровень (информация, уведомление, предупреждение) и 
                    не средство (auth, authpriv, cron, демон, почта, новости); };

filter f_auth { средство (auth, authpriv), а не фильтр (f_debug); };
filter f_cron { средство (cron), а не фильтр (f_debug); };
filter f_daemon { средство (демон), а не фильтр (f_debug); };
filter f_kern { средство (kern), а не фильтр (f_debug); };
filter f_lpr { средство (lpr), а не фильтр (f_debug); };
filter f_local { объект (local0, local1, local3, local4, local5,
                        local6, local7), а не filter(f_debug); };
filter f_mail { средство(почта), а не фильтр(f_debug) и не хост("localhost"); };
filter f_news { средство (новости), а не фильтр (f_debug); };
filter f_syslog3 { не средство (auth, authpriv, почта) и не фильтр (f_debug); };
filter f_user { средство (пользователь), а не фильтр (f_debug); };
filter f_uucp { средство (uucp), а не фильтр (f_debug); };

filter f_cnews { уровень (уведомление, ошибка, крит) и объект (новости); };
filter f_cother { уровень (отладка, информация, уведомление, предупреждение) или средство (демон, почта); };

filter f_ppp { средство (local2), а не фильтр (f_debug); };
filter f_console { уровень (предупреждать .. появление); };

########################
# Пути журнала
########################
журнал { источник (s_src); фильтр (f_auth); пункт назначения (d_auth); };
журнал { источник (s_src); фильтр (f_cron); пункт назначения (d_cron); };
журнал { источник (s_src); фильтр (f_daemon); пункт назначения (d_daemon); };
журнал { источник (s_src); фильтр (f_kern); пункт назначения (d_kern); };
журнал { источник (s_src); фильтр (f_lpr); пункт назначения (d_lpr); };
журнал { источник (s_src); фильтр (f_syslog3); пункт назначения (d_syslog); };
журнал { источник (s_src); фильтр (f_user); пункт назначения (d_user); };
журнал { источник (s_src); фильтр (f_uucp); пункт назначения (d_uucp); };

журнал { источник (s_src); фильтр(f_mail); пункт назначения (d_mail); };
#log { источник (s_src); фильтр(f_mail); фильтр (f_info); пункт назначения (d_mailinfo); };
#log { источник (s_src); фильтр(f_mail); фильтр (f_warn); пункт назначения (d_mailwarn); };
#log { источник (s_src); фильтр(f_mail); фильтр (f_ошибка); пункт назначения (d_mailerr); };

журнал { источник (s_src); фильтр (f_news); фильтр (f_crit); пункт назначения (d_newscrit); };
журнал { источник (s_src); фильтр (f_news); фильтр (f_ошибка); пункт назначения (d_newserr); };
журнал { источник (s_src); фильтр (f_news); фильтр (f_notice); пункт назначения (d_newsnotice); };
#log { источник (s_src); фильтр (f_cnews); пункт назначения (d_console_all); };
#log { источник (s_src); фильтр (f_cother); пункт назначения (d_console_all); };

#log { источник (s_src); фильтр (f_ppp); пункт назначения (d_ppp); };

журнал { источник (s_src); фильтр (f_debug); пункт назначения (d_debug); };
журнал { источник (s_src); фильтр (f_error); пункт назначения (d_error); };
журнал { источник (s_src); фильтр (f_messages); пункт назначения (d_messages); };

журнал { источник (s_src); фильтр (f_console); пункт назначения (d_console_all);
                    пункт назначения (d_xconsole); };
журнал { источник (s_src); фильтр (f_crit); пункт назначения (d_console); };

# Все сообщения отправляются на удаленный сайт
#
#log { источник (s_src); пункт назначения (d_net); };

###
# Включить все файлы конфигурации в /etc/syslog-ng/conf.d/
###
@include "/etc/syslog-ng/conf.d/*.conf"
флаг in
Привет, не ясно, где появляются повторяющиеся сообщения: это в файлах назначения d_mail на вашем сервере? Если да, то дублируются ли они и на стороне клиента (при включении закомментированного назначения файла в d_mail клиента)?
ElpersonPL avatar
флаг pk
@RobertFekete Проблема возникает только на сервере. Клиент регистрируется нормально.
флаг in
Странный. Есть ли что-нибудь в вашем каталоге /etc/syslog-ng/conf.d/, что может добавить еще один источник или запись журнала?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.