2月5-7日QCon全球软件开发大会携手100+位大咖讲师落定北京,点击查看完整日程>> 了解详情
写点什么

又拍云 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:03900

评论

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

已删除的回收站文件恢复方法

淋雨

实用工具 数据恢复 EasyRecovery

Bzz云算力挖矿APP开发,Bzz矿机分币系统

SkipGram

Qien Z.

nlp 6月日更 SkipGram negative sampling CBOW

高性能JavaScriptの结语 -- 学完了

空城机

JavaScript 6月日更

Go Runtime的调度器

面向加薪学习

开发 Go 语言

分布式认知工业互联网的更多“玩法”介绍

CECBC

浅析 PHP 的「垃圾回收」机制

悟空聊架构

php 垃圾回收 6月日更 引用计数

20 岁发表 SCI 的学霸,梦想用算法改变世界

阿里云视频云

学习 阿里云 算法 计算机视觉 音视频

公安警情大数据情报研判分析系统开发,可视化大屏开发

请问我要做全栈程序员么?听说更厉害更赚钱?

程序员鱼皮

Java c++ Python 大前端 全栈

理解rust函数中的生命周期

wzx

rust 生命周期

【布道 API】REST 从来都不是基于 CRUD

devpoint

Rest crud 6月日更

【源码系列】Spring Boot 条件配置

Alex🐒

spring 源码 StringBoot

Vue.js项目无法启动:sh: 1: vue-cli-service: not found

codists

vue.js

浪潮云洲工业互联网平台市场地位、发展能力连续两年蝉联双料第一

浪潮云

云计算

PostgreSQL 的审计和权限控制系统

GrowingIO技术专栏

postgresql

中文技术文章排版

KooFE

6月日更

​浅谈云上攻防之元数据服务带来的安全挑战

腾讯安全云鼎实验室

安全攻防 网络安全 #腾讯云

优化算法

容光

MySQL基础之七:内连接详解

打工人!

myslq 6月日更

算法训练营笔记导航

IT蜗壳-Tango

IT蜗壳教学 6月日更

API 中签名的使用

架构精进之路

签名 6月日更

网络基础:HTTP 服务介绍

看山

网络 HTTP 6月日更

再谈业务信息化操作系统(BIOS)

孤岛旭日

中台 企业架构 平台

小程序电商系统微服务拆分

唐高为

Kubernetes手记(6)- POD 配置清单

雪雷

k8s 6月日更

低内聚:说是小需求做似趟雷区

Jxin

【源码系列】Spring Boot 自动装配

Alex🐒

spring 源码 Spring Boot

数组的 sort() 方法详解

编程三昧

JavaScript 编程 算法 大前端 数组

打开算法黑箱之谜 !“可解释机器学习”在金融领域的应用

索信达控股

大数据 AI 算法 金融科技 模型开发

论“内卷”

容光

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