您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

Nginx奇技淫巧之:用户行为埋点数据采集实现

时间:2022-11-22 10:36:19  来源:今日头条  作者:清风明月eagle
前言

面向用户端的系统,往往会对用户行为进行数据埋点采集,如电商系统用户点击推荐商品、添加购物车、订单支付等。通过这些重要环节将用户的操作行为数据上报到后端,再由大数据对数据进行统计、分析计算,最终将结果反馈给运营和决策者,以便更好的服务用户和做好商业决策。
对企业来说,在法律允许范围内,数据应采尽采。数据越多对行为分析往往越准确。因此,接收采集数据的服务后端,必须考虑服务的高性能、高吞吐量问题。如何,快速地接收采集数据,并推送到后端大数据使用,同时保证系统服务的稳定和高效,将是一个很大的挑战。本文将向大家介绍Nginx作为采集后端服务的一种用法。希望对有相似场景的小伙伴有所帮助和启发。

数据采集流程架构


 

nginx作为一个高性能的服务组件,早已被各大厂反复验证。这里采用Nginx作为采集服务的后端。Nginx提供一个post埋点接口,如:http://xxxx/trackLog。接收前端埋点请求,将post请求body写入本地日志文件,直接响应返回。后端以异步方式,使用采集代理程序(如logstash)监听日志文件,并将数据推送到kafka。大数据程序(Flink)对kafka数据统计分析,形成结果数据提供给上层应用使用。

Nginx接收到前端页面的http post请求,将post中的body参数作为埋点的消息内容,以json格式按行追加到日志文件中。这个过程的关键点:如何将post body参数内容写入到一个单独的日志文件。下面是Nginx的相关配置。

Nginx post body参数配置

修改Nginx config配置文件,在配置文件中加入以下信息。

 

