广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >如何分析出用户信息
  • 772
分享到

如何分析出用户信息

2024-04-02 19:04:59 772人浏览 独家记忆
摘要

本篇内容主要讲解“如何分析出用户信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何分析出用户信息”吧!别急着开始当我们要分析日志的时候,先用 ls -lh

本篇内容主要讲解“如何分析出用户信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何分析出用户信息”吧!

如何分析出用户信息

别急着开始

当我们要分析日志的时候,先用 ls -lh 命令查看日志文件的大小,如果日志文件大小非常大,最好不要在线上环境做。

比如我下面这个日志就 6.5M,不算大,在线上环境分析问题不大。

如何分析出用户信息

如果日志文件数据量太大,你直接一个 cat 命令一执行,是会影响线上环境,加重服务器的负载,严重的话,可能导致服务器无响应。

当发现日志很大的时候,我们可以使用 scp 命令将文件传输到闲置的服务器再分析,scp 命令使用方式如下图:

如何分析出用户信息

慎用 cat

大家都知道 cat 命令是用来查看文件内容的,但是日志文件数据量有多少,它就读多少,很显然不适用大文件。

对于大文件,我们应该养成好习惯,用 less 命令去读文件里的内容,因为 less  并不会加载整个文件,而是按需加载,先是输出一小页的内容,当你要往下看的时候,才会继续加载。

如何分析出用户信息

可以发现,Nginx 的 access.log 日志每一行是一次用户访问的记录,从左到右分别包含如下信息:

  • 客户端的 IP 地址;

  • 访问时间;

  • Http 请求的方法、路径、协议版本、协议版本、返回的状态码;

  • User Agent,一般是客户端使用的操作系统以及版本、浏览器及版本等;

不过,有时候我们想看日志最新部分的内容,可以使用 tail 命令,比如当你想查看倒数 5 行的内容,你可以使用这样的命令:

如何分析出用户信息

如果你想实时看日志打印的内容,你可以使用 tail -f 命令,这样你看日志的时候,就会是阻塞状态,有新日志输出的时候,就会实时显示出来。

PV 分析

PV 的全称叫 Page View,用户访问一个页面就是一次 PV,比如大多数博客平台,点击一次页面,阅读量就加 1,所以说 PV  的数量并不代表真实的用户数量,只是个点击量。

对于 nginx 的 acess.log 日志文件来说,分析 PV 还是比较容易的,既然日志里的内容是访问记录,那有多少条日志记录就有多少 PV。

我们直接使用 wc -l 命令,就可以查看整体的 PV 了,如下图一共有 49903 条 PV。

如何分析出用户信息

PV 分组

nginx 的 acess.log 日志文件有访问时间的信息,因此我们可以根据访问时间进行分组,比如按天分组,查看每天的总  PV,这样可以得到更加直观的数据。

要按时间分组,首先我们先「访问时间」过滤出来,这里可以使用 awk 命令来处理,awk 是一个处理文本的利器。

awk 命令默认是以「空格」为分隔符,由于访问时间在日志里的第 4 列,因此可以使用 awk '{print $4}' access.log  命令把访问时间的信息过滤出来,结果如下:

如何分析出用户信息

上面的信息还包含了时分秒,如果只想显示年月日的信息,可以使用 awk 的substr 函数,从第 2 个字符开始,截取 11 个字符。

如何分析出用户信息

接着,我们可以使用 sort 对日期进行排序,然后使用 uniq -c 进行统计,于是按天分组的 PV 就出来了。

可以看到,每天的 PV 量大概在 2000-2800:

如何分析出用户信息

注意,使用 uniq -c 命令前,先要进行 sort 排序,因为 uniq 去重的原理是比较相邻的行,然后除去第二行和该行的后续副本,因此在使用  uniq 命令之前,请使用 sort 命令使所有重复行相邻。

UV 分析

