CN112256648A - 一种基于Nginx日志行为采集和跟踪的方法及装置 - Google Patents

一种基于Nginx日志行为采集和跟踪的方法及装置 Download PDF

Info

Publication number
CN112256648A
CN112256648A CN202011151710.6A CN202011151710A CN112256648A CN 112256648 A CN112256648 A CN 112256648A CN 202011151710 A CN202011151710 A CN 202011151710A CN 112256648 A CN112256648 A CN 112256648A
Authority
CN
China
Prior art keywords
log
generating
nginx
unique code
user unique
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011151710.6A
Other languages
English (en)
Inventor
王锐旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Joiway Information Technology Co ltd
Original Assignee
Guangzhou Joiway Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Joiway Information Technology Co ltd filed Critical Guangzhou Joiway Information Technology Co ltd
Priority to CN202011151710.6A priority Critical patent/CN112256648A/zh
Publication of CN112256648A publication Critical patent/CN112256648A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及大数据的技术领域,更具体地说,它涉及一种基于Nginx日志行为采集和跟踪的方法及装置,其方法主要包括:生成用户唯一码;修改Nginx的配置文件;定期扫描和采集Nginx的分片日志记录;生成实体类记录列表,然后对所述分片日志记录进行清洗,以在所述实体类记录列表中记录所需信息;通过Java反射获取实体类中变量名,生成Mysql数据库结构字段,然后将所述实体类记录列表的数据导入Mysql数据库持久化;生成配置表和核心报表,并对核心报表进行展示。本发明具有简单集成、高定制化和侵入性低的优点。

Description

