こんにちは、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
しかし、実際の問題はログを読む使用しないジャンクデータが多すぎます。だから上記のフィルタを通過する必要があります。
上記のフィルタリングされたデータのみを記録するようにOPENWRTに指示できる場所はありますか?ログを読む文書。または上記のコードを次のいずれかにリダイレクトします。。 txt私のルーター用のファイル(30分ごとにクローンジョブを実行して、ルーターがクラッシュしていないことを確認するために.txtコードをサーバーにプッシュします。とにかく1.3MBが残ります)
ノート- ipvoxy、ulogdなどいくつか試してみましたが、最終的には上記の方法を使ってログから直接読んでみたいと思います。
答え1
または、上記のコードを私のルーターの.txtファイルにリダイレクトします(30分ごとにcronジョブを実行して.txtコードをサーバーにプッシュして、ルーターがクラッシュしていないことを確認します。とにかく1.3Mbの容量があります)。残りのスペース.)
リダイレクトを使用できます。
logread -f | grep ': query' > /path/to/file.txt
これにより、クローン操作がファイルをコピーし、必要に応じて空にすることができます。
ルータがログを syslog サーバにプッシュするように syslogd 設定ファイルを変更することもできます。その後、サーバーでsyslogdを使用して、フィルタとともにdnsmasqタグエントリのみを保存するようにフィルタリングできます。