网络诊断利器SreCli-Net

网络诊断利器SreCli-Net

1.背景

SRE运维团队致力于通过自动化来提高运维的工作生产效率,推动向智能化运维方向迭代转变,解决传统运维的痛点。传统运维虽具有完整的运维体系,但运维方式各异,运维操作复杂,耗时长。如何提高混合云项目的运维效率,提高运维附加值和客户满意度,仍是我们的攻坚难题。

主要需面对以下几点挑战:

  • 客户业务的快速发展与演进,传统运维滞后性被拉大

随着客户业务的发展和业务模式的不断演进,业务数据量也在逐年增加。给运维带来了更多机会与挑战,如何保障云内数据、云内外业务交互的稳定、安全、高效运行,是运维人员值得思考的问题。

  • 平台各系统运行复杂,运维学习成本提高

随着云平台云产品版本的快速迭代,熟悉平台难度加大,随着云产品版本更迭和新功能的出现,新手学习的成本提高,熟悉云平台的各种运维操作难度加大。但不能从根本上解决快速赋能运维能力的问题。所有一切将会引发一连串的“蝴蝶效应”,甚至引发项目高风险或P级故障出现,将会直接影响客户云上业务的正常使用。

  • 运维人员能力参差不齐,运维操作复杂

目前运维方式存在人工经验判断、平台各种手工操作、处理问题低效、故障应急处理耗时长等主要问题。由于系统的复杂性,技术人员在操作平台运维时,会浪费大量的时间在机器登入、工具使用等基础问题指导上。登录之后又面临各种增删改查操作指令的不统一。随着运维长时间的消耗,也会引起现场运维人员的心神俱疲,无法专注线上操作。尤其是面对一些没有经验的驻场或客户,常常会出现找不到目标机器,命令敲错等现象,使得整体运维低效和安全隐患频发。

 

综合以上关于客户、平台、运维三方面的运维问题, 提高运维效率、降低运维人员学习成本是当前的主要任务。在此大背景下,推出了SRE-CLI工具,该工具是一款支持shell功能、命令补全、问题诊断、故障止血等功能的srecli工具,逐步解决和完善当前的问题现状。

 

2.SRE-CLI基本介绍

SRE Command Line Interface (SRE CLI) 是一种运维工具,让您能够在命令行Shell 中使用命令对混合云进行运维操作。仅需最少的配置,即可使用 SRE CLI 运行命令,以便从终端程序中的命令提示符实现日常运维过程中复杂的命令。基于SRE 在日常工作中的问题处理、故障应急沉淀的“老中医”的经验,并通过命令行工具的方式集成在混合云中,无需配置,即可运行SRE CLI,通过简单命令,实现日常运维过程中复杂操作。

CLI交互能力模型,主要是由访问层、交互层、后端、基础设施四个部分组成。首先终端用户通过登录SRECLI后,进入交互层界面,通过选择相应的场景指令和辅助功能完成指定的动作,该动作会调用后端的各工具能力,以及数据源中数据,通过基础设施层进行计算,计算诊断的结果将直接输出至终端CLI黑屏界面上,完成一整个交互流程,如下图所示。

网络诊断利器SreCli-Net

图1

  • 问题诊断(ali_diag)

从服务单、工单、故障单中提炼高频操作,将常用操作、问题&故障点工具化成原子项。通过日常运维查询产品原子项,问题点、故障点、快速查询关键指标定位问题点。

网络诊断利器SreCli-Net

图2

  • 场景诊断(ali_scene)

以故障场景沉淀出一系列排查思路,以“三板斧”形式输出,精确定位问题所在。在此基础上进行故障点组装、故障精确定位。

网络诊断利器SreCli-Net

图3

  • 应急止血(ali_cure)

真实故障和风险止血恢复手段沉淀,发生并解决方案确定后,需要快速恢复,恢复动作包括重启、降级、限流、切换等。帮助客户业务快速恢复。

  • 日常查询(ali_query)

日常查询、关联数据展示、常用信息获取,通过精确的查询方式,查询云内IP地址定位对应的产品、路由、容量、策略等信息。目前覆盖物理网络的各类IP维度查询。

  • 智能抓流(ali_trace)

满足CLI在云平台内各点抓包的能力,通过定制化的抓包组合命令,快速落在抓包点,进行指定的进或出方向的网络流量抓包。覆盖经典网络类型抓包、VPC网络类型抓包两种。

3.Cli-Net概念

Cli-Net是CLI体系中的一个分支功能,主要负责处理混合云内物理网络方向的诊断排查,通过统一格式的指令,在物理网络环境中进行具体方面的排查诊断。Cli-Net主要覆盖混合云物理网络四大方面,包括云内通用网络设备性能诊断、云边界网络状态诊断、云内网络状态诊断、物理机网络状态诊断。涉及云内所有产品物理机和交换机网络运行状态,以及互联网、云外IDC网络等云外网络访问云内网络的排查诊断,具体诊断覆盖如下表所示。

 

Cli-Net诊断覆盖

通用网络设备性能诊断

云边界网络状态诊断

云内网络状态诊断

物理机网络状态诊断

ISW

 

 

DSW

 

CSW

 

 

LSW

 

ASW

 

 

input

input

input

input

4.Cli-Net主要功能

  • 快速登录网络设备

通过CLI工具访问天基查询,快速获取交换机IP地址,并通过CLI工具内置的“密码库”依次遍历通用密码快速登录到网络设备上,如果通用密码遍历均不成功,则判断为已被修改成项目个性密码。则CLI工具提示请向用户申请并授权后输入个性密码,手动“填入个性密码”,再执行后续内容。