一种基于Nginx日志行为采集和跟踪的方法及装置
技术领域
本发明涉及大数据的技术领域,更具体地说,它涉及一种基于Nginx日志行为采集和跟踪的方法及装置。
背景技术
行为采集和跟踪,是指根据用户的操作采集用户的行为,进行用户各个行为的一系列跟踪,涉及到大量数据的采集和分析。能很好的根据用户行为和跟踪做用户分析,根据分析结果进行产品优化或集成到推荐***里面。比如现在的友盟、growingio等统计平台。但是这些平台多为针对使用端进行采集,并与UI控件绑定在一起,移动端和前端的开发较复杂,开发的成本较高,且均为第三方平台,定制化低,无法集成到自己的***进行定制开发。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种基于Nginx日志行为采集和跟踪的方法及装置,具有简单集成、高定制化和侵入性低的优点。
本发明的上述技术目的是通过以下技术方案得以实现的,一种基于Nginx日志行为采集和跟踪的方法,包括以下步骤:
获取必传参数,并通过DES加解密的方式,生成用户唯一码;
基于所述必传参数和所述用户唯一码,修改Nginx的配置文件,并打印请求内容输出至日志文件中;
设定扫描时间,以定期扫描和采集Nginx的分片日志记录;
定义日志参数模板字符串,生成实体类记录列表,然后对所述分片日志记录进行清洗,以在所述实体类记录列表中记录所需信息;
通过Java反射获取实体类中变量名,生成Mysql数据库结构字段,然后将所述实体类记录列表的数据导入Mysql数据库持久化;
基于所述Mysql数据库,生成配置表,并设置所述配置表中的对应关系,以生成核心报表;
获取所述核心报表,并对其进行筛选和展示。
在其中一个实施例中,所述生成用户唯一码的步骤还具体包括以下步骤:
客户端获取请求参数,发送至服务端;
所述服务端判断所述客户端是否有所述用户唯一码;
若否,则根据用户登录状态、userld、时间戳、随机码和客户端识别符,通过DES加解密的方式,生成所述用户唯一码,并返回给所述客户端。
在其中一个实施例中,所述设定扫描时间的步骤前还包括以下步骤:
通过java异步线程定时任务的方式,设定所述扫描时间。
在其中一个实施例中,所述请求内容包括请求参数、时间戳、用户唯一码、Get请求中的参数值、接口链接、HTTP响应代码和用户终端浏览器。
在其中一个实施例中,所述生成核心报表的步骤还包括以下步骤:
基于所述Mysql数据库,生成入库数据的所述核心报表;
基于用户注册接口的接口链接、调用时间和调用状态码,生成实时数据的所述核心报表。
本发明还提供一种基于Nginx日志行为采集和跟踪的装置,包括:
信息获取模块,用于获取必传参数,并通过DES加解密的方式,生成用户唯一码;
信息导入模块,用于根据所述必传参数和所述用户唯一码,修改Nginx的配置文件,并打印请求内容至日志文件中;
日志采集模块,用于设定扫描时间,以定期扫描和采集Nginx的分片日志记录;
日志清洗模块,用于定义日志参数模板字符串,生成实体类记录列表,然后对分片日志记录进行清洗,以在实体类记录列表中记录所需信息;
日志导入模块,用于通过Java反射获取实体类中变量名,生成Mysql数据库结构字段,然后将所述实体类记录列表的数据导入Mysql数据库持久化;
日志统计模块,用于根据所述Mysql数据库,生成配置表,并设置所述配置表中的对应关系,以生成核心报表;
日志展示模块,用于获取所述核心报表,并对其进行筛选和展示。
在其中一个实施例中,所述信息获取模块还包括:
端口信息提取子模块,用于客户端获取请求头参数,并将该所述请求头参数发送至服务端;
端口信息判断子模块,用于所述服务端判断所述客户端是否有所述用户唯一码;
其中,若所述服务端判断所述客户端若没有所述用户唯一码,则所述端口信息判断子模块根据用户登录状态、userld、时间戳、随机码和客户端识别符,通过DES加解密的方式,生成所述用户唯一码,并返回给所述客户端。
在其中一个实施例中,所述日志采集模块还包括:
时间设定子模块,用于执行java异步线程定时任务的方式,设定所述扫描时间。
在其中一个实施例中,所述日志统计模块还包括:
入库数据生成子模块,用于根据所述Mysql数据库,生成入库数据的所述核心报表;
实时数据生成子模块,用于根据用户注册接口的接口链接、调用时间和调用状态码,生成实时数据的核心报表。
本发明具有以下有益效果:
其一,通过Nginx日志信息做数据采集,提供一套集成清洗、导入、统计分析和展示的平台,成本制作较低,具有简单集成、高定制化和侵入性低的效果;
其二,可以实时地可视化展示各种数据的报表,使得用户在调取数据时,非常的便利。
附图说明
图1是本发明基于Nginx日志行为采集和跟踪的方法的步骤流程图;
图2是发明基于Nginx日志行为采集和跟踪的装置的结构框图。
具体实施方式
下面结合附图和实施例,对本发明进行详细描述。
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,一种基于Nginx日志行为采集和跟踪的方法,包括以下步骤:
S1、获取必传参数,并通过DES加解密的方式,生成用户唯一码。
具体的,生成用户唯一码的具体步骤:客户端获取请求参数,发送至服务端;服务端判断客户端是否有用户唯一码;若否,则根据用户登录状态、userld、时间戳、随机码和客户端识别符,通过DES加解密的方式,生成用户唯一码,并返回给所述客户端。
DES加密钥的加解密通过执行以下代码实现:
Figure BDA0002741520030000061
Figure BDA0002741520030000071
S2、基于所述必传参数和所述用户唯一码,修改Nginx的配置文件,并打印请求内容输出至日志文件中。
具体的,请求内容包括请求参数、时间戳、用户唯一码、Get请求中的参数值、接口链接、HTTP响应代码和用户终端浏览器。
S3、设定扫描时间,以定期扫描和采集Nginx的分片日志记录。
具体的,通过设置java异步线程定时任务的方法,按照设定的时间(如10分钟扫描一次),定期去扫描Nginx的分片日志记录,且自动记录采集的行数,下次扫描则自动跳过对应的行数往下采集。
S4、定义日志参数模板字符串,生成实体类记录列表,然后对所述分片日志记录进行清洗,以在所述实体类记录列表中记录所需信息。
具体的,在定义日志参数模板字符串时,可以根据自定义的Nginx日志模板参数,筛选用户需要的参数定义成参数模板字数串,如果输入post请求参数、用户唯一码、时间戳、Get请求中的参数值、接口链接等就可以根据名称通过java反射寄至获取日志对应参数名的值。
S5、通过Java反射获取实体类中变量名,生成Mysql数据库结构字段,然后将所述实体类记录列表的数据导入Mysql数据库持久化。
S6、基于所述Mysql数据库,生成配置表,并设置所述配置表中的对应关系,以生成核心报表。
具体的,生成核心报表的步骤还包括以下步骤:
基于Mysql数据库,生成入库数据的核心报表;
基于用户注册接口的接口链接、调用时间和调用状态码,生成实时数据的核心报表。
入库数据的核心报表:通过生成数据库记录的配置表,设置接口链接与名称的对应关系,定义接口链接与接口链接之间的线性关系,结合入库数据,生成接口流程步骤数据报表,同时通过用户唯一码统计行为数据和跟踪行为数据,多种方式生成数据库的核心报表。
实时数据的核心报表:以采集数据选取的多维度,生成实时数据的核心报表,如新增用户,可以通过注册接口的接口链接、时间戳和调用状态码,同样可以针对各个接口的业务实现对应数据的核心报表。
S7、获取核心报表,并对其进行筛选和展示。
具体的,也可以通过筛选采集数据的数据库字段为维度,结合展示图形的方式,动态实时获取生成数据,并进行统计和展示。
如图2所示,本发明还提供一种基于Nginx日志行为采集和跟踪的装置,包括:
信息获取模块,用于获取必传参数,并通过DES加解密的方式,生成用户唯一码;
信息导入模块,用于根据必传参数和所述用户唯一码,修改Nginx的配置文件,并打印请求内容至日志文件中;
日志采集模块,用于设定扫描时间,以定期扫描和采集Nginx的分片日志记录;
日志清洗模块,用于定义日志参数模板字符串,生成实体类记录列表,然后对分片日志记录进行清洗,以在实体类记录列表中记录所需信息;
日志导入模块,用于通过Java反射获取实体类中变量名,生成Mysql数据库结构字段,然后将实体类记录列表的数据导入Mysql数据库持久化;
日志统计模块,用于根据Mysql数据库,生成配置表,并设置所述配置表中的对应关系,以生成核心报表;
日志展示模块,用于获取核心报表,并对其进行筛选和展示。
具体的,信息获取模块还包括端口信息提取子模块和端口信息判断子模块。
端口信息提取子模块用于客户端获取请求头参数,并将该请求头参数发送至服务端;
端口信息判断子模块用于供服务端判断所述客户端是否有所述用户唯一码;
其中,若服务端判断客户端若没有用户唯一码,则端口信息判断子模块根据用户登录状态、userld、时间戳、随机码和客户端识别符,通过DES加解密的方式,生成用户唯一码,并返回给客户端。
日志采集模块还包括时间设定子模块。
时间设定子模块用于执行java异步线程定时任务的方式,设定扫描时间。
日志统计模块还包括入库数据生成子模块和实时数据生成子模块。
入库数据生成子模块用于根据Mysql数据库,生成入库数据的核心报表;
实时数据生成子模块,用于根据用户注册接口的接口链接、调用时间和调用状态码,生成实时数据的核心报表。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种基于Nginx日志行为采集和跟踪的方法,其特征在于,包括以下步骤:
获取必传参数,并通过DES加解密的方式,生成用户唯一码;
基于所述必传参数和所述用户唯一码,修改Nginx的配置文件,并打印请求内容输出至日志文件中;
设定扫描时间,以定期扫描和采集Nginx的分片日志记录;
定义日志参数模板字符串,生成实体类记录列表,然后对所述分片日志记录进行清洗,以在所述实体类记录列表中记录所需信息;
通过Java反射获取实体类中变量名,生成Mysql数据库结构字段,然后将所述实体类记录列表的数据导入Mysql数据库持久化;
基于所述Mysql数据库,生成配置表,并设置所述配置表中的对应关系,以生成核心报表;
获取所述核心报表,并对其进行筛选和展示。
2.根据权利要求1所述的一种基于Nginx日志行为采集和跟踪的方法,其特征在于,所述生成用户唯一码的步骤还具体包括以下步骤:
客户端获取请求参数,发送至服务端;
所述服务端判断所述客户端是否有所述用户唯一码;
若否,则根据用户登录状态、userld、时间戳、随机码和客户端识别符,通过DES加解密的方式,生成所述用户唯一码,并返回给所述客户端。
3.根据权利要求1所述的一种基于Nginx日志行为采集和跟踪的方法,其特征在于,所述设定扫描时间的步骤前还包括以下步骤:
通过java异步线程定时任务的方式,设定所述扫描时间。
4.根据权利要求1所述的一种基于Nginx日志行为采集和跟踪的方法,其特征在于:所述请求内容包括请求参数、时间戳、用户唯一码、Get请求中的参数值、接口链接、HTTP响应代码和用户终端浏览器。
5.根据权利要求1所述的一种基于Nginx日志行为采集和跟踪的方法,其特征在于,所述生成核心报表的步骤还包括以下步骤:
基于所述Mysql数据库,生成入库数据的所述核心报表;
基于用户注册接口的接口链接、调用时间和调用状态码,生成实时数据的所述核心报表。
6.一种基于Nginx日志行为采集和跟踪的装置,其特征在于,包括:
信息获取模块,用于获取必传参数,并通过DES加解密的方式,生成用户唯一码;
信息导入模块,用于根据所述必传参数和所述用户唯一码,修改Nginx的配置文件,并打印请求内容至日志文件中;
日志采集模块,用于设定扫描时间,以定期扫描和采集Nginx的分片日志记录;
日志清洗模块,用于定义日志参数模板字符串,生成实体类记录列表,然后对分片日志记录进行清洗,以在实体类记录列表中记录所需信息;
日志导入模块,用于通过Java反射获取实体类中变量名,生成Mysql数据库结构字段,然后将所述实体类记录列表的数据导入Mysql数据库持久化;
日志统计模块,用于根据所述Mysql数据库,生成配置表,并设置所述配置表中的对应关系,以生成核心报表;
日志展示模块,用于获取所述核心报表,并对其进行筛选和展示。
7.根据权利要求6所述的一种基于Nginx日志行为采集和跟踪的装置,其特征在于,所述信息获取模块还包括:
端口信息提取子模块,用于客户端获取请求头参数,并将该所述请求头参数发送至服务端;
端口信息判断子模块,用于所述服务端判断所述客户端是否有所述用户唯一码;
其中,若所述服务端判断所述客户端若没有所述用户唯一码,则所述端口信息判断子模块根据用户登录状态、userld、时间戳、随机码和客户端识别符,通过DES加解密的方式,生成所述用户唯一码,并返回给所述客户端。
8.根据权利要求6所述的一种基于Nginx日志行为采集和跟踪的装置,其特征在于,所述日志采集模块还包括:
时间设定子模块,用于执行java异步线程定时任务的方式,设定所述扫描时间。
9.根据权利要求6所述的一种基于Nginx日志行为采集和跟踪的装置,其特征在于,所述日志统计模块还包括:
入库数据生成子模块,用于根据所述Mysql数据库,生成入库数据的所述核心报表;
实时数据生成子模块,用于根据用户注册接口的接口链接、调用时间和调用状态码,生成实时数据的核心报表。
CN202011151710.6A 2020-10-26 2020-10-26 一种基于Nginx日志行为采集和跟踪的方法及装置 Pending CN112256648A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011151710.6A CN112256648A (zh) 2020-10-26 2020-10-26 一种基于Nginx日志行为采集和跟踪的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011151710.6A CN112256648A (zh) 2020-10-26 2020-10-26 一种基于Nginx日志行为采集和跟踪的方法及装置

