Analogは、指定したログファイルを使って解析を行なう。したがって、ログファイルを所定期間単位でローテイトして都度Analogを実行すれば、期間ごとの測定を実施できる。
ただし、この方法では、区切った期間よりも長期間における解析ができない。ちなみに、うちのアクセスログは、1週間で7MB程度で、年間分を考えると、52 * 7 = 364 MB で済むが、もっとアクセスの多いサイトではログを切り詰める方が現実的かと思われる。
以下参考。
ログローテイション機能を提供する logrotate の設定を行なう。設定ファイルは、"/etc/logrotate.conf" にある。
# see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 (以下略)
上記のように、ログを切り詰める間隔を指定している。また切り詰めた後のログを何回分保存するかも指定できる。デフォルトで、1週間感覚になっている。
参考
analog 実行用のスクリプトを作成する。
# do-analog.sh # 2005.11.03 Bokupi Add # This Script is done by Super User's Cron analog analogurldecode analog_report_org.html >analog_report.html
このスクリプトを cron に登録する。
# vi /etc/crontab
logrotateは、cron.weekly のタイミングで実行されるので、その後に実行されるよう登録する。
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ LANG=ja_JP.eucJP # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 30 4 * * * root /usr/sbin/ntpdate 133.100.9.2 00 5 * * * root sh /(都合により割愛)/backup.sh 30 5 * * * bokupi sh /(都合により割愛)/namazu/mknmz.sh 50 5 * * 0 root sh /(都合により割愛)/do-analog.sh # ここに追加 0,5,10,15,20,25,30,35,40,45,50,55 * * * * root /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/conf/traffic.cfg