日誌檔案 統計 網站PV IP

丶小炒肉發表於2016-05-31

1. 安裝rrdtool

yum install rrdtool

 

 

2. 建立 rrdtool 資料庫

rrdtool create /opt/local/rrdtool/jicki.rrd -s 300 DS:pv:GAUGE:600:U:U DS:ip:GAUGE:600:U:U RRA:AVERAGE:0.5:1:288

 

 

-s 300                  每 300秒儲存一次資料

DS:pv:GAUGE:600:U:U     指定資料來源DS 欄位pv

DS:ip:GAUGE:600:U:U     指定資料來源DS,欄位ip

RRA:AVERAGE:0.5:1:288   指定RRA,相當於資料表,儲存一天的資料。

 

 

3. 建立一個更新 指令碼 每五分鐘更新一次 資料

 

#!/bin/bash

becur=`date -d "5 minute ago" +%H%M%S`

list=`tac /var/log/apache2/access.log |  awk  -v a="$becur"  -F [' ':] '{t=$5$6$7;if (t>=a) {print;} else {exit;} }' | egrep -v "\.(gif|jpg|jpeg|png|css|js)" `

#獲取五分鐘內PV

pv=`echo "$list" | wc -l`

#獲取五分鐘內IP

ip=`echo "$list" | awk '{print $1}' | sort | uniq | wc -l `

#每五分鐘更新資料庫

rrdtool update /opt/local/rrdtool/moxian.rrd N:${pv}:${ip}

#每五分鐘更新圖片

rrdtool graph /opt/local/rrdtool/pv.png -t "PV and IP statistics in an hour" --start now-3600 --watermark "`date`" --no-gridfit --slope-mode -l 0 -y 1000:5 -X 0 DEF:mypv=/opt/local/rrdtool/jicki.rrd:pv:AVERAGE DEF:myip=/opt/local/rrdtool/jicki.rrd:ip:AVERAGE AREA:mypv#9F35FF:"PV Num" AREA:myip#00DB00:"IP Num"

 

 

 

 

把此指令碼新增進計劃任務,每五分鐘執行一次。

 

-t "PV and IP statistics in an hour"   指定圖表標題

--start now-3600                       獲取近一小時資料

-l 0                                   Y軸從0開始

-y 1000:5                              定義y軸分隔線為1000,5條顯示一刻度

-X 0                                   以原值顯示y軸

相關文章