一种监控系统的链路跟踪型日志数据的存储设计

作者:尤勇; 汪浩; 任天; 顾胜晖; 孙佳林*
来源:软件学报, 2021, 32(05): 1302-1321.
DOI:10.13328/j.cnki.jos.006234

摘要

随着软件系统越来越复杂化和分布化,为系统提供具有完善功能的监控服务显得越来越重要.APM(application performance management)系统通过采集软件系统运行时的各项指标数据来分析软件的运行状态,例如CPU、内存使用率、垃圾回收的耗时、QPS等指标.此外,APM系统也会在软件运行中生成各种日志数据.通常来说,它能提供的监控数据分为3种:指标统计数据、链路跟踪(tracing)数据以及离散事件记录.这些数据有助于系统或者服务的维护人员理解运行状态,从而确保系统或者服务的稳定运行.基于开源的APM监控系统——CAT系统,提出了一种针对tracing类型数据的存储设计方案,通过内存块批量写入的方式提升存储效率,并设计了两级索引以提高查询效率.从线上的真实运行数据来看,该方案在写入性能和查询性能方面均有较好的表现.

  • 单位
    南京大学; 计算机软件新技术国家重点实验室

全文