网站流量日志埋点收集—系统部署环境搭建|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志埋点收集—系统部署环境搭建

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第一阶段)网站流量日志埋点收集—系统部署环境搭建】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/693/detail/12180


网站流量日志埋点收集—系统部署环境搭建


内容简介

一、nginx 的安装步骤

二、系统环境部署

本节内容我们学习埋点收集数据的系统环境部署。整个环境部署的难点和重点就在于后端 nginx 服务器上。


一、nginx 的安装步骤

1.服务器中安装依赖(复制到 node-3中,需要确保机器联网)

yum -y install gcc perl pcre-devel openssl openssl-devel

然后回车,安装后会提示 already installed

image.png

2.上传 LuaJIT-2. 0. 4. tar. gz并安装LuaJIT

tar -zxvf LuaJlT-2.0.4.tar.gz -C /usr/ocal/src/

cd /usr/local/src/LuaJIT-2.0.4/

make && make install PREFIX=/usr/local/luajit

所有的安装包都在我们的 export/software 中,可以上传至此。

首先第一点需要解压 LuaJIT-2. 0. 4. tar. Gz 到 usr/ocal/src/,-C 表示把安装包解压到指定目录,如果不加-C 表示解压到当前目录。复制命令 tar -zxvf LuaJlT-2.0.4.tar.gz -C /usr/ocal/src/后在此页面解压

image.png

回车后

image.png

解压完成后可以发现这里的文件都是.c,.h 的 C 语言软件,然后把 cd /usr/local/src/LuaJIT-2.0.4/复制到里面,回车。

image.png

接下来进行 C 语言的安装,用 make 和 make install 进行编译安装,PREFIX=是用于指定编译安装的路径,复制make && make install PREFIX=/usr/local/luajit 到页面上回车

这时就可以开始 lua.jit 的编译,安装。

image.png

安装成功屏幕会显示 successfully installed,这时候还需要配置 luajit 的环境变量。

3.设置 LuaJIT 环境变量

vi /etc/profile

export LUAJIT_LIB=/usr/local/luajit/lib

export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0

source  /etc/profile

首先打开 vi /etc/profile 路径下的文件

然后开始编辑,复制 export LUAJIT_LIB=/usr/local/luajit/lib

export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0

确认无误后保存,保存时需注意环境变量发生修改需要重新 source 命令加载,所以复制 source  /etc/profile 重新加载。

   image.png

4.创建 modules 文件夹,保存 nginx 依赖的模块

mkdir -P /usr/local/nginx/modules

将命令mkdir -P /usr/local/nginx/modules复制到页面中

5.上传 nginx 依赖的模块

set-misc-nginx-module-0.29.tar.gz

lua-nginx-module-0.10.0.tar.gz

ngx_ devel kit-0.2.19.tar.gz

echo-nginx-module-0.58.tar.gz

image.png

将依赖的模块直接解压到 modules 目录

tar-zxvflua-nginx-module-0.10.0.tar.gz-C /usr/local/nginx/modules/

tar-zxvfset-misc-nginx-module-0.29.tar.gz-C /usr/local/nginx/modules/

tar-zxvfngx_develkit-0.2.19.tar.gz-C /usr/local/nginx/modules/

tar-zxvfecho-nginx-module-0.58.tar.gz-C /usr/local/nginx/modules/

复制以上4个解压命令后执行

image.png

查看是否操作成功可以 cd/usr/local/nginx/modules/ 进行查看

image.png

6.安装 openresty

tar -zxvf openresty-1.9.7.3.tar.gz -C /usr/local/src/

cd /usr/local/src/openresty-1.9.7.3/

./configure--prefix=/usr/local/openresty --with-luajit && make && make install

首先用我们的 tar 命令解压,解压到指定目录下,所以复制 tar -zxvf openresty-1.9.7.3.tar.gz -C /usr/local/src/ 到下面页面中

image.png

解压之后cd /usr/local/src/openresty-1.9.7.3/

image.png

上面就是我们的 C 语言环境,需要编译,安装和检查我们的配置文件。

接下来复制.

/configure--prefix=/usr/local/openresty --with-luajit && make && make install 回车

image.png

这样就开始 openresty 编译安装工作

image.png

上图表示编译完成

7.安装 nginx.

tar zxvf nginx-1.8.1.targz -C /usr/local/src/

