Я хочу собирать логи с nginx (несколько серверов, 1 000 000 строк в журналах за минуту для всех серверов) на центральный статистический сервер для обработки статистики. Я вижу 2 варианта:
Вы можете предложить что-нибудь еще?
Взгляни на эластичный поиск + logstash + кибана
Logstash может анализировать ваши файлы журналов и извлекать из них информацию с помощью фильтров. Он может хранить их в Elasticsearch, который вы можете запрашивать через Kibana. Посмотрите видео на их сайте, чтобы понять, на что он способен.
Ваш первый вариант может быть выполнен через loghost (в основном ваш вариант 2). Вы можете отправить сообщение системного журнала через udp на $ logserver. Затем вы должны разделить журналы на основе сервера и получить «точные» отметки времени отправленных вами журналов.
Переименование журналов не требуется на серверах nginx, кроме обычного logrotate, который вам, скорее всего, понадобится при таком большом количестве журналов.
Лучше не писать слишком много сценариев, если инструменты уже доступны, здесь не нужно изобретать велосипед.
Вариант 2 должен быть довольно близок к тому, чего вы хотите достичь.
В зависимости от безопасности сети (сетей), в которых находятся серверы: либо транспортируют напрямую через «обычную» процедуру системного журнала, либо делают, например, выполнение. какое-то соединение vpn с логхостом.