こんにちは、OPENWRTがインストールされているルーターに接続されているネットワークに対するすべてのリクエストを読みたいのですが、システムのすべてのログを取得しています。
logread -e ': query'
次の出力
Mon Sep 11 07:44:20 2017 daemon.info dnsmasq[1377]: query[A] e8037.g.akamaiedge.net from 192.168.150.201
Mon Sep 11 07:44:20 2017 daemon.info dnsmasq[1377]: query[AAAA] e8037.g.akamaiedge.net from 192.168.150.201
Mon Sep 11 07:44:20 2017 daemon.info dnsmasq[1377]: query[A] qa.sockets.stackexchange.com from 192.168.150.201
Mon Sep 11 07:44:29 2017 daemon.info dnsmasq[1377]: query[A] osfsr.lenovomm.com from fe80::dc5f:57fd:640c:6661
しかし、実際の問題はlogreadに、私が使用しない大量のジャンクデータが含まれていることです。したがって、上記のフィルタリングを実行する必要があります。
上記のフィルターされたデータのみをlogreadファイルに記録するようにOPENWRTに指示できる場所はありますか?または上記のコードをルーターの任意の。txtファイルにリダイレクトします(30分ごとに.txtコードをサーバーにプッシュするcronジョブを実行して、ルーターがクラッシュしないことを確認します。 1.3 Mbのスペースが残っています。)
[〜#〜] note [〜#〜]-ipvoxy、ulogd、およびその他のいくつかの機能を試してみましたが、最後に上記の方法でログから直接読み取ります。
または、上記のコードをルーターの任意の.txtファイルにリダイレクトします(30分ごとに.txtコードをサーバーにプッシュするcronジョブを実行して、ルーターがクラッシュしないことを確認します。いずれにしても、1.3 MBのスペースが残っています。)
リダイレクトを使用できます。
logread -f | grep ': query' > /path/to/file.txt
その後、cronジョブはファイルをコピーし、必要に応じて空にすることができます。
また、syslogd構成ファイルを変更して、ルーターがそのログをsyslogサーバーにプッシュするようにすることもできます。これにより、サーバー上のsyslogdでフィルタリングして、dnsmasqタグ付きエントリーだけを保存し、フィルターすることができます。