编译 nginx 并支持其他模块

cd /usr/local/src/nginx-1.8.1/

./configure --prefix=/usr/local/nginx \

--with-ld-opt-="-Wl,-rpath/usr/local/luajit/lib" \

--add-module=/usr/local/nginx/modules/ngx_devel_kit-0.2.19 \

--add-module=/usr/local/nginx/modules/lua-nginx-module-0.10.0\

--add-module=/usr/local/nginx/modules/set-misc-nginx-module-0.29\

--add-module=/usr/local/nginx/modules/echo-nginx-module-0.58

make -j2

make install

首先 cd/export/software 中,复制 tar zxvf nginx-1.8.1.targz -C /usr/local/src/ 进行解压,解压完成后 cd 进入刚才解压 nginx 目录下 cd /usr/local/src/nginx-1.8.1/  ,接下来进行编译安装,这里通过4个--add-module 命令把刚才解压的4个模块给它编译进来。

复制:

cd /usr/local/src/nginx-1.8.1/

./configure --prefix=/usr/local/nginx \

--with-ld-opt-="-Wl,-rpath/usr/local/luajit/lib" \

--add-module=/usr/local/nginx/modules/ngx_devel_kit-0.2.19 \

--add-module=/usr/local/nginx/modules/lua-nginx-module-0.10.0\

--add-module=/usr/local/nginx/modules/set-misc-nginx-module-0.29\

--add-module=/usr/local/nginx/modules/echo-nginx-module-0.58

为了保证不出错,重新打开一个新的文本文档,将命令复制在里面,因为从 word 或 pdf 复制下的命令可能会有特殊的符号进而影响编译。

经过文本文档过滤排除不必要符号后再复制进行编译

接下来是编译和编译安装:

make -j2中j理解为如果项目C语言比较大,可以开启多个编译命令同时执行。

将 make && make install 写入就可以开始编译安装

image.png

这时的 nginx 就不再是普通的 nginx,而是被 openresty 平台作为一个插件融合了一些模块的 nginx。

以上所有完成后就表示 node-3环境编译完成,之后启动 nginx 等就可以进行接受解析工作。


二、系统环境部署

首先第一点要明确 nginx 是一款用 c 语言开发的程序,所以就需要进行编译和安装。第二点,这个 nginx 不是普通的 nginx,而是基于 lua 特殊的 nginx,所以要针对它的模块,整个平台 openresty 进行编译安装。

接下来结合原理图学习系统如何安装部署:

image.png

在这里我们选取两台服务器,一个 node-1,一个 node-3,一个用来模拟网站正常的页面,对外提供服务,另一个用于模拟后台进行数据的收集。

首先看 node-3,是后端进行收集数据的服务器,主要部署的就是特殊版的基于 lua 的 nginx。

其次是前端 node-1,使用 apache server (httpd) ,因为它是轻量级的 web 服务器,简单易用,用yum install httpd 进行在线安装。

image.png

用 service httpd start|stop 进行启动和关闭。

这里大量涉及在服务器上的运维操作,安装软件,尤其涉及c语言的软件,课程学习中理清架构图的同时认真理解当前所做的步骤在哪一步,哪一台机器上安装什么。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
3月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
377 122
基于docker搭建监控系统&日志收集
|
6月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
381 1
|
3月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
320 2
|
5月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
10月前
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
3593 70
Grafana Loki,轻量级日志系统
|
9月前
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
380 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
9月前
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
185 10
|
9月前
|
人工智能 运维 监控
一招高效解析 Access Log,轻松应对泼天流量
一招高效解析 Access Log,轻松应对泼天流量
165 0
一招高效解析 Access Log,轻松应对泼天流量
|
存储 监控 安全
5款 Syslog集中系统日志常用工具对比推荐
集中管理Syslog有助于持续监控网络中的恶意活动,确保日志的搜索和分析更为便捷。常用工具包括Rsyslog、Syslog-ng、Logstash和Fluentd,它们各有优劣。Rsyslog通过多种协议确保日志传输的安全性;Syslog-ng支持高效收集和转发日志;Logstash能解析多源日志并索引;Fluentd将日志转换为JSON格式。卓豪EventLog Analyzer则提供一体化的日志管理,支持日志分析、报表生成、用户行为分析及实时告警,是全面的日志管理解决方案。
150 0