1,统计PV和IP

统计当天的PV(Page View)

cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l

统计某一天的PV

cat access.log | sed -n '/20\/Sep\/2018/p' | wc -l

查看日志中访问次数最多的前10个IP

cat access.log. |cut -d ' ' -f  | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 

查看日志中访问次数超过1000次的前10个IP

cat access.log. |cut -d ' ' -f  | sort |uniq -c | sort -nr | awk '{if($1>1000) print $0 }' | head -n 

2,curl发送数据

使用curl发送GET请求

curl http://127.0.0.1:8080/login?admin&passwd=12345678

使用curl发送POST请求

curl -d "user=admin&passwd=12345678" http://127.0.0.1:8080/login

使用curl发送POST的JSON数据

curl -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}' http://127.0.0.1:8000/login

使用curl发送动态参数POST请求

curl -i -X POST -H "'Content-type':'application/json'" -d '{"ATime":"'$atime'","BTime":"'$btime'"}' $url
curl -i -X POST -H "'Content-type':'application/json'" -d '{"ATime":"'${atime}'","BTime":"'{$btime}'"}' ${url}

3,shell脚本统计并发送

#!/bin/bash

log_path=/var/log/nginx/access.log

domain="http://127.0.0.1:8080/data/count"

log_date=`date "+%d/%b/%Y"`
echo ${log_date} total_visit=`cat ${log_path} | grep $log_date|wc -l` curl -d "count=${total_visit}" ${domain} echo $total_visit

4,服务器端接受并保存到数据库

@RequestMapping(value = "/count")
public void count(String count){
//业务代码
}

shell定时统计Nginx下access.log的PV并发送给API保存到数据库的更多相关文章

  1. nginx的access.log文件详解

    事实证明,日志文件真的是很重要很重要的.能够帮助我们快速的定位问题,并且知道用户访问的状态,浏览器,Ip,接口地址等,简直可怕.. 一.nginx的access.log(1)对博主而言,日志文件存放在 ...

  2. Nginx 的 access log 如何以 json 形式记录?

    Nginx 的 access log 默认是以空格分隔的字符串形式记录的,格式如下 log_format proxy '[$time_local] $remote_addr ' '$protocol ...

  3. Nginx修改access.log日志时间格式

    一.修改原因 因为要获取nginx访问信息,作为开发的数据使用,但是nginx的access.log文件中的默认的时间格式是这样的: [02/Nov/2017:20:48:25 +0800] 而要求的 ...

  4. 在nginx日志access log可以记录POST请求的参数值

    1)      在nginx日志access log可以记录POST请求的参数值 实现程度:日志中可以显示POST请求所提交的参数值 问题: 日志中文显示十六进制(在配置文件中配置中文也无效) 没有对 ...

  5. nginx的access.log 和 error.log

    nginx 常用的配置文件有两种: access.log 和 error.log access.log 的作用是 记录用户所有的访问请求,不论状态码,包括200 ,404,500等请求,404,500 ...

  6. 利用logrotate切割nginx的access.log日志

    一.新建一个nginx的logrotate配置文件 /var/log/nginx/access.log { daily rotate compress delaycompress missingok ...

  7. 使用tcpdump 对nginx的access.log 非400的ip进行自动抓包

    #抓取nginx access日志不是 400 的行,找出该ip ,并且启动抓包 #该脚本的执行要放在 crond 里面或者 while循环里面 ################## #网卡名称 ne ...

  8. nginx的access log按小时生成

    1.在server或location段进行配置 if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})&q ...

  9. 在nginx日志的access log中记录post请求的参数值

    背景:有时程序偶出现参数少了或没有提交到下一个链接Url里后出现问题,如何查呢,最好的办法是在nginx上的加post参数,以定位到问题才有可能对某个UIR的代码出现的问题进行排查. og_forma ...

随机推荐

  1. ArcSDE 10.2 for Oracle 12C安装注意事项

    ArcSDE 10.2 for Oracle 12C安装注意事项 1.环境说明 从ArcSDE10.2.1开始支持Oracle 12C. 2.安装注意事项 SDE空间数据库可以安装到PDB中,使用Cr ...

  2. Jmeter参数化设置,多用户登录

    一.模拟多用户登录场景 如登录模式如下图所示,登录界面中需要输入:用户名.密码.验证码 用户名以及密码均是固定值,不需要做处理.验证码需要处理一下,可以后台配置成固定值,具体可以找开发咨询. 在此场景 ...

  3. 【OBJC】数字转中文大写

    博客园都不知道怎么外链图片…… - (void)numToString:(double)num{ ; NSMutableString *szChMoney = [[NSMutableString al ...

  4. SVN升级到1.8后 Upgrade working copy

    SVN升级到1.8后没法用了,不能提交,提示说要SVN Upgrade working copy, 但是半天在根目录和.svn所在文件夹上面右键都没有找到这个菜单. 坑爹的…… 最后找到解决办法是:重 ...

  5. SVN常用功能介绍(一)

    简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. 互联网上很多版本控制服务已从CVS迁移到Subver ...

  6. 【解决方法】jdb2/sdb1-8 io使用过高

    机器上面跑的mysql,使用的ssd告诉硬盘,但是 使用iotop发现这个进程 jdb2/sdb1-8 使用率高达80%多, 后来发现是因为参数 sync_binlog=1 导致,事务写入太频繁,改为 ...

  7. windows中实现有相同的程序运行就不在运行新的程序。

    主要是通过互斥量内核对象来实现程序间互斥. // CEcopClientApp 初始化HANDLE m_hMutexMark = NULL;BOOL CEcopClientApp::InitInsta ...

  8. July 22nd 2017 Week 29th Saturday

    If you are not brave enough, no one will back you up. 如果你不够勇敢,没人会替你坚强. I was told that the real man ...

  9. webpack学习(四)extract-text-webpack-plugin插件

    二.extract-text-webpack-plugin插件 从 bundle 中提取文本(CSS)到单独的文件 安装 npm install extract-text-webpack-plugin ...

  10. 前端面试题总结(一)HTML篇

    前端面试题总结(一)HTML篇 一.iframe的优缺点? 缺点: 1.会阻塞主页面的onload事件(iframe和主页面共享链接池,而浏览器对相同域的链接有限制,所以会影响页面的并行加载). 解决 ...