Apacheのログ解析ツールとして、analog + DNSTranとvisitorsを導入してみました。
これはその時の備忘録です。
サーバOSはDebian 5.0なのでaptitudeを利用して analog 2.6.0-17、visitors0.7-4、Graphviz 2.20.2-3をインストールします。
DNSTranはDebianパッケージとして提供されていないため、このサイトからLinux用のバイナリをダウンロードして /usr/local/bin にインストールします(tarボールを解凍するだけ)。この時点での最新版は1.5.2でした。
次に設定および導入です。
まずは /etc/analog.cfg の設定です。以下のようにしました。
LOGFILE /var/log/apache2/access.log* OUTFILE /home/www/log/analog/index.html HOSTNAME www.uminoie.mydns.jp LANGFILE /usr/share/analog/lang/jpu.lng DESCFILE /usr/share/analog/lang/jpudesc.txt DOMAINSFILE /usr/share/analog/lang/jpudom.tab DNS READ DNSFILE /usr/local/bin/dnstran1.5.2/dnscache LANGUAGE JAPANESE-UTF SEARCHCHARCONVERT ON YEARLY ON QUARTERLY OFF MONTHLY ON WEEKLY ON DAILYREP ON DAILYSUM ON HOURLYREP ON HOURLYSUM ON WEEKHOUR OFF QUARTERREP OFF QUARTERSUM OFF FIVEREP OFF FIVESUM OFF HOST ON REDIRHOST OFF FAILHOST OFF ORGANISATION ON DOMAIN ON REQUEST ON DIRECTORY ON FILETYPE ON SIZE ON PROCTIME ON REDIR ON FAILURE ON REFERRER ON REFSITE ON SEARCHQUERY ON SEARCHWORD ON INTSEARCHQUERY ON INTSEARCHWORD ON REDIRREF ON FAILREF OFF FULLBROWSER ON BROWSER OFF OSREP ON VHOST ON REDIRVHOST OFF REDIRVHOST OFF USER ON REDIRVHOST OFF FAILUSER OFF STATUS ON REQLINKINCLUDE pages REFLINKINCLUDE * REDIRREFLINKINCLUDE * FAILREFLINKINCLUDE * SUBBROW */* SUBTYPE *.gz,*.Z SEARCHENGINE https://*google.*/* q,as_q,as_epq,as_oq SEARCHENGINE https://*altavista.*/* q SEARCHENGINE https://*yahoo.*/* p SEARCHENGINE https://*lycos.*/* query,wfq SEARCHENGINE https://*aol.*/* query SEARCHENGINE https://*excite.*/* search SEARCHENGINE https://*go2net.*/* general SEARCHENGINE https://*metacrawler.*/* general SEARCHENGINE https://*msn.*/* q,MT SEARCHENGINE https://*netscape.*/* search SEARCHENGINE https://*looksmart.*/* key SEARCHENGINE https://*webcrawler.*/* qkw,search,searchText SEARCHENGINE https://*overture.*/* Keywords SEARCHENGINE https://*teoma.*/* q SEARCHENGINE https://*infospace.*/* qkw SEARCHENGINE https://*alltheweb.*/* q SEARCHENGINE https://*dogpile.*/* q SEARCHENGINE https://*ask.*/* q,ask SEARCHENGINE https://*alltheweb.*/* query SEARCHENGINE https://*northernlight.*/* qr SEARCHENGINE https://*nlsearch.*/* qr SEARCHENGINE https://*dmoz.*/* search SEARCHENGINE https://*/netfind* query SEARCHENGINE https://*/pursuit query ROBOTINCLUDE REGEXPI:robot ROBOTINCLUDE REGEXPI:spider ROBOTINCLUDE REGEXPI:crawler ROBOTINCLUDE Googlebot* ROBOTINCLUDE msnbot* ROBOTINCLUDE Infoseek* ROBOTINCLUDE Scooter* ROBOTINCLUDE *Slurp* ROBOTINCLUDE *Validator* ROBOTINCLUDE Ultraseek* TYPEALIAS .html ".html [Hypertext Markup Language]" TYPEALIAS .htm ".htm [Hypertext Markup Language]" TYPEALIAS .shtml ".shtml [Server-parsed HTML]" TYPEALIAS .ps ".ps [PostScript]" TYPEALIAS .gz ".gz [Gzip compressed files]" TYPEALIAS .tar.gz ".tar.gz [Compressed archives]" TYPEALIAS .jpg ".jpg [JPEG graphics]" TYPEALIAS .jpeg ".jpeg [JPEG graphics]" TYPEALIAS .gif ".gif [GIF graphics]" TYPEALIAS .png ".png [PNG graphics]" TYPEALIAS .txt ".txt [Plain text]" TYPEALIAS .cgi ".cgi [CGI scripts]" TYPEALIAS .pl ".pl [Perl scripts]" TYPEALIAS .css ".css [Cascading Style Sheets]" TYPEALIAS .class ".class [Java class files]" TYPEALIAS .pdf ".pdf [Adobe Portable Document Format]" TYPEALIAS .zip ".zip [Zip archives]" TYPEALIAS .hqx ".hqx [Macintosh BinHex files]" TYPEALIAS .exe ".exe [Executables]" TYPEALIAS .wav ".wav [WAV sound files]" TYPEALIAS .avi ".avi [AVI movies]" TYPEALIAS .arc ".arc [Compressed archives]" TYPEALIAS .mid ".mid [MIDI sound files]" TYPEALIAS .mp3 ".mp3 [MP3 sound files]" TYPEALIAS .ogg ".ogg [OGG sound files]" TYPEALIAS .doc ".doc [Microsoft Word document]" TYPEALIAS .rtf ".rtf [Rich Text Format]" TYPEALIAS .mov ".mov [Quick Time movie]" TYPEALIAS .mpg ".mpg [MPEG movie]" TYPEALIAS .mpeg ".mpeg [MPEG movie]" TYPEALIAS .asp ".asp [Active Server Pages]" TYPEALIAS .jsp ".jsp [Java Server Pages]" TYPEALIAS .cfm ".cfm [Cold Fusion]" TYPEALIAS .php ".php [PHP]" TYPEALIAS .js ".js [JavaScript code]"
/home/wwwがドキュメントルートであるとしています。
次にanalogのログ解析結果で出力されるHTML文書内のイメージファイルの格納ディレクトリをapacheの設定ファイルでaliasとして追加します。追加するファイルは /etc/apache2/sites-enabed/000-default のバーチャルホストの内部で以下の記述です。
alias /analog "/usr/share/analog/images" <directory "/usr/share/analog/images"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from all </directory>
今度はvisitorsとDNSTranです。これらは設定ファイルが無くコマンドラインでの指定になるのでvistors.shというシェルスクリプトを以下のように作成します。
#!/bin/sh /usr/bin/visitors -A -m 30 /var/log/apache2/access.log -o html > /home/www/log/visitors/index.html
シェルスクリプトではなく直接コマンドを/etc/crontab等に記述しても良いのですが、標準エラー出力を/deb/nullにリダイレクトできない(リダイレクトすると出力ファイルの中身も一緒にリダイレクトされて空のindex.htmlができてしまった)ため、いったんシェルスクリプトに処理を記入してcronではこのスクリプトの出力を/dev/nullにリダイレクトするようにしました。cronでの記述は以下です。
0 * * * * root /usr/local/bin/visitors.sh > /dev/null 2>&1
DNSTranも同様にシェルスクリプトを作成します。
#!/bin/sh cd /usr/local/bin/dnstran1.5.2 ./dnstran /var/log/apache2/access.log > /dev/null 2>&1 rm /var/log/apache2/access.log.gz
このスクリプトもcronに登録します。
55 * * * * root /usr/local/bin/dnstran1.5.2/dnstran.sh > /dev/null 2>&1
参考にしたサイトを以下に示します。情報提供ありがとうございます。
[analog関連]
https://www.skucky.com/inst_analog.html
https://www.miloweb.net/analog.html
[DNSTran関連]
https://nekhet.ddo.jp/item/877
https://www.summary.net/soft/dnstran.html
[visitors関連]
https://gigazine.net/index.php?/news/comments/20070305_visitors/
https://www.uetyi.mydns.jp/wordpress/linux-server/entry-173.html
コメントする