通过该功能,能够节约查询交换机IP地址和登录密码的时间,方便网络设备的登录。

网络诊断利器SreCli-Net

图4

演示指令:ali_tools login switch $交换机角色名称

网络诊断利器SreCli-Net

图5

  • 通用网络设备性能诊断

Cli-Net能够检查交换机自身硬件运行指标性能,例如cpu、板卡、温度、风扇、内存、电源状态。

网络诊断利器SreCli-Net

图6

演示指令:

ali_diag network hardware COMMAND  [cpu_usage]  [device] [environment]  [fan]  [memory] [power]

网络诊断利器SreCli-Net

图7

  • 云边界网络互联状态诊断

云平台交换机ISW、CSW、DSW、ASW、LSW之间的互联物理链路健康检查。具体检查各角色之间经典链路互联状态,VPC专线链路互联状态和互联光衰状态。

网络诊断利器SreCli-Net

图8

演示指令:

ali_diag network interface COMMAND  [classic_link]  [transceiver]  [vpc_link]

网络诊断利器SreCli-Net

图9

  • 云内网络互联状态诊断

云平台交换机路由协议互联状态检查,通过检查BGP和OSPS协议状态,如异常则直接输出异常状态。

网络诊断利器SreCli-Net

图10

演示指令:

ali_diag network route [bgp] [ospf]

网络诊断利器SreCli-Net

图11

  • 连通性状态诊断

云平台物理服务器、交换机等连通性检查。通过ping针对某个物理机名、集群名、交换机等进行连通性测试。

网络诊断利器SreCli-Net

图12

演示指令:

ali_diag network ping COMMAND  [nc]  [project]  [switch]  [virtual_nc]

网络诊断利器SreCli-Net

图13 

5.Cli-Net场景诊断

Cli-Net场景集合了混合云物理网络中主要的业务数据流方向途径的检查点,通过Cli-scene场景中指定的排查指令,通过一键诊断的方式,快速排查物理网络环境的各种检查项状态,检查诊断项主要分为五个场景:单机自检、核心网络方向诊断、专线方向诊断、公网方向诊断、物理虚拟方向诊断。

具体功能如下表所示:

中文名称

Cli英文名称

含义

单机自检功能

device_check

检查每台交换机本身的健康状态,包含硬件、接口、路由、连通性,去判断输出网络设备本身的异常项目。

核心网络方向诊断

core-network

通过检查涉及所有云内物理服务器路由通路、互联线路、路由状态的整体或指定具体物理机去判断输出网络异常项。

专线方向诊断

Private direction

通过检查用户IDC与云内VPC网络(含所有实例级资源)间涉及到的物理网络整体状况去判断输出网络异常项。

公网方向诊断

Internet Direction

通过检查互联网与云内VPC网络(含所有实例级资源)间的涉及到的物理网络整体状况去判断输出网络异常项。

物理虚拟方向诊断

physics virtual

通过检查VPC网络(含所有实例级资源)与经典网络(包含所有云服务资源)之间的物理整体状况去判断输出网络异常项。

 

6.Cli-Net场景结构

  • 单机全量自检场景结构如下图所示。

网络诊断利器SreCli-Net

图14

 

  • Core-network场景结构如下图所示。

网络诊断利器SreCli-Net图15

  • Private direction场景结构如下图所示。

网络诊断利器SreCli-Net

图16

 

  • Internet Direction场景结构如下图所示。

网络诊断利器SreCli-Net

图17

诊断指令:

ali_scene network COMMAND  [core_network]  [device_check]  [internet_direction]  [physics_virtual]

网络诊断利器SreCli-Net

图18

演示指令:

ali_scene network COMMAND  [core_network]  [device_check]  [internet_direction]  [physics_virtual]

网络诊断利器SreCli-Net

图19

网络诊断利器SreCli-Net

图20

7.Cli-Net应用实践

应用场景

排查指令

指令结果

机房整体掉电

ali_diag network ping project {product name}

检查云内各集群物理机连通性是否正常

ali_diag network ping switch{name}

检查云内交换机连通性是否正常

ali_diag network hardware power {switch}

检查各交换机电源运行状态是否正常

ali_diag network route bgp {switch}

交换机bpg路由协议状态检查

ali_scene network device_check

交换机硬件自检

ECS访云外不通

ali_scene network internet_direction

检查公网方向网络问题

ali_scene network private_direction

检查专线方向链路问题

base访问vpc内数据源失败

ali_scene network core_network

设备网络连通性检查

ali_scene network physics_virtual

综合接入区网络检查

物理机故障后上线

ali_scene network core_network

物理机所在网络检查

ali_diag network route bgp {switch}

云内bgp网络状态检查

 

上表列举出了不同场景参考的不同排查指令,通过排查指令去诊断云内物理环境的情况,判断是否存在异常现象。以上仅是物理网络环境部分的检查,如需检查具体的产品侧状态,还需结合具体的产品诊断状态。网络侧和产品侧结合使用方能达到快速诊断和排查的效果。


我们是阿里云智能全球技术服务-SRE团队,我们致力成为一个以技术为基础、面向服务、保障业务系统高可用的工程师团队;提供专业、体系化的SRE服务,帮助广大客户更好地使用云、基于云构建更加稳定可靠的业务系统,提升业务稳定性。我们期望能够分享更多帮助企业客户上云、用好云,让客户云上业务运行更加稳定可靠的技术,您可用钉钉扫描下方二维码,加入阿里云SRE技术学院钉钉圈子,和更多云上人交流关于云平台的那些事。

网络诊断利器SreCli-Net

上一篇:Redis4.x新特性 -- 萌萌的MEMORY DOCTOR


下一篇:Zookeeper配置Kerberos认证