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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 本教程介绍如何使用日志服务采集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日志并进行多维度分析。
目录
相关文章
|
19天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
155 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
244 3
|
18天前
|
存储 SQL 监控
|
18天前
|
运维 监控 安全
|
21天前
|
监控 关系型数据库 MySQL
分析慢查询日志
【10月更文挑战第29天】分析慢查询日志
37 3
|
21天前
|
监控 关系型数据库 数据库
怎样分析慢查询日志?
【10月更文挑战第29天】怎样分析慢查询日志?
34 2
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1642 14
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
35 0
|
1月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
213 0
|
3月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
136 3

相关产品

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