The invention discloses an openresty-based log recording method, which relates to the field of information security technology. The method comprises steps 1: defining a custom named memory space in the shared memory API of openresty, and defining the memory size according to the requirements; step 2: When the processing of the first request reaches the log recording stage, according to the defined log format, Nginx The built-in variable obtains all the fields to be recorded and stitches all fields to be recorded as strings in the form of key value; Step 3: Use the strings obtained in Step 2 as indexes and the number of records as values to store the key value pairs in the shared memory defined in Step 1; Step 4: When subsequent requests arrive, generate the index key value in step 2 and obtain it from shared memory. If the value of the index is not empty, the value value is added 1; if the value is empty, the key value and the number of accesses are put into shared memory, which solves the problem of too many duplicate logs in the server.
【技术实现步骤摘要】
一种基于openresty的日志记录方法
本专利技术涉及信息安全
,具体的说,是一种基于openresty的日志记录方法。
技术介绍
现如今随着互联网技术的不断高速发展,人们对于服务器的性能要求也越来越高,传统的Apache,tomcat等同步处理的服务器在面对日益增加的用户数和并发量时,往往在效率和性能上显得力不从心,于是各大网站均把目光投向了nginx。Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。Nginx专为性能优化而开发,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。Nginx支持热部署。启动容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。还能在不间断服务的情况下对软件版本进行进行升级。Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Ngin模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项,将Nginx变成一个强大的通用Web应用平台。开发人员和系统工程师可以使用Lua脚本语言调动 ...
【技术保护点】
1.一种基于openresty的日志记录方法,其特征在于,所述方法包括如下步骤:步骤1:在openresty中的共享内存API内定义一块自定义命名的内存空间,内存大小根据需求自己定义;步骤2:当第一个请求的处理到达日志记录阶段时,根据定义的日志格式,由Nginx内置变量获取所有要记录的字段,并以key‑value的形式将要记录的所有字段拼接为字符串;步骤3:以步骤2所得的字符串作为索引,记录次数作为value,将键值对存入步骤1定义的共享内存中;步骤4:后续请求到来时,按步骤2的方式生成索引key值,并从共享内存中获取该索引的value,若读取到的value值不为空,则对value值加1;若读取到的value值为空,则将key值和访问次数放入共享内存中。
【技术特征摘要】
1.一种基于openresty的日志记录方法,其特征在于,所述方法包括如下步骤:步骤1:在openresty中的共享内存API内定义一块自定义命名的内存空间,内存大小根据需求自己定义;步骤2:当第一个请求的处理到达日志记录阶段时,根据定义的日志格式,由Nginx内置变量获取所有要记录的字段,并以key-value的形式将要记录的所有字段拼接为字符串;步骤3:以步骤2所得的字符串作为索引,记录次数作为value,将键值对存入步骤1定义的共享内存中;步骤4:后续请求到来时,按步骤2的方式生成索引key值,并从共享内存中获取该索引的value,若读取到的value值不为空,则对value值加1;若读取到的value值为空...
【专利技术属性】
技术研发人员:杨川,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。