開発したアプリなど一覧

Apache のログを LTSV で書きだす

記事内にアフィリエイトリンクを含む場合があります

Apacheのログ、対して使ってないんだけどとりあえず LTSV 形式にしとこうかなーと思って変えてみた。

LTSVって何?

Labeled Tab Separated Values の略でテキストのフォーマットの仕様です。主にログのフォーマットに使われるようですね。

通常の Apacheのアクセスログは以下のような形ですが

192.168.0.1 - hoge [25/Apr/2000:19:50:32 +0900] "GET /wp/index.php HTTP/1.0" 200 1234 "http://example.com/index.html" "Mozilla/5.0"

これを LTSV にすると以下のようになります。

host:192.168.0.1<TAB>ident:-<TAB>user:hoge<TAB>time:[25/Apr/2000:19:50:32 +0900]<TAB>req:GET /wp/index.php HTTP/1.0<TAB>status:200<TAB>size:1234<TAB>referer:http://example.com/index.html<TAB>ua:Mozilla/5.0

今までの combined ではただの値の羅列だったのがラベルが付くことによってプログラム上で処理しやすくなりますね。

詳しくは以下のエントリを・・・

LTSV FAQ - LTSV って何? どういうところが良いの? - naoyaのはてなダイアリー

Apache のログを LTSV 形式にする

Apache のログファイルの出力を変えるには、LogFormat と CustomLog の値を変更する必要があります。

ログファイル - Apache HTTP サーバ

#LogFormat は apache2.conf に $ sudo vim /etc/apache2/apache2.conf LogFormat "host:%h\tident:%l\tuser:%u\ttime:%t\treq:%r\tstatus:%>s\tsize:%b\treferer:%{Referer}i\tua:%{User-Agent}i" combined_ltsv

$ sudo vim /etc/apache2/sites-enabled/000-default # CustomLog は virtualhost 内に <VirtualHost *:80> DocumentRoot /home/ryomatsu/public_html/loumo.jp ServerName loumo.jp ErrorLog ${APACHE_LOG_DIR}/loumo.jp.error_log CustomLog ${APACHE_LOG_DIR}/loumo.jp.access_log combined_ltsv </VirtualHost>

その後再起動したら LTSV 形式でログが出力されているはずです。

$ tail -f /var/log/apache2/loumo.jp.access_log host:***.**.***.**** ident:- user:- time:[25/Apr/2013:19:37:49 +0900] req:GET /wp/archive/20130403225612/ HTTP/1.1 status:200 size:13353 referer:- ua:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TencentTraveler ; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727 ; .NET CLR 4.0.30319)

試しに見てみたら IE6 だった・・・滅びろ!

ltsview でより見やすく

ltsview を使用すると項目ごとに改行されてより見やすく表示できます。

$ sudo gem install ltsview

$ tail -f /var/log/apache2/loumo.jp.access_log | ltsview --- :host: **.*.***.*** :ident: ! '-' :user: ! '-' :time: ! '[25/Apr/2013:19:44:17 +0900]' :req: GET /wp/archive/20080701175525/ HTTP/1.0 :status: '200' :size: '13894' :referer: http://www.google.co.jp/search?q=vim+%E4%B8%80%E8%A1%8C%E3%80%80%E6%94%B9%E8%A1%8C&num=50&lr=lang_ja&inlang=ja&hl=ja&ie=UTF-8&tbs=lr:lang_1ja&prmd=ivns&ei=aRN6Uf3HA-OO2gXPgIHQAw&start=50&sa=N :ua: w3m/0.5.3

ログ見るときはこっちのほうが良いかな?縦に長いからすごい勢いで流れていきそうだけど。
しかし ua: w3m か、マニアックだな...。

既存の Combined Log を LTSV に変換する

404 Blog Not Found:perl - Apache Combined Log を LTSV に

現状自分のサイトではログを何かに使う事は全然無いんですが、そのうち何かに使うでしょう、きっと。

Sponsored Link

コメント

タイトルとURLをコピーしました