
Там, где я работаю, у нас настроен VPN-туннель site-to-site между нашим основным центром обработки данных и сторонним центром обработки данных, который предоставляет нам некоторые услуги Oracle PaaS. Поскольку они взимают плату за каждую виртуальную машину, мы отслеживаем журналы аудита Oracle на локальной виртуальной машине, которая выполняет аналитику для отдела безопасности и аудита. Третья сторона (или, скорее, отдел внутри нее) жалуется на объем сетевого трафика, проходящего через туннель из-за syslog.
В настоящее время он работает без шифрования по udp/514, поэтому я думаю, что мне нужно сделать некоторое сжатие. После некоторых исследований выяснилось, что и rsyslog
(то, что использует третья сторона), и syslog-ng
(то, что используем мы) поддерживаютTLS-сжатие. У нас есть свободные циклы ЦП, сетевая команда третьей стороны просто жалуется, потому что, по-видимому, это влияет на их SLA.
Мой вопрос таков:
Есть ли способ rsyslog
объединить несколько сообщений одновременно (скажем, в течение пятиминутного периода) и отправить их на наш syslog-ng
сервер все одновременно?
Причина, по которой я заинтересован в этом, заключается в том, что при переходе на TCP будет больше накладных расходов. Насколько я понимаю, большинство методов сжатия будут выполнять замену избыточных данных, что, как я полагаю, будет иметь место в случае с потоком сообщений syslog. Цель состоит в том, чтобы объединить их вместе, а затем удалить избыточные части перед передачей.
решение1
Звучит какrsyslog очередьможет делать то, что вы хотите. Сообщения также могут храниться для передачи в часы наименьшей нагрузки.
В частности, следующее:
Директива «$QueueDequeueSlowdown» позволяет указать, на какое время (в микросекундах) следует задержать удаление из очереди.