简介:网络诊断利器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黑屏界面上,完成一整个交互流程,如下图所示。
图1
- 问题诊断(ali\_diag)
从服务单、工单、故障单中提炼高频操作,将常用操作、问题&故障点工具化成原子项。通过日常运维查询产品原子项,问题点、故障点、快速查询关键指标定位问题点。
图2
- 场景诊断(ali\_scene)
以故障场景沉淀出一系列排查思路,以“三板斧”形式输出,精确定位问题所在。在此基础上进行故障点组装、故障精确定位。
图3
- 应急止血(ali\_cure)
真实故障和风险止血恢复手段沉淀,发生并解决方案确定后,需要快速恢复,恢复动作包括重启、降级、限流、切换等。帮助客户业务快速恢复。
- 日常查询(ali\_query)
日常查询、关联数据展示、常用信息获取,通过精确的查询方式,查询云内IP地址定位对应的产品、路由、容量、策略等信息。目前覆盖物理网络的各类IP维度查询。
- 智能抓流(ali\_trace)
满足CLI在云平台内各点抓包的能力,通过定制化的抓包组合命令,快速落在抓包点,进行指定的进或出方向的网络流量抓包。覆盖经典网络类型抓包、VPC网络类型抓包两种。
3.Cli-Net概念
Cli-Net是CLI体系中的一个分支功能,主要负责处理混合云内物理网络方向的诊断排查,通过统一格式的指令,在物理网络环境中进行具体方面的排查诊断。Cli-Net主要覆盖混合云物理网络四大方面,包括云内通用网络设备性能诊断、云边界网络状态诊断、云内网络状态诊断、物理机网络状态诊断。涉及云内所有产品物理机和交换机网络运行状态,以及互联网、云外IDC网络等云外网络访问云内网络的排查诊断,具体诊断覆盖如下表所示。
<span class="lake-fontsize-10"><span>Cli-Net</span></span><span class="lake-fontsize-10"><span>诊断覆盖</span></span> | <span class="lake-fontsize-10"><span>通用网络设备性能诊断</span></span> | <span class="lake-fontsize-10"><span>云边界网络状态诊断</span></span> | <span class="lake-fontsize-10"><span>云内网络状态诊断</span></span> | <span class="lake-fontsize-10"><span>物理机网络状态诊断</span></span> |
<span class="lake-fontsize-10">ISW</span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10"> </span> | <span class="lake-fontsize-10"> </span> |
<span class="lake-fontsize-10">DSW</span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10"> </span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10">●</span> |
<span class="lake-fontsize-10">CSW</span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10"> </span> | <span class="lake-fontsize-10"> </span> |
<span class="lake-fontsize-10">LSW</span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10"> </span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10">●</span> |
<span class="lake-fontsize-10">ASW</span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10"> </span> | <span class="lake-fontsize-10">●</span> | <span class="lake-fontsize-10">●</span> |
<span class="lake-fontsize-10"> </span> | <span class="lake-fontsize-10">input</span> | <span class="lake-fontsize-10">input</span> | <span class="lake-fontsize-10">input</span> | <span class="lake-fontsize-10">input</span> |
<span>中文名称</span> | <span>Cli</span><span>英文名称</span> | <span>含义</span> |
<span>单机自检功能</span> | <span>device_check</span> | <span>检查每台交换机本身的健康状态,包含硬件、接口、路由、连通性,去判断输出网络设备本身的异常项目。</span> |
<span>核心网络方向诊断</span> | <span>core-network</span> | <span>通过检查涉及所有云内物理服务器路由通路、互联线路、路由状态的整体或指定具体物理机去判断输出网络异常项。</span> |
<span>专线方向诊断</span> | <span>Private direction</span> | <span>通过检查用户IDC与云内VPC网络(含所有实例级资源)间涉及到的物理网络整体状况去判断输出网络异常项。</span> |
<span>公网方向诊断</span> | <span>Internet Direction</span> | <span>通过检查互联网与云内VPC网络(含所有实例级资源)间的涉及到的物理网络整体状况去判断输出网络异常项。</span> |
<span>物理虚拟方向诊断</span> | <span>physics virtual</span> | <span>通过检查VPC网络(含所有实例级资源)与经典网络(包含所有云服务资源)之间的物理整体状况去判断输出网络异常项。</span> |
<span>应用场景</span> | <span>排查指令</span> | <span>指令结果</span> |
<span>机房整体掉电</span> | <span>ali_diag network ping project </span><span>{product name}</span> | <span>检查云内各集群物理机连通性是否正常</span> |
<span>ali_diag network ping switch</span><span>{name}</span> | <span>检查云内交换机连通性是否正常</span> | |
<span>ali_diag network hardware power </span><span>{switch}</span> | <span>检查各交换机电源运行状态是否正常</span> | |
<span>ali_diag network route bgp </span><span>{switch}</span> | <span>交换机bpg路由协议状态检查</span> | |
<span>ali_scene network device_check</span> | <span>交换机硬件自检</span> | |
<span>ECS</span><span>访云外不通</span> | <span>ali_scene network internet_direction</span> | <span>检查公网方向网络问题</span> |
<span>ali_scene network private_direction</span> | <span>检查专线方向链路问题</span> | |
<span>base</span><span>访问vpc内数据源失败</span> | <span>ali_scene network core_network</span> | <span>设备网络连通性检查</span> |
<span>ali_scene network physics_virtual</span> | <span>综合接入区网络检查</span> | |
<span>物理机故障后上线</span> | <span>ali_scene network core_network</span> | <span>物理机所在网络检查</span> |
<span>ali_diag network route bgp </span><span>{switch}</span> | <span>云内bgp网络状态检查</span> |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。