日志实时数据监控的探索与实践(五)
2026/8/5 11:44:53 网站建设 项目流程

数据标准化

处理日志信息首要问题是要统一日志格式,保证采集到数据的准确性,80%的应用部署在虚机上,20%部署在QAE中,监控采集需同时兼容两种部署方式。

Nginx日志,提供统一化运维平台,封装Nginx安装、扩容、克隆等操作,内置工具统一Nginx日志模块,统一日志格式;

Exception日志,提供通用化配置方案,支持QAE应用及虚机应用,分别采用不同数据流处理,将kafka流合并后统一消费;

业务日志,提供统一日志组件,打印request、response相应信息即可。

机器采集性能瓶颈,延迟

采集日志客户端(Venus-Agent)部署在应用机器上,目前通过CGroup限制资源使用(默认使用1核128M内存),采集效率依赖于CPU、内存资源等资源,同时也被提取规则的复杂程度所影响。

对于大流量应用来说,应尽可能精简提取规则,同时平衡资源等关系;

精简无用日志打印,尽可能一条请求打印一条日志,避免重复打印;

日志流量过大,考虑采样提取。

减少计算资源,节约成本

计算资源同样需要合理分配,Druid单Task预计能消费15Wqps的消息,增加Task可以提高处理能力。由于Druid自身的partition能力不是特别出色,所以多5倍资源并不能提升5倍的处理能力。所以采取将高QPS的实时数据拆分成多个子Topic的方式,接入Druid多个Datasource,对于百万QPS的Nginx流量来说,有如下两种节约方案,采用第二点方案,拆分多个数据流后,相应计算资源节约了120core:

采样流量数据。优点:改造成本小;缺点:Nginx日志对排查问题极为重要,采样会缺少相应日志;

Nginx机器流量拆分,高流量应用Nginx集群独立部署,拆分多个数据流。优点:可避免流量冲击对其他Nginx集群造成影响,保证核心业务的稳定性;缺点:改造成本高,依赖于基础运维体系。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询