http 块添加以下配置
# 添加post body参数日志,日志为json格式 log_format trackerlog escape=json '$request_body';
server 块添加以下配置
location /tracklog { # 非post请求,拒绝 if ($request_method !~* POST) { return 403; } # request_body变量 通过proxy_pass请求才生效 access_log /usr/local/nginx/logs/track.log tracklog; proxy_pass http://127.0.0.1/return200/; } location /return200 { default_type Application/json; return 200 '{"code":0,"msg":"success"}'; }
生效Nginx Config
# Nginx sbin目录执行配置生效命令 ./nginx -s reload
测试post请求
# 部署Nginx服务器执行测试post请求,body参数可根据业务场景自行定义 curl -H "Content-type:application/json" -X POST -d '{"name":"test"}' http://localhost/tracklog
日志查看

 

生成的日志在/usr/local/nginx/logs/track.log目录下,查看日志文件,日志文件内容已生成,验证完成。


 

总结

本文介绍了埋点采集服务Nginx的使用方案。包含整体流程架构,Nginx配置方式,数据验证等内容。相信看到这里的小伙伴,对采集方案有了大致的了解。当然,这个只是基础实现,在生产环境应用,还需要保证高可用等处理。如Nginx的多实例部署,日志文件按每天时间生成,logstash多文件扫描采集/数据清洗等,这些就不一一介绍了,留给小伙伴们思考。



Tags:Nginx   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言面向用户端的系统,往往会对用户行为进行数据埋点采集,如电商系统用户点击推荐商品、添加购物车、订单支付等。通过这些重要环节将用户的操作行为数据上报到后端,再由大数据...【详细内容】
2022-11-22  Tags: Nginx  点击:(0)  评论:(0)  加入收藏
简介Nginx是一个http服务器。是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件代理服务器。nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,...【详细内容】
2022-11-17  Tags: Nginx  点击:(18)  评论:(0)  加入收藏
在本文中,小编将给大家分析下Nginx是什么意思?Nginx作为反向代理服务器有什么作用?一、什么是Nginx?Nginx是一个开源的网络服务器,它是安装在我们的主机帐户上的软件,负责处理网站...【详细内容】
2022-11-17  Tags: Nginx  点击:(14)  评论:(0)  加入收藏
nginx 80端口重定向到443端口,也就是http访问自动跳转到https 配置如下:一、按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了。访问...【详细内容】
2022-10-09  Tags: Nginx  点击:(187)  评论:(0)  加入收藏
 Nginx 服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很多与此相关的 Nginx 服务器重要功能,比如后面会介绍的负载均衡。本篇博客我们会先介绍 Ngin...【详细内容】
2022-09-28  Tags: Nginx  点击:(84)  评论:(0)  加入收藏
客户端在访问时会先把请求发到nginx,http的默认端口是80,而nginx一直监听80端口,nginx收到请求后根据域名解析,映射到不同路径,实现反向代理。我们在浏览器访问时就不需要再用 ip...【详细内容】
2022-09-18  Tags: Nginx  点击:(26)  评论:(0)  加入收藏
本来想安装宝塔一键搭建lnmp环境的,但是wsl 2安装宝塔之后用不了,而且连wsl 2的网络都没了,所以无奈之下只好手动一个个装,安装nginx之后,在conf.d目录下创建文件lw_test.conf,内...【详细内容】
2022-09-18  Tags: Nginx  点击:(74)  评论:(0)  加入收藏
文章目录 nginx做负载均衡服务器,配置动静分离3. 在134主机主机部署lnmp,在动态资源4.1 在128主机安装httpd,做静态资源4.2 在129主机源码安装nginx并配置负载均衡器,进行调度5....【详细内容】
2022-09-07  Tags: Nginx  点击:(108)  评论:(0)  加入收藏
Nginx简介Nginx (发音为“Engine-x”)是一种开源软件,最初被设计为高性能Web服务器。今天,Nginx可以完成其他一些任务,包括缓存服务器,反向代理服务器,负载平衡器等等。WEB服务器目...【详细内容】
2022-09-05  Tags: Nginx  点击:(123)  评论:(0)  加入收藏
问题一般在正式的环境下,通过给域名添加子路径(如oss)用于下载文件服务器上的文件。但这种设置子路径的方式不能直接通过API上传文件,创建桶等,鉴于安全,也不能让这种子路径拥有创...【详细内容】
2022-09-05  Tags: Nginx  点击:(363)  评论:(0)  加入收藏
▌简易百科推荐
前言面向用户端的系统,往往会对用户行为进行数据埋点采集,如电商系统用户点击推荐商品、添加购物车、订单支付等。通过这些重要环节将用户的操作行为数据上报到后端,再由大数据...【详细内容】
2022-11-22  清风明月eagle  今日头条  Tags:Nginx   点击:(0)  评论:(0)  加入收藏
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询...【详细内容】
2022-11-20  CTO修炼之路  今日头条  Tags:Apache Doris   点击:(3)  评论:(0)  加入收藏
简介Nginx是一个http服务器。是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件代理服务器。nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,...【详细内容】
2022-11-17    CSDN  Tags:nginx   点击:(18)  评论:(0)  加入收藏
在本文中,小编将给大家分析下Nginx是什么意思?Nginx作为反向代理服务器有什么作用?一、什么是Nginx?Nginx是一个开源的网络服务器,它是安装在我们的主机帐户上的软件,负责处理网站...【详细内容】
2022-11-17  互联网资讯看板   网易号  Tags:Nginx   点击:(14)  评论:(0)  加入收藏
作者 | JackTian来源 | 公众号:杰哥的IT之旅(ID:Jake_Internet)前段时间遇到一个服务器问题: 非法重启设备后,服务器进入救援模式,数据盘也不显示挂载是否成功。说来这个问题,我觉得...【详细内容】
2022-11-16  杰哥的IT之旅  微信公众号  Tags:服务器   点击:(9)  评论:(0)  加入收藏
一、概述 Livy是一个提供Rest接口和Spark集群交互的服务。它可以提交SPARK Job或者Spark一段代码,同步或者异步的返回结果;也提供Sparkcontext的管理,通过Restful接口或RPC...【详细内容】
2022-11-08  大数据老司机  今日头条  Tags:Apache   点击:(18)  评论:(0)  加入收藏
众所周知,SSL证书通常是针对完全合格的域名(FQDN)颁发的。然而,一些企业和公共机构不能通过域名访问各种类型的应用程序,而是使用IP地址。为了有效保障这类企业的数据传输安全,IP...【详细内容】
2022-10-30  青蛙数字安全    Tags:SSL   点击:(34)  评论:(0)  加入收藏
现在搭建网站其中的三要素:域名、主机空间以及建站程序缺一不可。主机空间其实也就是我们常见的服务器,在搭建网站之前一般都会提前规划配置什么样的空间/服务器,其中美国虚拟...【详细内容】
2022-10-24  安信SSL证书    Tags:SSL证书   点击:(10)  评论:(0)  加入收藏
当前许多企业为吸引国际客户的关注,获取更多的国际市场机会,都把网站搭建在香港或国际多地的服务器上。但是在网站搭建完成后,发现网站无法访问,这是什么原因导致的呢?其实,遇到...【详细内容】
2022-10-24  云杰通信    Tags:服务器   点击:(33)  评论:(0)  加入收藏
我们如果要存储大量数据的话,都会用到服务器系统进行储存,很多IT公司都是拥有自己的服务器系统,那如果我们因为工作需要想要重装戴尔服务器系统的话,要怎么进行操作呢,下面教给大...【详细内容】
2022-10-24  小白一键重装系统    Tags:服务器   点击:(19)  评论:(0)  加入收藏
站内最新
站内热门
站内头条