您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2024 第22届 GOPS 全球运维大会暨 XOps 技术创新峰会 · 深圳站]:匡凌轩-虎牙业务监控的标准化改造实践 - 发现报告
当前位置:首页/行业研究/报告详情/

匡凌轩-虎牙业务监控的标准化改造实践

AI智能总结
查看更多
匡凌轩-虎牙业务监控的标准化改造实践

虎牙业务应用监控的标准化改造实践 匡凌轩可观测平台负责人 匡凌轩 虎牙直播可观测平台负责人 虎牙直播可观测平台负责人,负责虎牙事件中心、元数据、计量计费、统一可观测和告警等平台建设,最近主导可观测平台OpenTelemetry标准化改造等项目从零到一实践落地;曾任职欢聚时代集团,负责YY直播Web研发团队,主导业务高可用、高并发分布式服务架构设计和实现,保障过多届年度盛典等海量用户业务场景。 虎牙公司是一家致力于打造全球领先直播平台的技术驱动型内容公司,在直播游戏化、虚实融合技术方面积累了丰富经验,为用户和行业赋能。 01项目背景 目 02方案实践 录03 04 效果展示未来展望 PART01 项目背景 如何兼顾业务自定义和标准化 项目背景 01 当时痛点 切入点 效果衡量 02 03 •监控方式多样 -不标准化、难以通用 •接入效率问题 •基于业界标准 -Otel标准、组件化 •接入零成本 •新旧同时兼容 -统一转换、统一存储 •业务覆盖率 -重复开发、不够复用 •稳定性问题 -框架集成、字节码植入 •告警根因定位 -语言框架、应用服务 •整体平台落地 GOPS全球运维大会2024·深圳站 -QPS、时延、可用性 -告警分析、多维下钻 -排障、提效、止损 PART02 方案实践 OpenTelemetry标准化统一改造 Otel标准化思考 1.存量和增量上报同时兼容2.OtelMetrics统一设计方案 FrameworkInstrumentation TafFrameworkTrpcFrameworkSpringCloudVertx Java/CppGo/JavaSpringmvc/FeignReactiveFramework RedisClientMysqlClientHttpClientDcacheClient Standard MetricModel&Attributes TraceModel&Attributes MetricsType RPC模调指标主调/被调 应用资源指标线程池/队列/连接池... 自定义指标 送礼/登录/充值... SDKAPI OpenTelemetrySDKMetric/Trace/Log OtelExporter MetricExporterTraceExporter Grpc/HttpOTLP OtelCollector Receivers SDK架构设计 零成本接入: Java:Agent探针字节码植入 Cpp/Go:框架级插桩植入 按规范标准采集Metric和Trace 统一规范标准: Standard:模型和属性定义 MetricsType:监控指标分类 SDKAPI:按规范无侵入API埋点 SDK封装: SDK:底层基于OtelSDK Exporter:Metric/TraceCollector:Grpc/HttpOtlp Otel统一链路架构 Collector: 1.Receiver:同时兼容老协议和Otel上报 2.Processor:验证、清洗、转换等 3.Exporter:转换OTLP后统一输�到Kafka Sinker: 1.Receiver:消费Kafka的OTLP数据 2.Processor:重试、防丢、反压、批处理等 3.Exporter:输🎧OTLP到VM,多数据源支持 产品: 1.可视化:Grafana/自研结合 2.告警:规则策略、动态阈值 3.定位:指标关联、多维下钻 业务监控 接入方式 Collectors Storages 应用资源指标 grpc/http XiwiSDKotlpwithotel Receiver MutiProtocolData VMAgentPre-agg Json/Jce RPC模调指标 FlinkAgg logtometric Processors 验证/清洗/转换... VMTSDB Clusters httpjsontafjce otlp otlp otlp promql 转成otlp 自定义指标 OldAPI http/taf Exporter OTLPtoKafka VMTSDB Toolchain KafkaOtelTopic 产品建设 数据可视化 Grafana/自研图表 监控告警 规则策略/根因定位 Sinkers Receiver OTLPFromKafka Processors 攒批/重试/反压... Exporter OTLPtoVM SelfObservability Collectors 异常/流量/包大小/... Sinkers 异常/延迟/反压/... Storages 流量/慢写入/时间线/... ResourceBilling Points 数据点:应用/业务模块 TimeSeries 时间线:应用/业务模块 Resources 资源:cpu/mem/disk/... 自身可观测资源计量 元数据分析设计 Collector: 1.新旧多协议支持,统一转成Otlp OtlpReceiver: 1.解析otlp结构中各层的attributes 2.Resource/Scope/Point平铺封装 MetaMapping: 1.布隆过滤器减少重复的元数据处理开销 2.自定义表达式来配置指定attributeskey3.动态Mapping映射来提取元数据 MetaExporter: 1.异步缓冲元数据并批量输�存储 2.配置支持定时删除过期元数据 Storage: 1.支持Plugin配置输�到多个存储引擎 2.自定义维度,RPC主被调Server/Api/Host等3.多层级应用服务调用链路关系 Collectors MetaAnalyserServer Storages HttpApi Grpc/HttpOtlp TafApi HttpJson OtelOtlp TafJce otlp otlp OtlpReceiver Resource Attributes Scope Attributes Point Attributes KafkaOtelTopic Mapping MetaMapping BloomFilter ReduceDuplicates Expression YamlConfKey MetaData DynamicMapping Batching MetaExporter AsyncExport BufferMeta BatchInsert NewMeta BatchDelete ExpiredMeta Exporting Mysql App/Server/Api/HostCustomDimension HugeGraph Multi-levelRelationsVertex/Edge 数据应用: 1.RPC主被调关系信息下拉框或列表展示 2.自定义Tag,Restfuluri等高基维度治理3.应用服务级、接口级调用链拓扑图展示 4.赋能更多运维层面的业务提效和成本优化 告警模块设计 VMTSDB: 1.明细集群和预聚合集群存储 VMQueryGateWay:1.VM标准API网关服务 2.PromQL/MetricQL查询支持3.请求路由/鉴权/限流/自监控 ScheduledRuleCheck: 1.读取各种告警策略的规则表达式 2.周期性查询VMMetricPoint数据3.根据表达式判断是否异常错误 EventsRollingUp/Agg:1.周期性查询事件进行分析 2.统计聚合相关Tag事件数据 业务监控 VMTSDB AlarmAnalyseModule Scheduler EventsBuilder EventsExporter 应用资源指标 VM DetailCluster VM PreAggCluster ScheduledMetricsQuery Mysql InsertEvents 查询路由: 1.明细集群 2.预聚合集群 ErrorEvents Mysql Query RPC模调指标 存储VM TimeSeries TimestampMarkBuilding Events 1.AlarmTemplates 2.Metric/Point/Rule 3.DimensionTags 4.EventSnapshots EventSnapshotsRollingUp/Agg 自定义指标 VMQueryGateWay VMAPI PromQL RuleExpressionCheck AlarmCenter Wechat/SMS/... AlarmCenter 3.输�聚集性问题根因定位 产品层 错误事件展示 搜索/统计 企业微信告警 概要/详情 EventsExport: 1.构建错误事件快照对象 2.事件输�到存储和告警中心 多维根因下钻 CauseAnalyser: 1.各时间线的高基维度过滤掉 2.根据可下钻维度去查询相关时序数据 Storages Multi-DimensionRootCause Query CauseAnalyser CauseBy MetaDataOpenAPI MetaDimensionsQuery HighCardinalityFilter HttpAPI DimensionList 多维时序数据查询 VMQueryGateWay MetricPointsQuery TimeSeriesMulti-DimQuery 相关性检测算法 1.dimension1:60% 2.dimension2:30% 3.dimension3:10% 4.others:10% VMAPI PromQL CorrelationAlgorithm(Pearson) 输�下钻检测到的根因维度 产品层 Alarm 多维根因下钻 Email 多维根因下钻 3.相关性检测算法,如:皮尔逊相关性 Query: 1.MetaDataOpenAPI:查询指标维度标签 2.VMQueryGateWay:查询指标时序数据 CauseBy: 1.输�下钻检测到的根因维度 2.根因维度占比的降序列表 Query Alarm/Email: 1.异常告警和邮件的应用场景 2.多维下钻找到根因维度 送礼营收日报 2023-09-02 送礼营收环比降幅:30% 是由于下面根因导致: 根因维度分布: 1.gameId=1,itemType=火箭,降幅:20% 2.gameId=2,itemType=情书,降幅:5% 3.gameId=1,itemType=鲜花,降幅:3% 4.gameId=3,itemType=鲜花,降幅:1%5.others... 时序图对比: 时间线相关性对比图表1 时间线相关性对比图表2更多... Case样例: 1.下钻根因维度占比排序 2.各维度时序图分布对比 PART03 效果展示 指标可视化、业务告警、多维下钻 RPC主被调 查询过滤条件 主调概况视图 被调概况视图 请求量指标服务下钻分组 下钻分组展示 成功率指标 IP下钻分组 更多下钻分组方式: 1.服务/IP/接口/Set 2.服务+接口 3.服务+IP 4.被调+主调 ... 业务自定义指标 自定义指标凭证服务错误码 自定义指标登录态成功率 业务应用场景: 1.业务数据可视化配图 2.发现业务异常并告警 3.业务日报周报统计 ... 注明:业务指标数据值打码,这里图表只做简单示例 多维根因下钻 自定义指标告警 突增问题多维根因下钻 RPC模调告警 接口/IP聚集性根因下钻 PART04 未来展望 基于Otel可观测元数据自动分析 未来展望 Otel生态贡献-MetaAnalyser 01 多协议支持 可配置化 数据处理 02 03 -Type:Metric、Trace、Log... -Proto

你可能感兴趣

hot

虎牙-郑健彦-智能弹性在虎牙降本增效上的探索与实践

信息技术
2023第十二届全球TOP100软件案例研究峰会2024-08-21
hot

图聚类在虎牙风控的实践

金融
DataFunSummit2023:智能风控峰会2023-08-09
hot

创享养老新生活 “中国式”居家养老服务的标准化实践研究

休闲服务
亚洲养老金融与产业研究院2024-11-11
hot

DPU硬件标准化的探索与实践

电子设备
中国移动研究院2023-10-09