华为云CDN全链路监控项目:
一、项目描述
华为云CDN的监控系统从0到1构建,包括监控数据的采集,上报,处理,存储,可视化分析等
二、项目角色和职责
作为项目leader,负责系统的架构设计,功能模块开发,部署上线,维护等工作
三、主要功能实现
1、数据的采集:开发agent采集CDN节点的数据,包括(a)业务访问数据:请求数,流量,命中率,首字节响应时间等;(b)基础数据:节点机器
的CPU、内存、负载等数据;(c)节点机器上部署的应用侧数据:应用消耗CPU,内存,应用api访问数据等。agent使用GO语言编写,提供数据的接
收,合并,计算,发送等功能;部署节点上1000+,部署机器数10000+
2、数据的上报:通过分布式kafka集群作为消息通道,将CDN节点侧数据上报到计算中心
3、数据的处理:通过计算中心的Flink/DLI等中间件流式处理数据,包括异常数据的清洗,数据的分类聚合
4、数据的存储:使用opentsDB/influxDB等时序数据库集群存储数据
5、数据的可视化:使用GO语言编写web微服务,通过流水线自动部署发布微服务,同时部署模式使用双AZ多活部署
四、收获
通过从无到有搭建项目,积累了项目的开发、管理运作、维护等经验;提升了问题定位并解决问题的能力
◆ 华为云CDN异常检测预警项目:
一、项目描述
华为云CDN异常检测系统从0到1构建,包括检测模板的配置管理,异常检测算法的选型,检测结果判断,报警信息的生成、存储、发送等
二、项目角色和职责
作为项目leader,负责系统的架构设计,功能模块开发,部署上线,维护等工作
三、主要功能实现
1、异常检测数据源获取:用于异常检测的数据样本为项目1收集的CDN监控数据,包括节点的访问数据,机器基础数据,应用数据等
2、检测模板配置管理平台:使用GO语言编写微服务,提供模板配置管理平台
3、检测结果的判断:采用同比,环比,均值,方差,离散点判断等统计分析算法对数据波动情况进行分析
4、报警信息生成:使用redis缓存报警信息,控制告警生成和发送的周期,减少漏报和误报
5、报警信息的标记:使用人工标记报警原因的方式,给每个报警信息打标签,用于报警信息分类和原因预测
6、报警信息的发送:提供工作群,手机,邮箱等通知方式
四、收获
通过此项目的搭建,可以优先于用户发现CDN的业务问题并及时进行干扰,从而减少业务投诉和赔偿损失