• nginx用户统计


    1 概念

    PV:页面访问量,即PageView,用户每次对网站的访问均被记录,用户对同一页面的多次访问,访问量累计。

    UV:独立访问用户数:即UniqueVisitor,访问网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。

    2 统计uv测试

    '''
    create  2018/7/4
    version 1.0
    auth    jabbok
    info    get the uv_number from nginx log and insert into mysql(monitor.uv)
    '''
    
    import pymysql
    import subprocess
    import time
    
    def insert(mdate,num):
    
        conn = pymysql.connect("127.0.0.1","user","passeord","database")
        cursor = conn.cursor()
        sql = """
        insert into uv (id,vistors) VALUES (%d,%d)
        """ %(mdate,num)
        try:
            cursor.execute(sql)
            conn.commit()
            return 0
        except:
            conn.rollback()
            return 1
    
    if __name__ == "__main__":
        mdate = int(time.strftime('%Y%m%d',time.localtime(time.time())))
        cmd = "cat /var/log/nginx/access.log-%d | awk '{print $1}' | sort -r | uniq -c | wc -l > /home/scripts/uv.info" %(mdate)
        print(cmd)
        p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
        time.sleep(3)
        with open('uv.info') as obj:
            num = int(obj.readlines()[0])
            insert(mdate,num)
    

      

    [root@iZbp1ezumclop9223l31okZ scripts]# crontab -l
    10 10 * * * cd /home/scripts;/usr/bin/python uv_monitor.py 1>a1 2>b1
    

      

    MariaDB [monitor]> select * from uv;
    +----------+---------+
    | id       | vistors |
    +----------+---------+
    | 20180704 |    xx|
    | 20180705 |    xx|
    +----------+---------+
    

      

  • 相关阅读:
    15-数组concat()方法和push比较
    06-使用云储存上传工具
    05-云函数/云数据库的增删改查
    错题1
    c++链表
    8817
    8816
    1177
    1355
    c++期末考
  • 原文地址:https://www.cnblogs.com/jabbok/p/9266903.html
Copyright © 2020-2023  润新知