Publications (1)

Publication Number Publication Date
CN112256648A true CN112256648A (zh) 2021-01-22

Family

ID=74262913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011151710.6A Pending CN112256648A (zh) 2020-10-26 2020-10-26 一种基于Nginx日志行为采集和跟踪的方法及装置

Country Status (1)

Country Link
CN (1) CN112256648A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312376A (zh) * 2021-05-21 2021-08-27 福建天泉教育科技有限公司 一种用于Nginx日志实时处理分析的方法及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055443A1 (en) * 2007-08-23 2009-02-26 International Business Machines Corporation Recording a Log of Operations
CN103778244A (zh) * 2014-02-11 2014-05-07 五八同城信息技术有限公司 一种基于用户行为日志的自动化报表分析方法
CN107977473A (zh) * 2017-12-28 2018-05-01 政采云有限公司 基于Logback的分布式***日志的检索方法和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055443A1 (en) * 2007-08-23 2009-02-26 International Business Machines Corporation Recording a Log of Operations
CN103778244A (zh) * 2014-02-11 2014-05-07 五八同城信息技术有限公司 一种基于用户行为日志的自动化报表分析方法
CN107977473A (zh) * 2017-12-28 2018-05-01 政采云有限公司 基于Logback的分布式***日志的检索方法和***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DYF0333: "用nginx访问日志记录mysql数据库中的用户id", pages 1 - 4, Retrieved from the Internet <URL:https://github.com/dyf0333/nginx/blob/master/%E7%94%A8nginx%E8%AE%BF%E9%97%AE%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E7%9A%84%E7%94%A8%E6%88%B7id.md> *
HAOBOOK: "nginx filter模块实践", pages 1 - 2, Retrieved from the Internet <URL:https://haobook.readthedocs.io/zh-cn/latest/periodical/201608/haoyankai.html> *
PLAYINJAVA: "Spark 从零到开发(八)nginx日志清洗并持久化实战", pages 1 - 5, Retrieved from the Internet <URL:https://juejin.cn/post/6844903661500366862> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312376A (zh) * 2021-05-21 2021-08-27 福建天泉教育科技有限公司 一种用于Nginx日志实时处理分析的方法及终端

