背景
操作系统运维常常遇到以下问题:
1.问题定界浪费大量人力:当业务出现问题时,客户在不清楚是操作系统问题还是业务问题时,往往会拉上所有相关团队一起排查,浪费人力。
2.问题定位时间长:通过操作系统指标排查业务问题时,运维人员需要从大量的指标中查找具体原因,浪费大量时间。
3.问题现场丢失:等到真正开始排查问题的根本原因时,往往已经错过了最佳时机,现场信息已经丢失,使得问题更难解决。
为了应对上述问题,阿里云推出了一站式运维管理平台操作系统控制台(阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台),提出了异常告警和诊断联动的一套解决方案,对异常指标进行智能检测。SysOM(System Operation&Maintenance)是阿里云操作系统控制台的运维组件。当检测出异常事件后,异常告警与诊断功能进行联动,自动对异常指标进行诊断,自动化分析问题,并以分数形式量化系统健康程度,同时输出诊断结论。这样可以对普通用户屏蔽底层指标,减少用户自己分析的时间和精力,提升运维效率。
在业务出现异常波动的情况下,通过健康分,就可以判断是否为操作系统层面的问题,并确定具体受影响的方面。一旦确认问题源自操作系统,进一步检查相关告警信息,能够明确是哪些关键性能指标出现了异常。最后,通过详细分析诊断报告,可以精准定位问题的根本原因,从而采取针对性的措施进行修复。
操作系统控制台通过自动的异常检测和诊断问题,解决了操作系统运维面对的三大难题,让小白也能轻松做操作系统运维。
案例:通过自动化告警与诊断解决运维痛点
偶发调度延时大运维
近期,汽车行业某用户反馈系统中出现了间歇性的调度抖动现象。这种异常情况在短时间内会自行消失,但这也导致了难以在问题出现的瞬间捕获到实时的调用栈信息,从而为问题的根因分析及定位带来了挑战。此类瞬时性故障不仅增加了故障排查的技术难度,也对系统的稳定性和用户体验构成了潜在威胁。
用户诉求:
1.对问题进行快速定界和定位,确定分析方向。
2.抓住转瞬即逝的现场,对现场进行分析。
阿里云操作系统控制台(简称操作系统控制台)正好能满足用户诉求,于是在我们的建议下,用户开通了操作系统控制台。开通后,操作系统控制台会对各类可能出现异常的指标进行全天候的监控和异常检测,发现问题会立即发出告警,并且在分数上反映出来问题。操作系统控制台将系统指标分为延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation)四大类指标,系统哪方面出了问题,一目了然。
在下一次问题复现时,集群的分数出现了变化,延迟类型的分数下降。
由于集群中仅有一个节点出现问题,因此集群分数下降幅度不太明显,从节点的分数上看更加清楚,节点出现了较大延迟,对业务造成了一定影响。
操作系统控制台在计算实例的总分时,将实例从大到小分为三个层级:集群(Cluster)、节点(Node)和容器组(Pod)。每个层级的健康评分基于其内部各项检查指标的得分,以及上一层级的综合评分来共同计算得出。具体而言,操作系统控制台将计算延迟(Latency)、饱和度(Saturation)、负载(Load)和错误(Errors)这四个类型的分数。每个类型的分数由当前层级中该类型异常项的得分计算得出,最终四个类型的分数将被汇总以确定当前层级的总健康评分。
这种多维度、多层次的评估方法能够更全面地反映系统的整体健康状况,确保在不同层级上都能及时发现并解决潜在问题,从而提升系统的稳定性和可靠性。
在发现问题后,操作系统控制台出现了告警,并在第一时间进行了自动诊断,由于诊断及时,抓住了问题现场。
通过分析诊断报告中提供的延迟时间、进程信息及现场堆栈,用户很快就定位到了存在问题的应用进程,开始有的放矢地进一步深入分析,最终解决了困扰用户多时的偶发的调度抖动问题。
偶发网络抖动
用户在查看监控过程中观察到实例存在偶发的网络延迟现象,但当进一步调查时,该问题已经自行消失,未能获取更多详细的信息。因此,难以定位具体是哪个进程出现了何种异常情况。
这个问题同样可以通过操作系统控制台的告警+诊断联动进行排查,在我们的建议下,用户安装了操作系统控制台,等待问题复现。
在问题复现时,节点分数下降,通过四个类型分数的情况,可以很快判断出,集群出现了延迟方面的问题。
操作系统控制台出现了告警,并进行了自动诊断。
用户接收到告警之后,第一时间查看了诊断报告,通过报告,用户很快就定位到了出现问题的业务进程,并开始有针对性地继续分析,最终解决了偶发网络抖动的问题。
总结
上述两个案例可以看出,操作系统控制台对于偶发的抖动、延时等问题特别有用。这些问题出现的时间不确定,发生时对业务有一定影响,但是问题持续时间较短,现场很快就消失了,运维人员如果不能在较短时间内排查到根因就很难继续深入分析。
操作系统控制台采集系统多个维度的关键指标,并对它们进行全天候的自动监测。一旦检测出问题,第一时间向外投递,并且进行自动化诊断,尽可能的保留现场的更多信息,并给出根因分析结论,为运维人员定位问题提供了充足的弹药。
在实现过程中,操作系统控制台采用了 Flink+微服务的实现方案,利用微服务模块化的优势,保证多个微服务互相之间不受干扰,提升了系统的稳定性。同时利用 flink 流式数据处理的优势,提升异常检测效率。
在告警投递时,操作系统控制台考虑到了告警过的可能产生的告警疲劳问题,为了优化告警管理并提升用户体验,操作系统控制台提供了以下解决方案:
1.告警聚合与持续时间展示:对于在同一时间段内连续触发的同类告警事件,系统将自动进行合并,并在告警通知中明确标注该异常状态的持续时长。
2.用户自定义关注级别接口:提供一个可配置的关注度调整接口,允许终端用户根据自身需求及业务场景灵活设定对不同类型告警事件的关注程度。通过这种方式,可以更好地满足多样化运维需求。
3.智能告警抑制提示机制:当检测到短时间内频繁出现某一类未被响应的告警时,系统将主动向用户发出提醒,建议其考虑是否需要降低对此类事件的关注度或完全忽略。若用户选择执行相应操作,则未来类似告警的发生频率将依据新设置的规则进行调整,从而有效避免不必要的干扰。
4.自动化根因分析与即时反馈:每当有新的告警产生时,系统将立即启动内置的诊断流程,迅速定位故障源头,并将详细的故障原因分析结果实时更新至告警详情中。
展望未来
智能监控存在指标过多、难理解、依赖专家经验及问题事后排查困难等问题。AIOps 通过机器学习算法分析运维数据,优化系统稳定性和资源利用效率。SysOM 对延迟、流量、错误、饱和度几类指标设计了双模块异常检测算法,同时提供可定制配置接口以满足个性化需求。
在未来,操作系统控制台将致力于深入探索异常检测的潜力,通过持续优化检测算法与完善异常检测架构,以期为用户提供更为卓越的服务体验。我们将聚焦于提升系统的智能化水平,采用先进的机器学习和人工智能技术,确保能够实时、精准地识别并响应各类异常情况,从而显著增强系统的稳定性和安全性。此外,我们还将不断迭代更新我们的异常处理机制,确保其能够适应日益复杂的系统环境,为用户创造一个更加安全可靠的操作系统。
未来,操作系统控制台将接入各种告警平台,以更多种的方式触达运维人员。