UV 的全称是 Uniq Visitor,它代表访问人数,比如公众号的阅读量就是以 UV 统计的,不管单个用户点击了多少次,最终只算 1  次阅读量。

access.log 日志里虽然没有用户的身份信息,但是我们可以用「客户端 IP 地址」来近似统计 UV。

如何分析出用户信息

该命令的输出结果是 2589,也就说明 UV 的量为 2589。上图中,从左到右的命令意思如下:

  • awk '{print $1}' access.log,取日志的第 1 列内容,客户端的 IP 地址正是第 1 列;

  • sort,对信息排序;

  • uniq,去除重复的记录;

  • wc -l,查看记录条数;

UV 分组

假设我们按天来分组分析每天的 UV 数量,这种情况就稍微比较复杂,需要比较多的命令来实现。

既然要按天统计 UV,那就得把「日期 + IP地址」过滤出来,并去重,命令如下:

如何分析出用户信息

具体分析如下:

  • 第一次 ack 是将第 4 列的日期和第 1 列的客户端 IP 地址过滤出来,并用空格拼接起来;

  • 然后 sort 对第一次 ack 输出的内容进行排序;

  • 接着用 uniq 去除重复的记录,也就说日期 +IP 相同的行就只保留一个;

上面只是把 UV 的数据列了出来,但是并没有统计出次数。

如果需要对当天的 UV 统计,在上面的命令再拼接 awk '{uv[$1]++;next}END{for (ip in uv) print ip,  uv[ip]}' 命令就可以了,结果如下图:

如何分析出用户信息

awk 本身是「逐行」进行处理的,当执行完一行后,我们可以用 next 关键字来告诉 awk 跳转到下一行,把下一行作为输入。

对每一行输入,awk 会根据第 1 列的字符串(也就是日期)进行累加,这样相同日期的 ip 地址,就会累加起来,作为当天的 uv 数量。

之后的 END 关键字代表一个触发器,就是当前面的输入全部完成后,才会执行 END {} 中的语句,END 的语句是通过 foreach 遍历 uv  中所有的 key,打印出按天分组的 uv 数量。

终端分析

nginx 的 access.log 日志最末尾关于 User Agent  的信息,主要是客户端访问服务器使用的工具,可能是手机、浏览器等。

因此,我们可以利用这一信息来分析有哪些终端访问了服务器。

User Agent 的信息在日志里的第 12 列,因此我们先使用 awk 过滤出第 12 列的内容后,进行 sort 排序,再用 uniq -c  去重并统计,最后再使用 sort -rn(r 表示逆向排序, n 表示按数值排序) 对统计的结果排序,结果如下图:

如何分析出用户信息

分析 TOP3 的请求

access.log 日志中,第 7 列是客户端请求的路径,先使用 awk 过滤出第 7 列的内容后,进行 sort 排序,再用  uniq -c 去重并统计,然后再使用 sort -rn 对统计的结果排序,最后使用 head -n 3 分析 TOP3 的请求,结果如下图:

如何分析出用户信息

到此,相信大家对“如何分析出用户信息”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何分析出用户信息

