0

/var/log/apache2/access.log のリアルタイム コピーが必要なので、grep やホスト名の解決などを行うことができます。

これを行う最善の方法は何ですか?

どんな交通が流れているのか興味津々

4

2 に答える 2

1

あなたは出来る:

  1. syslog を介してログを送信するように apache を構成し、個別のログ ファイルを取得するように syslog を構成します (特定の所有者)。以下をご覧ください: O'Reilly : Sending Apache httpd Logs to Syslog
  2. tail -f を使用しますが、イベントをすぐに読み取るために、次のコマンドがバッファリングされていないことを確認する必要があります

    tail -f /var/log/apache2/access.log | grep --line-buffered "something"また

    tail -f /var/log/apache2/access.log | sed -une "/something/p"

  3. perltail -f | grepまたは python を使用して作成します (perl はログ ファイルの grep に適しています)。

(このサンプルは man perlfaq5 からコピーされます:

for (;;) {
    for ($curpos = tell(GWFILE); <GWFILE>; $curpos = tell(GWFILE)) {
               # search for some stuff and put it into files
    }
    # sleep for a while
         seek(GWFILE, $curpos, 0);  # seek to where we had been
}
于 2012-10-26T07:01:32.950 に答える
0

これを行う:

#Customize as appropriate:
tail -f  /var/log/apache2/access.log | cut -f 0 -d ' ' &
tail -f  /var/log/apache2/access.log | grep foo &
于 2012-10-26T03:34:52.377 に答える