主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

awk でクイック apache ログ解析

最終更新日 2021-07-30 22:43:48 (1年以上前の記事です)

Apache などのアクセスログから、ぱっと簡単な統計を見たい時などに awk は便利です。
便利なものをメモ。

でも最近は大体 goaccess を使っている。

特定のパスへのアクセス数をIP毎にカウント

パスを / とすると

awk -F'[ "]+' '$7 == "/" { ipcount[$1]++ }
    END { for (i in ipcount) {
        printf "%15s - %d\n", i, ipcount[i] } }' access_log

/blog/ にマッチするものを

awk -F'[ "]+' '$7 ~ "/blog/" { ipcount[$1]++ }
    END { for (i in ipcount) {
        printf "%15s - %d\n", i, ipcount[i] } }' access_log

IP を無視するなら

awk -F'[ "]+' '$7 ~ "/" { pagecount[$7]++ }
    END { for (i in pagecount) {
        printf "%15s - %d\n", i, pagecount[i] } }' access_log

日付ごとに

awk -F'[ "]+' '$7 ~ "/blog/" { cmd="echo " $4 " | cut -d : -f 1" ; cmd | getline abc ; close(cmd) ; pagecount[abc]++ }
    END { for (i in pagecount) {
        printf "%15s -- %d\n", i, pagecount[i] } }' access_log

逆に特定の IP に対して、パス毎のアクセス数のカウント

対象のIPを 127.0.0.1 とすると

awk -F'[ "]+' '$1 == "127.0.0.1" { pagecount[$7]++ }
    END { for (i in pagecount) {
        printf "%15s - %d\n", i, pagecount[i] } }' access_log

参考文献

Do you have any useful awk and grep scripts for parsing apache logs?
最終更新日 2021-07-30 22:43:48

コメント このエントリーをはてなブックマークに追加

フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank2, rank3, rank7, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google