一、应用场景
CND网关中Nginx的问题定位和处理,辅助快速定位问题;Nginx接收http请求,对于非正常状态码返回的请求,内部插件会根据用户配置的策略,把对应信息记录到redis缓存上。如果配置错误码分类策略,则记录不同错误码出现错误的次数;配置错误关键字分类策略,则记录不同错误关键字出现的次数;配置域名分类策略,则记录各类域名出现错误的次数;配置IP+域名分类策略,则记录IP+域名出现错误的次数;配置url(哈希记录)+变量记录策略,则把url哈希计算之后作为key,记录本次url访问的各种内部变量及变量值。
二、主要流程
系统部署图:
1、客户端:用户通过pc或移动客户端发起HTTP请求。
2、linux主机:负责接收客户端 的HTTP请求。
3、Nginx:反向代理服务器,负责处理http请求。
4、问题辅助插件:集成在nginx内部,根据不同的策略,处理不同的信息,并记录到redis中;同时提供增、删、改、查、接口。
5、Redis:存放各种错误策略配置以及根据策略配置处理后的对应信息。
三、处理流程
1、主要流程图:
主要流程:
Nginx服务接收到客户端HTTP请求之后,处理完请求结束后,判断返回状态码是否正常,异常则异步调用(防止影响效率)内嵌问题辅助插件,插件读取redis上的配置策略信息,根据配置记录不同的结果记录到redis上,其中包括:不同错误码出现的次数、不同错误关键字出现的次数、不同域名出现错误的次数、不同IP+域名出现错误的次数、本次url访问的各种内部变量及变量值。
2、内部辅助插件流程图:
内部辅助插件流程:
Nginx服务接收到内部HTTP请求之后,同步调用内嵌问题辅助插件,插件判断需要操作的类型:新增,则增加策略配置信息到redis上;删除,则根据条件删除redis上的策略配置信息;修改,则根据条件修改redis上的策略配置信息;查讯,则根据查讯条件返回对应的信息。