• 通过goaccess分析出nginx的访问量保存到数据库


    两个文件在同一个目录

    [root@minion246 242]# ls
    cut-nginx.sh insert-mysql.sh

    执行sh insert-mysql.sh

     
    1、访问goaccess将结果进行分行
    [root@minion246 242]# cat cut-nginx.sh
    #!/bin/bash
     
    #string=$(cat $1)
    string=$(curl -s -u user:password  http://100.98.100.242:9999/index.html)
    #对IFS变量 进行替换处理
    OLD_IFS="$IFS" #保存当前shell默认的分割符,一会要恢复回去
    IFS="," #将shell的分割符号改为,“”
    array=($string) #分割符是“,”,"hello,shell,split,test" 赋值给array 就成了数组赋值
    IFS="$OLD_IFS" #恢复shell默认分割符配置
     
    for var in ${array[@]}
    do
    echo $var
    done
     
    2、对切分的文件处理获取需要的字段值并保存到数据库
    [root@minion246 242]# more insert-mysql.sh
    #!/bin/bash
    id=$(date +%Y%m%d%H%M%S)
    total_requests=$(sh cut-nginx.sh $1|grep -C 1 total_requests|tail -n 1)
    valid_requests=$(sh cut-nginx.sh $1|grep -C 1 valid_requests|tail -n 1)
    Unique_visitors=$(sh cut-nginx.sh $1|grep -C 1 unique_visitors|tail -n 1)
    d=$(sh cut-nginx.sh $1|grep last-updated|awk -F \> '{print $2}')
     
    echo "insert into nginx_table values("$id","$total_requests","$valid_requests","$Unique_visitors",'$d')"
    mysql -uroot -h100.98.100.100 -P 3306 -ppwd -e "insert into nginx_info.nginx_table values($id,$total_requests,$valid_requests,$Unique_visitors,'$d')"
     
    3、mysql表结构
    CREATE TABLE `nginx_table` (
    `id` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
    `total_requests` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
    `valid_requests` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
    `unique_visitors` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
    `count_date` datetime(0) DEFAULT NULL
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
     
    SET FOREIGN_KEY_CHECKS = 1;
     
    4、数据结果显示
  • 相关阅读:
    循环排序总结
    # 区间合并总结
    快慢指针
    #双指针总结
    滑动窗口总结
    leetcode 第 221 场周赛
    剑指 Offer 07. 重建二叉树
    leetcode 406. 根据身高重建队列
    [JLOI2014]松鼠的新家 T22 D71
    软件包管理器 T21 D71
  • 原文地址:https://www.cnblogs.com/wukc/p/16336649.html
Copyright © 2020-2023  润新知