【技术实现步骤摘要】
一种生成监控数据的系统及方法
[0001]本申请涉及信息
,具体涉及一种生成监控数据的系统及方法。
技术介绍
[0002]Nginx(engine x)以高并发、高性能、资源消耗著称于世,作为HTTP Server和反向代理服务器在互联网行业得到了广泛的应用。Nginx一般以网关模式部署,负责所有业务流量的接入、分发和响应输出,发挥着极其关键的作用。随着随着云计算技术潮流的到来,为了应对应用架构日益复杂后面临的监控监控预警、故障定位、根因追踪问题,开发或使用云原生、可观测性的微服务化应用以成为业界普遍的共识。可观测性是一项描述应用本身的特性,强调应用通过暴露数据并能够被外部系统观测到,从应用外部推测其内部运行状态的能力。
[0003]但是,开源版Nginx的“可观测性”能力实际上非常糟糕,自问世以来就一直如同一个“神奇的黑盒”一般,核心功能极其优秀,但用户想要进一步了解Nginx内部的状况或者想通过Nginx了解Client请求相关的数据指标是件非常困难的事情。
技术实现思路
[0004]本申请 ...
【技术保护点】
【技术特征摘要】
1.一种生成监控数据的系统,其特征在于,所述系统包括:获取模块,所述获取模块用于从服务器中获取Nginx处理客户端请求时关联的请求状态数据;处理模块,所述处理模块与所述获取模块被配置在同一台服务器内,所述处理模块通过本地接口与所述获取模块通讯,所述获取模块用于接收所述获取模块获取到的请求状态数据和定期抓取Nginx基本状态数据,以生成指标数据,所述指标数据被配置为能够以文本格式导出;其中,请求状态数据包括Nginx处理客户端请求时关联的响应码、速率、延时和流量数据。2.根据权利要求1所述的生成监控数据的系统,其特征在于,所述获取模块被配置为Monitor组件,所述Monitor组件基于nginx
‑
lua
‑
Module并采用lua编写。3.根据权利要求1所述的生成监控数据的系统,其特征在于,所述处理模块被配置为Collector组件,所述Collector组件由Golang编写,所述指标数据为标准Prometheus Metrics指标数据。4.根据权利要求3所述的生成监控数据的系统,其特征在于,所述处理模块用于将接收到的请求状态数据和Nginx基本状态数据反序列化成相应的Golang结构体对象。5.根据权利要求4所述的生成监控数据的系统,其特征在于,所述Collector组件包括collector package、status package和main package;其中,collector package包含自定义的prometheus collector组件,用于将Nginx状态数据转化为prometheus metrics;status package用于Nginx状态数据的收集、以及将请求状态数据和Nginx基本状态数据反序列化成相应的Golang结构体对象;main package用于socket监听和启动http服务。6.根据权利要求1所述的生成监控数据的系统,其特征在于,所述指标数据以Ht...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。