本文链接: https://www.lsjlt.com/news/83937.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何分析出用户信息
    本篇内容主要讲解“如何分析出用户信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何分析出用户信息”吧!别急着开始当我们要分析日志的时候,先用 ls -lh ...
    99+
    2022-10-19
  • PHP随机生成用户信息实例分析
    本文给大家介绍如何随机生成用户信息(号码、名字、时间),希望对需要的朋友有所帮助! 随机生成号码 function generate_name($count,$type="array",$white_space=false) { $ar...
    99+
    2019-07-18
    PHP 随机信息
  • PHP随机生成用户信息的示例分析
    这篇文章将为大家详细讲解有关PHP随机生成用户信息的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。下面给大家介绍如何随机生成用户信息(号码、名字、时间)。随机生成号码function...
    99+
    2023-06-22
  • Linux下route命令输出信息的示例分析
    这篇文章主要为大家展示了“Linux下route命令输出信息的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下route命令输出信息的示例分析”这篇文章吧。使用不带任何参数的r...
    99+
    2023-06-17
  • 如何导出ash信息
    小编给大家分享一下如何导出ash信息,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 数据库的DBAS...
    99+
    2022-10-19
  • linux如何修改用户信息
    这篇“linux如何修改用户信息”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux如...
    99+
    2023-02-13
    linux
  • 如何分析Samba信息泄露漏洞SambaBleed
    本篇文章给大家分享的是有关如何分析Samba信息泄露漏洞SambaBleed,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Samba作为Linux和UNIX系统上实现SMB协议...
    99+
    2023-06-19
  • 微信小程序如何获取用户信息
    自我介绍 我是IT果果日记,微信公众号请搜索 IT果果日记 一个普通的技术宅,定期分享技术文章,欢迎点赞、关注和转发,请多关照。 微信小程序用户基本信息有哪些? 除了基本信息,微信还会提供openId和union...
    99+
    2023-09-05
    微信小程序 小程序 微信 Powered by 金山文档
  • PHP中如何使用parse_url函数分析信息抓取
    PHP中如何使用parse_url函数分析信息抓取,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。测试PHP preg_match()函数信息泄露方法介$url =...
    99+
    2023-06-17
  • Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
    一、前言 二、爬取观影数据 https://movie.douban.com/ 在『豆瓣』平台爬取用户观影数据。 爬取用户列表 网页分析 为了获取用户,我选择了其中一部...
    99+
    2022-11-12
  • php如何验证用户提交信息
    在 PHP 中,可以使用多种方法来验证用户提交的信息。以下是一些常用的验证方法:1. 使用内置函数过滤和验证用户输入:  ...
    99+
    2023-10-10
    php
  • python如何伪装用户真实信息
    小编给大家分享一下python如何伪装用户真实信息,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!伪装用户真实信息有些网页是需要登...
    99+
    2022-10-19
  • 小程序如何获取用户信息
    这篇文章主要为大家展示了小程序如何获取用户信息,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序如何获取用户信息”这篇文章吧。获取用户信息,withCredentials 为 true 时需要先...
    99+
    2023-06-26
  • PHP如何随机生成用户信息
    小编给大家分享一下PHP如何随机生成用户信息,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!随机生成号码  function generate_name($count,$type="a...
    99+
    2023-06-22
  • 微信小程序中的用户数据如何分析
    今天小编给大家分享一下微信小程序中的用户数据如何分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。访问数据用户访问数据:通过...
    99+
    2023-06-27
  • idea 如何修改git 提交用户信息
    近年来,Git 作为一种非常流行的版本控制系统,已经成为了日常开发工作中不可或缺的工具。Git 的定位是一个分布式版本控制系统,因此每个开发者都有自己的本地 Git 仓库,并通过 push 和 pull 操作与团队中的其他人交换代码。在 G...
    99+
    2023-10-22
  • mfc中如何输出打印信息
    在MFC中,可以使用`TRACE`宏、`AfxMessageBox`函数和`OutputDebugString`函数来输出打印信息。...
    99+
    2023-10-28
    mfc
  • oracle中Toad如何导出LogMiner信息
    这篇文章主要介绍oracle中Toad如何导出LogMiner信息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Toad 使用方法之导出LogMiner信息1 选取要导出的文件Shi...
    99+
    2022-10-18
  • 如何查看redis的出错信息
    查看redis的出错信息的方法:使用tail -f日志文件路径查看,日志文件路径在启动配置文件里有设置,路径例如:logfile/usr/local/var/log/redis.log,可打开配置文件查看。...
    99+
    2022-10-25
  • thinkphp5如何关闭info信息输出
    这篇文章主要介绍“thinkphp5如何关闭info信息输出”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“thinkphp5如何关闭info信息输出”文章能帮助大家解决问题。一、info 的作用在开...
    99+
    2023-07-05
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作