您的位置:首页 > 运维架构 > 网站架构

日志文件 统计 网站PV IP

2014-12-30 14:45 309 查看
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轴
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ip pv