Я использую Syslog-NG 3.8 в качестве сервера системного журнала, получающего сообщения из разных источников, около 400 серверов (и в конечном итоге фильтруя их и передавая на дополнительный сервер).
однако, похоже, что многиесообщения «отбрасываются» даже до того, как они будут отфильтрованы и перенаправлены в экземпляр Spunk.
У меня есть конфигурация, в которой я отслеживаю «входящие» сообщения перед фильтрацией в плоском файле и не вижутам есть некоторые сообщения (см. пример ниже), хотя я могу успешно видеть трассировку tcp при запуске tcpdump, что означает, что Syslog-NG «отбрасывает» сообщения во время «исходного» механизма.
я подозреваю, что это связано ск большому количеству сообщений, поступающих на его интерфейс, и мне нужно выполнить некоторые настройки с буферами и конкретными параметрами.
вот конкретный пример ошибки:
с исходного компьютера,если я делаю маленький цикл отправки сообщений каждую секунду с идентификатором, который увеличивается (например, 20,21,22,23,24 и т. д.):
root@sm1u1050vmo /var/log: for ((i=20;i<100;i++)); do logger -p auth.notice "test auth notice $i" ; sleep 1 ; done
если я хвостплоский файл "входящий.log" на Syslog-NG (получатель), я могу видеть много пропущенных сообщений:
[root@xm1p1034vmo 20]# tail -f incoming.log | grep sm1u1050vmo
Sep 20 12:27:32 sm1u1050vmo root: [ID 702911 auth.notice] test auth notice 28
Sep 20 12:27:34 sm1u1050vmo root: [ID 702911 auth.notice] test auth notice 30
Sep 20 12:27:37 sm1u1050vmo root: [ID 702911 auth.notice] test auth notice 33
Sep 20 12:27:42 sm1u1050vmo root: [ID 702911 auth.notice] test auth notice 38
Sep 20 12:27:43 sm1u1050vmo root: [ID 702911 auth.notice] test auth notice 39
Sep 20 12:27:52 sm1u1050vmo root: [ID 702911 auth.notice] test auth notice 48
мы можем ясно видеть пропущенные многие сообщения.
вот небольшойчасть моей конфигурации, с параметрами и источниками:
options {
chain_hostnames(no);
log_msg_size(8192);
time_reopen(2);
create_dirs(yes);
use_dns(yes);
keep_hostname(yes);
stats_freq(3600);
flush_lines(1);
log_fifo_size(1000);
};
используемый источник:
source s_EXTERNAL {
network(transport("udp") log-fetch-limit(500));
};
место назначения "локальной копии", используемое для отслеживания этих входящих сообщений перед их фильтрацией:
destination d_INCOMING_ALL
{
file("/app/syslog-ng/logs/${YEAR}/${MONTH}/${DAY}/incoming.log" create-dirs(yes));
};
обратите внимание, я сейчас пытаюсь поиграть с такими параметрами, как so-rcvbuf () в исходном коде (и адаптируя параметр ядра rmem_max вв то же время).это было 16Mb, и я увеличил его до 64M, но пока ничего не изменилось.я все еще могу видеть RcvbufErrors & ошибки при получении пакета увеличивающиеся при запуске netstat -us
любые подсказки, пожалуйста?
спасибо