Привет, ЛОР. Посоветуйте, как можно было бы спроектировать приложение для сети из 10 - 100 АРМ с ОС Linux, которое собирало бы логи auditd с машин и кидало их на один сервер?
Проблема в том, что логов этих очень много. Правило будет что-то вроде:
auditctl -a exit,always -F arch=b64 -S open -S execve -S fchmodat -S fchownat -S exit -S exit_group
Поэтому нужно сделать:
1. Клиентскую часть, которая будет парсить логи и вытаскивать из них нужную информацию (приблизительно около 25% от исходного объёма лога);
2. Серверную часть, которая способна держать такую нагрузку с указанного количества машин;
3. SSL-шифрование;
4. Элементарный RPC, подразумевающий определённую реакцию сервера на приход тех или иных событий из локальных логов, в том числе - возможность ответа сервера клиенту по такому же каналу.
Требование заказчика - только С или С++. Вопрос - какие существует подходы для разработки таких программ? Может быть, есть что-то готовое? Если нет, то какие применяются обычно либы/фреймфорки? Какой выбрать протокол сообщений? (protobuf пробовал, не подходит)
Спасибо