半天掌握日志存储 云启实验室系列课程 第五讲 | 日志服务之分析用户访问行为

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 本教程介绍如何使用日志服务采集NGINX日志,创建仪表盘分析用户访问行为。专家支持:阿里云日志服务技术专家 执少
 

好运集市 春天好运会发芽🌱

半天掌握日志存储,云启实验室系等你来!

好运集市.jpeg

4月21日-4月29日,完成以下课程学习即可参与抽奖,100% 中奖,云小宝、双肩包、VR 眼镜等你来。
点击实验室课程链接:https://developer.aliyun.com/adc/series/activity/sls-1

课程实践.png

半天掌握日志存储 云启实验室系列课程 第五讲 | 日志服务之分析用户访问行为 实验背景

本场景将提供一台配置了 CentOS 7.7 版本的 ECS 实例(云服务器)、日志服务以及 SLS Project 资源。通过本教程的操作,您可以基于已有环境快速采集 NGINX 日志,并创建仪表盘分析用户访问行为。

本场景主要涉及以下云产品和服务:

• 日志服务 SLS:
日志服务SLS是云原生观测与分析平台,为 Log、Metric、Trace 等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。

• 云服务器 ECS:
云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。

实验后您将收获到
• 创建 Logstore
• 采集 NGINX 日志
• 创建仪表盘

半天掌握日志存储 云启实验室系列课程 第五讲 | 日志服务之分析用户访问行为 实验手册

安装 Nginx 服务

本步骤将指导您如何在ECS实例上下载、安装并启动NGINX服务。

  1. 在页面右侧,单击 图标,切换至Web Terminal。
  2. 安装Nginx运行所需要的插件。

2.1 执行如下命令,安装gcc。gcc是Linux下的编译器,它可以编译C、C++、Ada、Object C和Java等语言。
yum -y install gcc

2.2 执行如下命令,安装pcre。pcre是一个perl库,Nginx的HTTP模块使用pcre来解析正则表达式。
yum install -y pcre pcre-devel

2.3 执行如下命令,安装zlib。zlib是一个文件压缩和解压缩的库,Nginx使用zlib对HTTP数据包进行gzip压缩和解压。
yum install -y zlib zlib-devel

  1. 执行如下命令,下载Nginx安装包。

wget http://nginx.org/download/nginx-1.17.10.tar.gz

  1. 执行如下命令,解压Nginx安装包。

tar -zxvf nginx-1.17.10.tar.gz

  1. 执行如下命令,编译安装Nginx。

cd nginx-1.17.10
./configure
make && make install

  1. 执行如下命令,启动Nginx。

cd /usr/local/nginx/
sbin/nginx

  1. 在页面右侧,单击图标,切换到远程桌面操作界面。
  2. 测试Nginx启动。打开虚拟桌面的FireFox ESR浏览器,访问http://<ECS公网地址>,出现如下界面表示安装启动成功。

说明:您可在云产品资源列表中查看ECS公网地址。

创建Logstore

本步骤将指导您如何在日志服务控制台中创建Logstore。

  1. 双击打开虚拟桌面的Firefox ESR浏览器
  2. 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码用户密码输入框,单击登录
  3. 复制下方地址,在Firefox ESR浏览器打开新页签,粘贴并访问日志服务控制台。
https://sls.console.aliyun.com/
  1. 日志服务控制台下方的Project列表中,选择Project资源所在地域,然后单击Project名称。

说明 :您可以在云产品资源列表中查看Project资源所在地域和Project名称。

img

  1. 在日志存储页面左侧,单击日志库下的img 图标。

img

  1. 创建Logstore对话框中,Logstore名称输入为nginx-log,打开WebTracking开关,然后单击确定

img

  1. 创建成功对话框中,单击取消

img

采集NGINX日志

本步骤将指导您如何使用日志服务采集NGINX日志。

  1. 在日志存储页面左侧,选择日志库>nginx-log>数据接入>logtail配置,然后单击img 图标。

img

  1. 快速接入面板中,单击NGINX-文本日志

img

  1. 创建机器组页面,单击ECS机器页签,选择实例选取方式为手动选择实例,并从实例列表中选择已创建的ECS实例,然后单击立即执行

说明 :您可以在云产品资源列表中查看ECS实例。

img

img

  1. 实例列表页签,等待执行状态变为成功后,单击确认安装完毕

img

  1. 创建机器组页面,自定义名称输入为nginx,然后单击下一步

