• 日志文件 统计 网站PV IP


    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轴

  • 相关阅读:
    IDEA成功注册方法
    H2O中的随机森林算法介绍及其项目实战(python实现)
    scala语言简介及其环境安装
    SparkSQL---实战应用
    Spark算子---实战应用
    利用python的KMeans和PCA包实现聚类算法
    Spark MLlib回归算法------线性回归、逻辑回归、SVM和ALS
    m个苹果放在n个盘子里面有多少种放法?(动态规划)
    Java_CookieUtil
    Jquery_AjaxFileUpload插件的使用记录
  • 原文地址:https://www.cnblogs.com/jicki/p/5546982.html
Copyright © 2020-2023  润新知