analogによるアクセス統計

analogでアクセス統計をとるシェルスクリプトを作成し、cronで定期的に実行します。

  1. ファイル analog.sh を作成します。ファイルの内容は下記の通りです。設定値はお客様のご利用状況に合わせて変更してください。
    #!/bin/sh
     
    ### 設定ここから ###
    # ログファイルのディレクトリ
    logdir='/home/username/log'
    # 最新のログファイルの名前
    logfile='access_log'
    # 統計の開始日と終了日(実行日の何日前で指定、先頭に0を付けて2桁で記述)
    from=07
    to=01
    # analogの設定ファイル(絶対パス)
    # 次の設定ファイルをご用意しています
    # 1.すべてのレポートを表示する設定 /usr/local/etc/analog/all.cfg
    # 2.簡潔なレポートを表示する設定   /usr/local/etc/analog/simple.cfg
    # お客様にて設定ファイルをご用意いただくこともできます
    cfg='/usr/local/etc/analog/simple.cfg'
    # 出力ファイルの保存ディレクトリ(絶対パス)
    outputdir='/home/username/public_html/analog'
    # 出力ファイルの名前
    outputfile='stat_'`date '+%y%m%d'`'.html'
    # 何日分の統計ファイルを保存するか
    num=7
    ### 設定ここまで ###
     
    analog -G -g${cfg} +F-00-00-${from} +T-00-00-${to} ${logdir}/${logfile}* > ${outputdir}/${outputfile}
    find ${outputdir} -name "stat_*.html" -mtime +${num} -delete
    
  2. ファイル analog.sh をサーバ上の任意のディレクトリにアップロードします。セキュリティ上、public_htmlの外に設置することをおすすめします。
  3. ファイル analog.sh のパーミッションを 700 に変更します。
  4. 出力ファイル保存ディレクトリを作成します。
  5. cronに登録します。
    cronの設定例(毎日4時36分に実行)
    36 4 * * * /home/username/script/analog.sh

設定ファイルのサンプル

# ログフォーマット
LOGFORMAT       COMBINED
# ログファイルのパス(コマンドラインで指定するのでここでは指定しません)
LOGFILE         none
 
# 出力ファイルの形式 (XHTML|PLAIN|LATEX|COMPUTER|XML)
OUTPUT          XHTML
# 出力ファイルの言語
LANGUAGE        JAPANESE-UTF
# 出力ファイルのパス(コマンドラインで指定するのでここでは指定しません)
OUTFILE         none
# ロゴの表示
LOGO            none
# タイトルのホスト名とリンク
HOSTNAME        ""
HOSTURL         none
# 画像ディレクトリ
IMAGEDIR        https://secure.adam.ne.jp/lib/images/
# スタイルシート
# STYLESHEET      https://secure.adam.ne.jp/lib/css/adam_default.css
 
# 名前解決に関する設定
DNS             READ
DNSGOODHOURS    672
DNSFILE         /usr/local/var/dns/dnscache
DNSLOCKFILE     /usr/local/var/dns/dnslock
 
# レポートの表示/非表示
ALL             OFF
GENERAL         ON
YEARLY          OFF
QUARTERLY       OFF
MONTHLY         OFF
WEEKLY          OFF
DAILYREP        ON
DAILYSUM        OFF
HOURLYREP       OFF
HOURLYSUM       OFF
WEEKHOUR        OFF
QUARTERREP      OFF
QUARTERSUM      OFF
FIVEREP         OFF
FIVESUM         OFF
HOST            ON
REDIRHOST       OFF
FAILHOST        OFF
ORGANISATION    ON
DOMAIN          OFF
REQUEST         ON
DIRECTORY       OFF
FILETYPE        OFF
SIZE            OFF
PROCTIME        OFF
REDIR           OFF
FAILURE         OFF
REFERRER        OFF
REFSITE         ON
SEARCHQUERY     ON
SEARCHWORD      OFF
INTSEARCHQUERY  OFF
INTSEARCHWORD   OFF
REDIRREF        OFF
FAILREF         OFF
BROWSERREP      OFF
BROWSERSUM      ON
OSREP           OFF
VHOST           OFF
REDIRVHOST      OFF
FAILVHOST       OFF
USER            OFF
REDIRUSER       OFF
FAILUSER        OFF
STATUS          ON
 
