Rsyslog imfileはroot以外のAndroidと同じですか?

Rsyslog imfileはroot以外のAndroidと同じですか?

私はAndroid 13を使用しており、私のアプリではなくアプリを使用して数万行のcsvログファイルを生成しています。私は可能な限り簡単で効率的な方法でこれらのログエントリを中央のログサーバーに送信しようとしています。

私の現在のソリューションは、csvファイルを1行ずつ読み込み、指定されたソースポートを持つエントリをログサーバーに送信するnetcatにラインをパイプ処理するtermuxのbashスクリプトです。

問題は、netcatが毎秒約10個のパケット(RFC 5426のようにパケットごとに1つのログメッセージ)を実行して非常に遅いことです。これは、10,000行のログファイルをネットワーク経由で転送するのに15分以上かかることを意味します。同様のネットワーク条件でrsyslogの制限をテストした結果、毎秒5,000〜15,000のパケット(数十万行のログファイル)を処理できます。

明らかに、これは最適な解決策ではありません。私のもう一つのアイデアは、ネットワーク共有を使用し、csvログファイル全体をログサーバーにアクセスできるフォルダに配置することでした。次に、ログサーバーにrsyslogを使用してファイルを処理するスクリプトがあります。これはパフォーマンスが優れていますが、設定が複雑になり、追加のデバイス、スクリプトに依存し、ネットワークにかなり不要な通信チャネルを生成します。

ルート以外のAndroidがリモートsyslogサーバーにログファイルを送信するための最良の(シンプルでパフォーマンスの高い)ソリューションは何ですか?

ベストアンサー1

おすすめ記事