統計処理のために、nginx(複数のサーバー、すべてのサーバーで1分間に1 000 000行のログ)から中央統計サーバーにログを収集したいと思います。私は2つの変種を見ます:
他に何か提案できますか?
elasticsearch + logstash + kibanaを見てください
Logstashは、ログファイルを解析し、フィルターを使用してログファイルから情報を抽出できます。それらをElasticsearchに保存でき、Kibana経由でクエリできます。彼らのサイトのビデオを見て、何ができるかを感じてください。
最初のオプションはloghost経由で実行できます(基本的にはオプション2)。syslogメッセージをudp経由で$ logserverに送信できます。次に、サーバーに基づいてログを分割し、送信したログの「正確な」タイムスタンプを取得します。
とにかくその量のログで必要になる可能性が最も高い通常のlogrotateを除いて、nginxサーバーではログの名前を変更する必要はありません。
ツールがすでに利用可能である場合は、スクリプトを書きすぎないことが最善です。ここで車輪の再発明を行う必要はありません。
オプション2は、達成したいものにかなり近いはずです。
サーバーが存在するネットワークのセキュリティに応じて、「通常の」syslog手順を介して直接転送するか、f.e。ログホストへのVPN接続。