# レポートの表示項目 (R=リクエスト件数, r=リクエスト件数%, P=ページ数, p=ページ数%, B=バイト, b=バイト%)
TIMECOLS        RrPpBb
HOSTCOLS        RrPpBb
REDIRHOSTCOLS   Rr
FAILHOSTCOLS    Rr
ORGCOLS         RrPpBb
DOMCOLS         RrPpBb
REQCOLS         RrpBb
DIRCOLS         RrPpBb
TYPECOLS        RrBb
SIZECOLS        RrPpBb
PROCTIMECOLS    RrPpBb
REDIRCOLS       Rr
FAILCOLS        Rr
REFCOLS         RrPpBb
REFSITECOLS     RrPpBb
SEARCHQUERYCOLS RrPpBb
SEARCHWORDCOLS  RrPpBb
INTSEARCHQUERYCOLS      RrPpBb
INTSEARCHWORDCOLS       RrPpBb
REDIRREFCOLS    Rr
FAILREFCOLS     Rr
BROWREPCOLS     RrPpBb
BROWSUMCOLS     RrPpBb
OSCOLS          RrPpBb
VHOSTCOLS       RrPpBb
REDIRVHOSTCOLS  RrPpBb
FAILVHOSTCOLS   RrPpBb
USERCOLS        RrPpBb
REDIRUSERCOLS   RrPpBb
FAILUSERCOLS    RrPpBb
STATUSCOLS      Rr
 
# 包含と除外
# HOSTINCLUDE     www.example.com
# HOSTEXCLUDE     *.example.jp
# REFINCLUDE      *.example.com
# REFEXCLUDE      *.example.com
# BROWSUMINCLUDE  
# BROWSUMEXCLUDE  
# STATUSINCLUDE   200-206,304,500-
# STATUSEXCLUDE   400-
# FILEINCLUDE     /images/*
# FILEEXCLUDE     index.html
ROBOTINCLUDE REGEXPI:robot
ROBOTINCLUDE REGEXPI:spider
ROBOTINCLUDE REGEXPI:crawler
ROBOTINCLUDE Googlebot*
ROBOTINCLUDE msnbot*
ROBOTINCLUDE Infoseek*
ROBOTINCLUDE Scooter*
ROBOTINCLUDE *Slurp*
ROBOTINCLUDE *Validator*
ROBOTINCLUDE Ultraseek*
 
# 時間レポートのバー画像の種類 (a|b|c|d|e|f|g|h|i|j)
BARSTYLE        i
# 出力がPLAINの時の時間レポートのバー
MARKCHAR        *
# パイチャートの表示/非表示
ALLCHART        OFF
# 検索語のコンバート
SEARCHCHARCONVERT       ON
# 階層型レポートの表示設定
SUBBROW */*
SUBTYPE *.gz,*.Z
 
# サーチエンジン
SEARCHENGINE http://*google.*/* q,as_q,as_epq,as_oq
SEARCHENGINE http://*altavista.*/* q
SEARCHENGINE http://*yahoo.*/* p
SEARCHENGINE http://*lycos.*/* query,wfq
SEARCHENGINE http://*aol.*/* query
SEARCHENGINE http://*excite.*/* search
SEARCHENGINE http://*go2net.*/* general
SEARCHENGINE http://*metacrawler.*/* general
SEARCHENGINE http://*msn.*/* q,MT
SEARCHENGINE http://*netscape.*/* search
SEARCHENGINE http://*looksmart.*/* key
SEARCHENGINE http://*webcrawler.*/* qkw,search,searchText
SEARCHENGINE http://*overture.*/* Keywords
SEARCHENGINE http://*teoma.*/* q
SEARCHENGINE http://*infospace.*/* qkw
SEARCHENGINE http://*alltheweb.*/* q
SEARCHENGINE http://*dogpile.*/* q
SEARCHENGINE http://*ask.*/* q,ask
SEARCHENGINE http://*alltheweb.*/* query
SEARCHENGINE http://*northernlight.*/* qr
SEARCHENGINE http://*nlsearch.*/* qr
SEARCHENGINE http://*dmoz.*/* search
SEARCHENGINE http://*/netfind* query
SEARCHENGINE http://*/pursuit query
 
# ファイル種類別レポートの拡張子の別名
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 .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]"
 
# 警告の表示/非表示
WARNINGS        OFF