img

  1. 机器组配置页面,从源机器组中选择上一步创建好的机器组,单击img 将机器组移动到应用机器组,然后单击下一步

img

  1. Logtail配置页面,配置如下参数,单击校验,校验成功后单击下一步

参数说明:

  • 配置名称:输入nginx。

    • 日志路径:输入/usr/local/nginx/logs/**/access.log。
    • NGINX日志配置
log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
                 '$request_time $request_length '
                 '$status $body_bytes_sent "$http_referer" '
                 '"$http_user_agent"';
  • 日志样例
192.168.1.2 - - [10/Jul/2020:15:51:09 +0800] "GET /ubuntu.iso HTTP/1.0" 0.000 129 404 168 "-" "Wget/1.11.4 Red Hat modified"

img

imgimg

  1. 查询分析配置页面,单击下一步

img

  1. 结束页面,单击查询日志

img

  1. 查询分析错误对话框中,单击确定

img

  1. 在Firefox ESR浏览器打开新页签,访问http://<ECS公网地址>,并刷新页面几次。

说明 :您可在云产品资源列表中查看ECS公网地址。

  1. 切换回日志服务页签,单击查询/分析,您即可看到采集的access.log日志。

img

分析用户访问行为

本步骤指导您如何在仪表盘中创建今日UV、今日PV、来源IP分布、请求状态占比、访问前十IP、流入流出流量统计和PV预测等图表,进行分析用户访问行为。

  1. 在左侧导航栏中,单击img图标。

img

  1. 在仪表盘区域,单击图标。

img

  1. 在添加仪表盘对话框中,仪表盘名称输入nginx,单击确认。

img

  1. 在仪表盘区域,单击nginx。

img

  1. 在nginx仪表盘页面,单击编辑。

img

  1. 创建今日UV图表。
    在nginx仪表盘编辑页面,单击新建图标。

img

  1. 在nginx/编辑图表页面的属性配置区域,单击img图标。

img

  1. 在nginx/编辑图表页面,配置如下参数,单击预览。

参数说明:

  • 图表名称:输入今日UV。
  • 显示标题:打开显示标题。
  • 显示边框:打开显示边框。
  • 显示背景:打开显示背景。
  • 时间:选择1天。
  • 查询分析:选择nginx-log,输入如下查询语句。
* | select diff[1] as today, round((diff[3]-1.0)*100, 2) as growth FROM (SELECT compare(pv, 86400) as diff FROM (SELECT COUNT(DISTINCT remote_addr) as pv FROM log))

img

  1. 在nginx/编辑图表页面的属性配置区域,配置如下参数,单击确定。

参数说明:

  • 图标类型:选择同步环比图。
  • 显示值:选择today。
  • 对比值:选择growth。
  • 比较值单位:输入%。
  • 数值描述:输入今日UV同比昨日。

img

返回如下页面,您可以在今日UV图表中看到今日UV同比昨日的数据。

img

  1. 今日PV图表。

    1. 在nginx仪表盘编辑页面,单击新建图标。

img

  1. 在nginx/编辑图表页面的属性配置区域,单击img图标。

img

  1. 在nginx/编辑图表页面,配置如下参数,单击预览。

参数说明:

  • 图表名称:输入今日PV。
  • 显示标题:打开显示标题。
  • 显示边框:打开显示边框。
  • 显示背景:打开显示背景。
  • 时间:选择1天。
  • 查询分析:选择nginx-log,输入如下查询语句。
* | select diff[1] as today, round((diff[3]-1.0)*100, 2) as growth FROM (SELECT compare(pv, 86400) as diff FROM (SELECT COUNT(1) as pv FROM log))

img

  1. 在nginx/编辑图表页面的属性配置区域,配置如下参数,单击确定。

参数说明:

  • 图标类型:选择同步环比图。
  • 显示值:选择today。
  • 对比值:选择growth。
  • 比较值单位:输入%。
  • 数值描述:输入今日PV同比昨日。

img

返回如下页面,您可以在今日PV图表中看到今日PV同比昨日的数据。

img

  1. 来源IP分布。

在nginx仪表盘编辑页面,单击新建图标。

img

  1. 在nginx/编辑图表页面的属性配置区域,单击img图标。

img

  1. 在nginx/编辑图表页面,配置如下参数,单击预览。

参数说明:

  • 图表名称:输入来源IP分布。
  • 显示标题:打开显示标题。
  • 显示边框:打开显示边框。
  • 显示背景:打开显示背景。
  • 时间:选择1天。
  • 查询分析:选择nginx-log,输入如下查询语句。
