基础设施助力双11(六):看网络如何“自愈”

简介: 随着网络体量的急剧扩大,以及架构的多样化发展,通过人工手段去恢复故障已经不能满足业务对网络高可用性、高可靠性的要求了。在这个过程中,自动化的故障恢复应运而生。

概述

每年的双十一对阿里的网络都是一次严峻的考验。在双十一当天,阿里的网络必须承载来自于世界各地数以亿计的用户所带来的巨大流量,任何故障的影响力都会被成倍放大。尽管大家做了很多努力尽量去避免故障的发生,但是故障仍然还是会发生,尤如阿里现今的大体量。这个时候,快速可靠的的故障恢复机制就尤为关键了。随着网络体量的急剧扩大,以及架构的多样化发展,通过人工手段去恢复故障已经不能满足业务对网络高可用性、高可靠性的要求了。在这个过程中,自动化的故障恢复应运而生。

我们处理故障的主要流程是:监控采集->故障发现->根因定位->故障恢复

image.png

图1 自动恢复整体流程

丰富的采集

目前每天的数据采集量接近万亿级的水平,采集的类型包括日志、SNMP采集(路由器交换机性能指标采集)、AliPing采集(内网质量采集)、AliInternet采集(互联网质量采集)、Netflow采集(流数据采集)等。

SNMP采集

网络设备跟服务器不一样,需要通过拉取的方式将设备的metrics抓取出来。我们采取的策略是划分采集域进行数据的拉取,然后集中计算。

各个采集域之间做好备份:

image.png

图2 SNMP&Syslog采集

AliPing采集

除了对网络设备metric的监控,同时要基于网络丢包和延时,更快速和准确地判断网络故障。我们模拟业务网络特征,构建ICMP/TCP Ping探测的报文,对全网所有物理服务器进行探测。

image.png

图3 Aliping(内网网络质量)整体架构

AliInternet采集

互联网是阿里网络的延伸,互联网的质量不是由谁统一控制的,任一节点都有故障风险,完善的监控以及快速响应就显得尤为关键了。从全球IP地址库为每个国家,每个运营商动态挑选存活IP进行探测,每分钟千万级IP进行探测。

image.png

图4 AliInternet(互联网网网络质量)整体架构

其他

除了上面所述的数据以外,我们还采集了全网路由器的Netflow数据,LVS VIP流量数据,Anat session日志等。

灵活的告警(故障发现)

  • 基础事件*

我们通过实时流计算,将采集到的数据转换为一个个异常的事件,比如一次端口中断、协议中断、板卡离线、延迟超过基线等。在基础事件的生成过程中我们主要采用了Spark Streaming的技术。

为什么要采用Spark呢?

  • 在线和离线的混合计算
  • 非常方便整合外部数据源
  • 高性能和易用性
  • 机器学习和图计算
  • 可以和目前的HBase、MR等复用Yarn集群资源

在两年多以前我们开始使用Spark的时候,集团没有完善的Spark任务管理平台。我们开发了RCS平台,RCS平台主要帮我们解决了如下几个问题:

  • 代码或程序Jar管理
  • 运行期参数管理
  • 调度Spark的Yarn集群管理
  • 提交Spark任务的支持
  • Spark任务监控和报警管理

我们通过集成Apache Zeppelin实现了Spark任务的管理:

image.png

图5 基于Zeppelin的单集群管理

考虑到在出现恶性故障时,集群可能不稳定。但是故障发现系统要确保高可用性,我们设计了多集群容灾迁移的功能,以确保故障时任务能够在集群间迁移。

image.png

图6 基于Zeppelin的多集群管理

CEP复杂事件引擎

在产生一个个基础异常事件以后,就是如何配置合适的规则,生成正确的告警。在这里我们采用了CEP引擎Siddhi,这样就大大加强了配置的灵活性。

比如我们可以配置如下的告警:

阀值比例(流量大于70%)

发生频率(端口Down一分钟十次)

聚合阀值(链路组25%链路中断,同一集群20%NC Ping失败)

条件组合(流量超过70%并且出现丢包)

image.png

图7 整体的告警流程

告警收敛

在生成告警以后,我们又基于拓扑对告警事件进行了收敛,以确保在故障场景下能够精准地定位主要的告警。我们收敛的过程是通过在一个连通子图内基于PageRank对告警的设备和事件进行打分,打分最高的设备和事件被认定为故障主要告警。

image.png

图8 告警收敛

故障定位&自动恢复

在确定主要告警以后,我们就需要针对不同的告警定制不同的分析策略和故障恢复策略。我们提供一个平台,让运营的同学提交脚本,更全面、灵活的覆盖到所有的告警场景。

这是我们故障恢复的整体运行流程:

image.png

图9 故障恢复的流程

举一个例子,这是外围出现运营商的重大故障时:

image.png

图10 运营商故障自动恢复

总结

