В настоящее время мы используем rsyslog для сбора журналов примерно с 1 миллиона устройств IoT, раньше мы использовали простой текстовый системный журнал UDP, и наш сервер прекрасно обрабатывал их с минимальной нагрузкой на систему, но теперь, потому что нам нужно отправить некоторые конфиденциальные данные внутри системного журнала, поэтому мы решили чтобы включить TLS, но после того, как мы попробовали его всего с 20 тысячами устройств, наш сервер продолжает сбрасывать журналы, потому что все ядра ЦП загружены на 100%.
Похоже, что TCP TLS не очень подходит для такого большого количества запросов, потому что клиент системного журнала только что отправил сообщение, а затем отключился, заставляя его повторять процесс установления связи TLS каждый раз, когда он хочет отправить журнал. Есть ли какой-либо другой механизм шифрования, включенный в rsyslog, который я мог бы использовать? Я думал о каком-то асимметричном шифровании со статическим ключом, чтобы ему не приходилось каждый раз выполнять рукопожатие?
Я думал о VPN, но OpenVPN создаст еще большую нагрузку на VPN-сервер, в то время как наше клиентское оборудование не имеет достаточно свежего ядра для облегченной установки Wireguard.
Наш текущий сервер rsyslog имеет 40 ядер (80 HT), 48 ГБ ОЗУ, поэтому, если нам придется купить дополнительный сервер для установки какой-либо системы балансировки нагрузки, это будет значительным ограничением по стоимости.