* | select count(1) as c, ip_to_province(remote_addr) as address group by address limit 100

img

  1. 在nginx/编辑图表页面的属性配置区域,省份选择address,数列值选择c,单击确定。

img

返回如下页面,您可以在来源IP分布图表中看到来源IP分布省份的数据。

img

  1. 请求状态占比。

在nginx仪表盘编辑页面,单击新建图标。

img

  1. 在nginx/编辑图表页面的属性配置区域,单击img图标。

img

  1. 在nginx/编辑图表页面,配置如下参数,单击预览。

参数说明:

  • 图表名称:输入请求状态占比。
  • 显示标题:打开显示标题。
  • 显示边框:打开显示边框。
  • 显示背景:打开显示背景。
  • 时间:选择1天。
  • 查询分析:选择nginx-log,输入如下查询语句。
* | select count(1) as pv ,status group by status

img

  1. 在nginx/编辑图表页面的属性配置区域,分类选择status,数列值选择pv,单击确定。

img

返回如下页面,您可以在请求状态占比图表中看到各个请求状态的比例。

img

  1. 访问前十IP。

在nginx仪表盘编辑页面,单击新建图标。

img

  1. 在nginx/编辑图表页面的属性配置区域,单击img图标。

img

  1. 在nginx/编辑图表页面,配置如下参数,单击预览。

参数说明:

  • 图表名称:输入访问前十IP。
  • 显示标题:打开显示标题。
  • 显示边框:打开显示边框。
  • 显示背景:打开显示背景。
  • 时间:选择1天。
  • 查询分析:选择nginx-log,输入如下查询语句。
* | select count(1) as pv, remote_addr as client_ip  group by client_ip order by pv desc limit 10

img

  1. 在nginx/编辑图表页面的属性配置区域,X轴选择client_ip,Y轴选择pv,单击确定。

img

返回如下页面,您可以在访问前十IP图表中看到访问NGINX次数前十名的IP。

img

  1. 流入流出流量统计。

在nginx仪表盘编辑页面,单击新建图标。

img

  1. 在nginx/编辑图表页面的属性配置区域,单击img图标。

img

  1. 在nginx/编辑图表页面,配置如下参数,单击预览。

参数说明:

  • 图表名称:输入流入流出流量统计。
  • 显示标题:打开显示标题。
  • 显示边框:打开显示边框。
  • 显示背景:打开显示背景。
  • 时间:选择1天。
  • 查询分析:选择nginx-log,输入如下查询语句。
* | select sum(body_bytes_sent) as net_out, sum(request_length) as net_in ,date_format(date_trunc('hour', __time__), '%m-%d %H:%i')  as time group by date_format(date_trunc('hour', __time__), '%m-%d %H:%i') order by time limit 10000

img

  1. 在nginx/编辑图表页面的属性配置区域,X轴选择time,Y轴选择net_in和net_out,单击确定。

img

返回如下页面,您可以在流入流出流量统计图表中看到各个时间段的流入流出流量统计数据。

img

  1. PV预测。

在nginx仪表盘编辑页面,单击新建图标。

img

  1. 在nginx/编辑图表页面的属性配置区域,单击img图标。

img

  1. 在nginx/编辑图表页面,配置如下参数,单击预览,然后单击确定。

参数说明:

  • 图表名称:输入PV预测。
  • 显示标题:打开显示标题。
  • 显示边框:打开显示边框。
  • 显示背景:打开显示背景。
  • 时间:选择4小时天。
  • 查询分析:选择nginx-log,输入如下查询语句。
* | select ts_predicate_simple(stamp, value, 6, 1, 'sum') from (select __time__ - __time__ % 60 as stamp, COUNT(1) as value from log GROUP BY stamp order by stamp) LIMIT 1000

img

返回如下页面,您可以在PV预测图表中看到4个小时内的PV预测数据。

img

  1. 在nginx仪表盘编辑页面,单击保存。

img

  1. 在保存提示对话框中,单击确认。

img

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
46 2
|
2月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
154 9
|
3月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
3月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
4月前
|
存储 开发框架 前端开发
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
|
3月前
|
网络安全
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
|
4月前
|
监控 数据管理 关系型数据库
数据管理DMS使用问题之是否支持将操作日志导出至阿里云日志服务(SLS)
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
4月前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
653 1
|
4月前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
|
5月前
|
监控 安全 Linux
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
233 0

相关产品

  • 日志服务
  • 下一篇
    无影云桌面