在过去的两年多中,我们从监控的全面性做起,逐步对阿里网络形成了一个立体的监控,并且通过告警的自定义和收敛,让故障告警更加精炼、准确。目前网络告警已经有47%通过系统自动化完成,后续这一比例会逐步提高。我们很高兴能够看到业务的运营模式从救火队员逐步迈向智能化的领域。后续我们希望能够逐步把这个比例提高到90%以上,并且进一步地减少故障的发生和缩短故障的恢复时间。

目录
相关文章
|
12天前
|
安全 Linux 网络安全
第十六届山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题—A模块基础设施设置/安全加固
该任务是网络安全工程师模拟实战,目标是强化A模块服务器(Windows和Linux)的安全性。任务包括:设置强密码策略,限制用户权限,如禁用命令提示符,隐藏登录用户名;实施Nginx安全策略,禁止目录浏览,限制HTTP请求,调整超时时间,降权运行;配置日志监控,设定不同日志文件大小及覆盖规则;加固SSHD, VSFTPD, IIS服务,修改SSH端口,限制root登录,调整VSFTPD和IIS设置;优化本地安全策略,禁止匿名访问,保护密码存储,控制用户登录;最后,设计防火墙规则,限制SSH枚举,防御DoS攻击,并控制DNS解析请求。所有更改需截图并附说明,按指定格式保存提交。
10 0
|
12天前
|
安全 Linux 网络安全
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C基础设施设置/安全加固
网络安全工程师需对AServer08(Win)和AServer09(Linux)进行安全加固,包括密码策略(复杂性、长度),Windows用户管理(所有权、命令提示符、用户名显示),Nginx安全配置(禁止目录浏览、限制HTTP请求、超时设置、降权运行)。日志监控涉及安全、应用和系统日志的最大大小及覆盖策略。中间件服务加固涉及SSH(端口、root登录、计划任务、PID路径),VSFTPD(非特权用户、连接端口、本地用户限制),IIS(日志审计、关闭WebDAV)。本地安全策略涵盖匿名枚举、无登录关闭、凭证存储、权限应用和登录超时
15 0
|
12天前
|
安全 Linux 网络安全
2024年甘肃省职业院校技能大赛中职组 “网络安全”赛项竞赛样题-C模块基础设施设置/安全加固
网络安全模块A要求对Windows和Linux服务器进行安全加固,包括密码策略(最小13字符,复杂性要求)、用户管理(禁止非管理员命令提示符,隐藏登录信息)、Nginx安全配置(限制HTTP请求,设置超时时间,降权启动)、日志监控(设置日志大小和覆盖策略)、中间件服务加固(SSH、VSFTPD、IIS服务优化)、本地安全策略(禁止匿名访问,保护密码存储,控制关机,限制Everyone权限)和防火墙策略(限制SSH连接源,防御DoS,允许特定DNS请求)。所有更改需清晰截图并附说明,保存为PDF,命名规则为“网络安全模块A-XX”并提交至U盘。
9 0
|
12天前
|
安全 Linux 网络安全
2024年甘肃省职业院校技能大赛中职组 “网络安全”赛项竞赛样题-B模块基础设施设置/安全加固
该文档是关于企业服务器系统安全加固的任务说明,包括Windows和Linux环境。主要涉及密码和登录策略强化(如复杂度、锁定机制)、用户安全管理、本地安全策略设置(如关闭清理内存、禁止未登录关闭、限制软盘访问等)、流量保护、事件监控、服务加固(SSH、VSFTPD、IIS)以及防火墙策略(DNS转发、ping限制、端口禁用、MAC过滤、IP碎片防御、SSH访问控制)。要求对各种配置进行截图并以指定格式保存提交。
8 0
|
5月前
|
域名解析 负载均衡 网络协议
阿里云基础设施网络研发团队参与论文获得CCS 2023 杰出论文奖
阿里云基础设施网络研发团队参与论文获得CCS 2023 杰出论文奖
|
8月前
|
存储 缓存 弹性计算
架构设计基础设施保障IaaS之网络3
架构设计基础设施保障IaaS之网络3
65 0
|
8月前
|
域名解析 缓存 网络协议
架构设计基础设施保障IaaS之网络2
架构设计基础设施保障IaaS之网络2
40 0
架构设计基础设施保障IaaS之网络2
|
8月前
|
负载均衡 网络协议 搜索推荐
架构设计基础设施保障IaaS之网络1
架构设计基础设施保障IaaS之网络1
56 0
|
12月前
|
数据安全/隐私保护 网络架构 UED
光纤布线对企业基础设施网络的五大影响
光纤布线对企业基础设施网络的五大影响
84 0
光纤布线对企业基础设施网络的五大影响
|
大数据 云计算
阿里云基础设施网络2022年度技术大事盘点
阿里云基础设施网络2022年度技术大事盘点
阿里云基础设施网络2022年度技术大事盘点