`
iamzhongyong
  • 浏览: 806717 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

web服务器中获取统计数据-猜测

 
阅读更多

web请求中,web服务器的日志中会留有一些信息,这些信息可以供后续数据分析只有。常用的有apache和nginx服务器,两者日志格式相差不是很多。日志格式可以配置,具体配置方式不详细介绍,网上肯定很多。

常见的分析方式有两种:

(1)在服务器上通过shell或者python脚本分析,将结果数据搞到数据库

(2)将服务器上的原始文件拉到特定的分析服务器,分析服务器对于结果分析,然后搞到数据库

两种方式各有利弊,第一种的话获取结果的脚本需求部署到每台机器上去,好处是减少网络传输,第二种的话好处是服务器不需要部署脚本,直接拖数据到分析服务器即可,缺点是网络传输消耗比较大。

 

apache和nginx中常见的日志信息(下面是两个日志配置)

nginx:"$remote_addr $request_time_usec $http_x_readtime [$time_local] \"$request_method http://$host$request_uri\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\"";

apace:"%h %D %{X_READTIME}i %t \"%m http://%V%U%q\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

可以获取的信息有以下几个(基本上是基于http协议的一下信息)

(1)来源ip

(2)请求响应时间

(3)请求时间点

(4)请求URL(包含get或者post信息)

(5)返回的http状态码

(6)返回的信息的大小

(7)来源URL(refer信息)

(8)浏览器和操作系统数据

 

基于这些基本数据,我们可以做哪些分析(做了简单的描述)?

(1)统计每秒请求的数量(即QPS)以及特定时间内的总请求书

(2)统计每秒请求的用户数(UV),但是理论上是IPV

(3)统计系统的平均响应时间(基于每次请求的时间做平均)

(4)用户在页面上的停留时间,这个需要结合refer以及时间点,可能会有些许不准确

(5)用户路径分析,分析refer数据,例如A>B点数据,refer是A,那用户先到A页面再到B页面

 

基于web服务器获取的数据毕竟有限,想要获取更多用户的行为或者统计数据,还看一怎么做?

(1)页面通过js来进行埋点

用户的行为会触发浏览器对被统计页面的一个http请求,,页面中的埋点javascript片段会被执行,用过相关工具的朋友应该知道,一般网站统计工具都会要求用户在网页中加入一小段javascript代码,这个代码片段一般会动态创建一个script标签,并将src指向一个单独的js文件,此时这个单独的js文件会被浏览器请求到并执行,这个js往往就是真正的数据收集脚本。

(2)在服务端代码中添加埋点

将埋点的统计数据临时放置在内存中,然后将数据定时的写入磁盘,之后基于这些信息来进行分析。

 

 

 

分享到:
评论

相关推荐

    L003003016-使用工具探测web服务器.docx

    4. 对于httsquash,同样先查看帮助文档,然后使用它扫描目标IP,获取关于Web服务器的详细信息。 熟练掌握这些Linux命令和工具的使用,对于进行有效的网络审计和安全测试至关重要。这不仅可以帮助我们识别服务器的...

    matlab开发-Webscraping

    在MATLAB中进行Web Scraping(网页抓取)是一种强大的技术,它允许用户从互联网上自动提取大量数据,尤其适用于那些没有提供API接口或者数据导出功能的网站。本项目"matlab开发-Webscraping"的目标是设计一个系统,...

    SQL注入

    - **基本思路**:在确认了表和字段之后,进一步猜测这些字段中存储的数据的长度。 - **示例代码**:`and (select top 1 len(字段名) from 数据库名) > 0` - 使用`len()`函数获取指定字段中第一条记录的长度。 - **...

    js列表数据导出到excel表中

    ### 如何将JavaScript获取的数据导出到Excel表中 在实际工作中,经常需要将系统中的数据导出到Excel表格中以便于进一步分析或共享。本文将详细介绍如何利用JavaScript结合Java后端来实现这一功能。 #### 导出Excel...

    servlet第一课项目

    5. **结束游戏**:当用户猜中数字或达到预设的最大尝试次数时,Servlet会通知用户游戏结束,并可能显示最终得分或其他统计数据。 在项目的实现过程中,初学者可以学习以下关键知识点: - **Servlet配置**:了解...

    SQL注入攻击常用语句(非常全,不可错过)

    此部分涉及的是获取Web服务器的物理路径或文件系统路径的方法,但未提供具体语句。 **应用场景:** 了解Web服务器的具体路径有助于进一步利用服务器上的其他漏洞。 #### 八、查询构造 **语句示例:** ```sql 6. ...

    K-Blog v1.0

    K-Blog v1.0可能支持多种操作系统(如Windows、Linux等)和Web服务器(如Apache、Nginx等),同时兼容多种浏览器,确保用户在不同环境下都能正常访问。 9. **性能优化**: 为了提升用户体验,K-Blog v1.0可能实现...

    安全扫描报告模版

    1. **网站结构分析**:检查网站的架构,确定使用的技术栈,如web服务器类型、脚本语言和数据库等。 2. **目录遍历探测**:探测网站中未公开的目录,寻找可能存在的未授权访问路径。 3. **隐藏文件探测**:查找隐藏...

    jsp 入门教材 非常不错

    通过JSP可以直接查询Excel电子表格中的数据,实现数据的整合和展示。 **5.10 使用同步连接** 使用同步连接可以提高数据访问的效率,但需要注意线程安全问题。 **5.11 网上投票** JSP可以用来实现在线投票系统,...

    基于PHP的易学短网址系统php版源码.zip

    10. **部署与配置**:如何将此系统部署到Web服务器,如Apache或Nginx,并进行必要的环境配置。 以上就是基于PHP的短网址系统中可能涵盖的关键技术点,通过研究这个源码,开发者可以深入理解PHP在Web开发中的应用,...

    python194医用耗材网上申领系统(django).rar

    它包含了“完整前后端源码”,意味着你可以获取到项目的所有代码,包括前端用户界面和后端服务器逻辑。此外,“包含数据库”表示项目已经配置了数据库,可以存储和处理数据。“项目可正常运行”则表明该系统在部署后...

    设备管理 源码 aspx 共有4个系统

    7. **API接口**:可能提供API供其他应用调用,比如移动应用或第三方服务获取设备数据。 8. **安全性**:源码的安全性非常重要,防止未经授权的访问和修改,确保数据安全。 9. **可扩展性**:设计时应考虑未来可能...

    行动

    它拥有众多的数据分析库,如Pandas、NumPy和SciPy,这些库提供了强大的数据处理和统计分析功能。对于数据科学家来说,Python是必不可少的工具。"pyaction-master"可能包含了一些数据处理脚本,用于清洗、预处理和...

    covid-chan

    Vue.js 在构建此类应用程序时能够发挥强大的作用,因为它的组件化结构允许开发者将界面拆分为可重用的部分,例如可以创建一个专门显示疫情统计数据的组件,一个用于展示地图的组件,以及一个用于用户输入查询的表单...

    B-sporthood

    6. **数据可视化**:如果涉及到比赛成绩或统计数据展示,ECharts、D3.js 或 Chart.js 等数据可视化库可能会被利用。 7. **用户认证和授权**:对于用户登录和权限控制,JWT(JSON Web Tokens)和 Passport.js 可能会...

    mg-covid

    10. **API调用**:可能通过`fetch`或`XMLHttpRequest`从服务器获取数据,如COVID-19的实时统计数据。 由于缺少具体的文件内容,以上都是基于常规假设的分析。实际项目可能包含更复杂的结构,如使用Bootstrap或...

    link_reduction:Приложениепозволяетсоздаватьсокращенныессылкиивестиихстатистику

    在这个项目中,JavaScript主要负责处理用户的输入、验证链接的有效性、生成短链接以及与服务器进行数据交换。 一、链接缩短机制 链接缩短是通过将原始长链接映射到一个简短的、唯一的标识符来实现的。在"link_...

    mdb发光

    在`mdb-shiny-master`这个文件列表中,我们可以猜测这是一个Shiny应用的源代码,Shiny是R的一个库,用于构建交互式的Web应用。这个应用可能展示了如何在Shiny界面中直接与MDB数据库进行交互,提供用户友好的数据查询...

    electores-node

    由于具体信息不足,我们只能猜测 "carlos" 可能包含了与选举流程中特定步骤相关的核心功能,如用户验证、投票记录、结果计算等。 在深入探讨 "electores-node" 可能涉及的技术细节之前,我们先来看看 TypeScript 在...

    world_development_explorer

    标签为空,意味着没有提供额外的分类信息,但我们可以通过项目名猜测其主要涉及数据科学、数据分析、地理信息系统(GIS)和可能的Web开发技术,如JavaScript、Python、D3.js等用于数据可视化。 压缩包子文件"world_...

Global site tag (gtag.js) - Google Analytics