Similar Documents

Publication Publication Date Title
CN107592346B (zh) 基于用户行为分析的用户分类方法
CN108491210B (zh) 代码持续集成方法、装置、***及服务器
CN112134785A (zh) 网络安全等级保护中的信息处理方法、客户端及***
CN113094262B (zh) 一种基于数据库分库分表的生产数据进行测试的方法
CN111861488A (zh) 机器学习模型对比方法及装置
CN111581067B (zh) 一种数据采集方法和装置
CN112256648A (zh) 一种基于Nginx日志行为采集和跟踪的方法及装置
CN113448834A (zh) 埋点测试方法、装置、电子设备及存储介质
CN110209575A (zh) 测试文档生成方法、装置、电子设备及存储介质
CN113986954B (zh) 用户事件获取方法、装置、智能终端及可读存储介质
CN111046382A (zh) 数据库审计方法、设备、存储介质及装置
CN113672497B (zh) 无埋点事件的生成方法、装置、设备及存储介质
CN113115107B (zh) 一种基于5g网络的手持视频采集终端***
CN115063103A (zh) 一种日程管理方法、***、存储介质及电子设备
CN112650925A (zh) 一种用于一卡通的app信息推送***、方法及介质
CN112905558A (zh) 一种基于数据库配置的报表***实现方法及***
CN117591578B (zh) 一种基于大数据的数据挖掘***及其挖掘方法
CN114691837B (zh) 一种基于大数据的保险业务数据处理方法和处理***
CN116016629B (zh) 一种前端页面事件提取方法
CN110287304A (zh) 问答信息处理方法、装置及计算机设备
CN111581931B (zh) 基于数据防泄漏***的报表生成方法及装置
CN113313224B (zh) 一种用于政务服务的办件码的生成***及生成方法
CN105788053A (zh) 获取排队叫号数据的***、方法及数据抓取客户端
CN114282265A (zh) 报表发送方法及装置
CN116126661A (zh) 一种pos设备日志提取分析的方法、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination