写点什么

又拍云 CDN 全网实时、精准化监控技术实践

  • 2016-01-10
  • 本文字数:1244 字

    阅读完需:约 4 分钟

又拍云如何在国内业界率先做到 CDN 全网实时、精准化监控?就这个问题,又拍云 CTO 黄慧攀于 8 月 25 日在“云头条”做了专题分享。内容涉及监控在云服务中的重要性,以及实现监控性能提升的技术实战方法。

首先,从整体上讲,又拍云的云服务有三块:

  • CDN
  • 云存储
  • 云处理

每个云服务的监控侧重点各有不同。

CDN:监控性能和可用性

又拍云的 CDN 用到了听云(基调)和安全宝、DnsPod 等外围的服务监控。zabbix 是最基础的服务器监控,它的不足之处在于:

  1. 实时性差;
  2. 无法方便的对业务进行监控(需要做大量对接工作)。

Agent 是 又拍云自己写的 shell 脚本,负责从服务器自身内部发现问题,并告警。如:本机的各个业务系统是否在正确运行,和当前服务器连接关键机房的网络质量等。缺点在于如果自身网络出现问题就无法告警,但能根据自己的业务特点,做多种健康检查,比较灵活。

数据中心:自主研发狗眼监控系统

注:标黑色线的,表示该项监控的主要用途

数据中心有两块大业务:

  • 云存储
  • 云处理

去年又拍云用 zabbix 来负责服务器硬件资源的监控,但无法满足需求,所以我们又拍云自己开发了一个系统,命名为“狗眼系统”,来专门做服务监控。它可以监控到又拍云某项具体服务:

  • 吞吐量
  • 平均处理耗时

更重要的是,它能做到秒级告警,又拍云数据中心每个子业务都做了狗眼的接入,以保障整个平台的稳定性。

举个例子,某个客户上传一个图片,并要求做缩略图存储。这会牵扯到几个业务系统:

  • API;
  • 云处理;
  • 云存储。

如果上传失败,或者上传很慢,以前又拍云通过 zabbix 观察哪台服务器压力大,非常麻烦,在集群服务的情况下单台服务器根本不反映集群的服务状态。

而在开发出狗眼监控后,又拍云能准确的判断到哪个子业务的负载有问题,影响到了整个业务流程,比如:云处理环节出问题了,影响到整个文件上传速度。 狗眼会根据历史情况,判定当前这秒的数值是否偏差,异常,并做出告警。又拍云的工作人员马上检查云处理这个服务集群的状况,了解是否因为当前的处理量过大或者网络读写等情况导致。

狗眼系统从 2013 年 12 月开始开发,耗时 1 周。用了将近半年时间连接 又拍云服务。“狗眼”有 20w 个 UDP 包的处理能力,有了狗眼系统,又拍云从原来的盲人摸象,进化为具有敏锐的“嗅觉”。能快速准确的定位为问题。

日常监控:实时日志分析系统

另外,又拍云还有实时日志分析系统。有些具体的错误信息需要在日志里面体现出来。日志分析系统无法做全量,一般 200 OK 正常的请求日志没必要记录和处理的,又拍云只处理 code & 400 的记录。

有这么多个渠道给出告警信息,还得避免狼来了的情况发生,对告警进行去重、筛选非常重要,黄慧攀将监控分了主要的 2 种角色,互相配合一起来做告警,方便维护。

这些监控最有用的是历史数据,在上面可以分析出异常,如又拍云针对全国机房的链路情况,每 10 分钟采一次样,采集到的数据加以处理总结出一些规律,如有些机房在晚高峰的时候会总出口拥堵而导致性能下降。更细致的观察需要根据节点的服务日志记录分析,如平均下载速度,下载速度大于 10mbps 的比例,回源慢的影响比例等。

2016-01-10 01:031201

评论

发布
暂无评论
发现更多内容

DevOps|从特拉斯辞职风波到研发效能中的荒唐事

laofo

DevOps cicd 研发效能 持续交付 敏捷研发

【微信小程序】带你进入小程序的世界

hacker707

微信小程序 10月月更

在线问题反馈模块实战(十)​:实现图片预览功能

bug菌

springboot 项目开发 10月月更

Linux系统-进程控制

可口也可樂

Linux 10月月更 Linux进程

Ubuntu 设置中文语言环境

Yeats_Liao

ubuntu 后端 10月月更

HashMap源码分析(四)

知识浅谈

hashmap 10月月更

一文带你入门微服务,通俗易懂

wljslmz

架构 微服务 10月月更 单体服务

从源码分析MGR的新主选举算法

乌龟哥哥

10月月更

Photoshop软件应用项目(四)

张立梵

设计师 ps 10月月更

【kafka原理】消费者提交已消费的偏移量

石臻臻的杂货铺

kafka Kafka实战 10月月更

“程”风破浪的开发者|一文GET钉钉连接平台

六月的雨在InfoQ

学习方法 钉钉宜搭 10月月更 “程”风破浪的开发者 钉钉连接平台

C++精通之路:设计模式(特殊类设计)

雪芙花

c c++ 10月月更

鸿蒙开发实例 | 分布式涂鸦

TiAmo

华为 华为云 云开发 10月月更

Linux系统-进程概念

可口也可樂

Linux 10月月更 Linux进程

Glibc---_IO_do_write函数逻辑分析

桑榆

源码刨析 10月月更 C++

【Java深入学习】一个关于“锁”的程序-中

Geek_65222d

10月月更

0:数据库的产生-MySQL

Yeats_Liao

数据库 后端 10月月更

使用 SAP Business Application Studio 创建 Fiori Elements 应用显示 OData 服务的数据

汪子熙

云原生 Cloud SAP 10月月更 btp

Kafka消费者JoinGroupRequest流程解析

石臻臻的杂货铺

kafka Kafka实战 10月月更

不错的项目管理系统厂商有哪些?

爱吃小舅的鱼

Linux系统-进程地址空间

可口也可樂

Linux 10月月更 Linux进程地址空间

牛客刷题系列之进阶版(组队竞赛,排序子序列,倒置字符串, 删除公共字符,修理牧场)

雪芙花

c c++ 10月月更

网络入门(基础知识和网络整体的认识)

雪芙花

c c++ 10月月更

极客时间运维进阶训练营第一周作业

9527

Docker常用命令小记

程序员欣宸

Docker 容器化 10月月更

在线问题反馈模块实战(十一)​:实现图片下载功能

bug菌

springboot 项目开发 10月月更

【web 开发基础】PHP 快速入门(6)-PHP 运算符之赋值运算符详解

迷彩

10月月更 web开发基础 PHP基础

Photoshop软件应用项目(五)

张立梵

设计师 ps 10月月更

数据湖(七):Iceberg概念及回顾什么是数据湖

Lansonli

数据湖 10月月更

【LeetCode】下一个更大元素单调栈Java题解

Albert

算法 LeetCode 10月月更

在线问题反馈模块实战(十二)​:实现图片删除功能

bug菌

springboot 项目开发 10月月更

又拍云 CDN 全网实时、精准化监控技术实践_音视频(后端)_UPYUN_InfoQ精选文章