带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(2)

简介: 带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(2)

更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(1):https://developer.aliyun.com/article/1405332

4. 总结

最后针对今天所讲的内容进行一个总结,先给大家演示一下刚才讲的内容,首先在阿里云的官方文档可以看到,关于 ECS 事件的一个详细介绍,这里列出了不同的事件类型,同时在事件介绍里面包括事件的说明以及事件的影响,同时还会给针对这个事件给到用户的一些处理建议。

 

第二是关于 open API ECS open API 的官方文档中有一个模块式系统事件,大家可以在系统事件这部分查看关于事件的 open API。比如 describe instance  history events 是查询我们事例下所产生的历史的事件,这里会有关于 API 的详细说明。

 

同时我们还可以对这个 open API 进行调试,可以查看自己实例下有哪些事件。其次看一下 ECS 事件的控制台。在 ECS 事件控制台。我们可以查看到实例下所产生的事件,以本地盘受损事件为例,可以看到出现了一个坏盘事件,那针对这个坏盘事件可以看到当前这个事件的处理进度,以及我们还有后续的可以做的一些操作:比如修复磁盘,重新部署。

 

了解一下云监控,它可以去查看事件订阅事件。在云监控的系统监控部分可以查看事件。

 

我们可以查看以实例状态变化实验为例,我们可以看到当前这个实例所产生的实例状态变化事件。同时我们还可以基于事件创建我们对应的报警规则。比如我们可以定义自己的报警名称,选择产品类型,这里我们选择 ECS,可以选择事件的类型,比如异常类的实例还是状态通知类的事件;可以选择事件的等级,这里选择严重;选择事件的名称;那可以选择实例状态变化;同时我们还可以根据关键词去过滤事件。因为可能不是所有的事件我们都关注,最后可以选择我们通知的方式,可以选择报警通知,那就会发送对应的短信邮件,同时我们可以还发到对应的钉钉之类的。这里还提供消息队列、函数计算、U2 回调。

 

下面介绍一下 EVENT BRIDGE,我们可以查看发生的事件,还是以刚才的实例状态变化为例,那我们可以看到产生了很多的实例状态变化事件,同时我们还可以像云监控一样创建对应的规则去订阅事件,把事件投递到我们的目标端,这里创建一个进行演示。

 

比如输入规则名称,叫 test。事件源选择 ECS 事件源,事件类型选择实例状态变换,下一步选择投递的目标端,这里支持丰富的一些目标端,有钉钉、函数计算等,这里投递目标会比云监控更多。

 

大家可以根据自己的需求选择。展示一下在事件产生之后,可以在云监控和 EVENT bridge 去查看的一个过程,选择一个实例。比如重启这个实例,重启之后,我们就能会收到一个实例状态变化的事件,看一下是否查看到,从事件查看查询该事例下所产生的事件,修改一下这个时间选择,大家可以看到产生了一个实例状态变化事件,同时,在 EVENT bridge 里面也是同理。在事件的详情里面可以查看具体的一些事件的属性。

image.png

 

ECS 提供了丰富的事件。我们可以从多维度去衡量资源的稳定性主要呢,是有非预期的事件。计划内运维事件,安全费用类事件,资源状态变化事件。同时基于这些事件,我们可以构建可观测的体系。

 

第一我们可以基于事件配置短信,邮件报警,第二,我们可以在控制台和 open API 查询事件,第三我们可以配置自定义的监控,可以选择监控的渠道,同时基于ECS 事件还可以进行自动化的运维。第一我们可以通过控制台去响应事件,实现对资源的运维,第二可以通过 open API 去查询事件执行对应的运维动作,第三我们可以通过 EVENT bridge 云监控集成事件,进行系统化运维。

5. 使用 ECS 遇到故障时的痛点

大家好,我是来自阿里云弹性计算的樊超,今天主要介绍的是 ECS 自诊断工具,今天主要讲的是分为四个部分内容。

 

第一部分使用 ECS 遇到故障时的痛点,简单介绍使用 ECS 时的典型问题以及针对这些问题如何选择自主解决工具。第二部分一眼排障 ECS 健康状态,主要是帮大家介绍一个能够快速知道 ECS 当前是否有问题的工具。第三部分,一键定位 ECS 健康诊断,ECS 健康诊断能够详细的定位 ECS 当前的故障,并且根据当前的故障给出一定的修复建议,第四部分进行总结。

 

image.png

 

我们在使用 ECS 的过程中会遇到各种各样的问题,这里罗列了一些我们收集到的典型问题,

 

比如实例无法连接这些问题,可能是由实例配置异常,实例状态异常,实例网络不通或者运营商黑洞等各种各样的问题导致的,例如实例性的问题, CPU 负载高,磁盘 iops 高,网络丢包率高,实例性能受损等问题,实例操作问题,比如实例启动失败,实例登录失败,实例升降配失败以及实例续费失败等各种各样的操作问题。比如实例配额不足,我们会遇到各种各样因为配额达到上限而导致的配额操作问题。

 

当遇到这些问题时,我们脑海中自然而然的会有三个问题。

 

image.png

 

第一 ECS 是否有问题,还是当前我业务故障。第二,ECS 有什么样的问题到底发生了什么事情。第三, ECS 如何处理,如何处理这些已经定位的故障来恢复 ECS,从而恢复我的业务。

 

所以在遇到 ECS 故障时,我们可以选择不同的自主排查工具。

 

image.png

 

ECS 是否有问题,我们可以使用实例健康状态一眼能够看出来当前ECS 是否故障。当我们想知道 ECS 有什么问题,以及ECS 当前的问题该如何处理时,我们可以选择实例健康诊断来对 ECS 进行定位,从而得到具体的恢复建议和修复办法。

 

相比较于传统的走工单的流程去解决问题。自主排查能够更快解决 ECS 的问题。

 

image.png

 

在传统工单流程中,流程步骤多,周期长,享用慢,无法自主解决。只能等被动的等工单回复。而采用自主排查工具周期短,响应快,能够自主解决问题。通过使用自主排查工具,能够快速的获得当前 ECS 实例问题的详细报告以及根据报告快速的恢复 ECS。因此,我们强烈建议用户能够使用自主排查工具,对 ECS 进行故障定位和问题的修复。

6. 一眼排障 ECS 健康状态

第二部分一眼排障 ECS 健康状态,使用健康状态功能能够一眼确定当前 e cs 的是否有故障。

 

实例健康状态表示的是实例。操作系统的运行状态。通过实例健康状态可以快速确定 ECS 实例是否真正可用。用实例健康状态能够直接看到 e cs 当前的真正情况是什么。它是否故障以及是否真正在运行这里我们举了两个控制台的例子。在图一,我们可以明确的看到实例健康状态一栏三个实例都是正常的,代表当前 ECS 没有任何故障。

 

图二可以看到在状态这一栏里两个实例都出现了性能下降或实例受损。通过黄色的窗口可以明确的可以看出。第三个实例,因为已经停止,所以健康状态已经不适用。

 

通过这两个图,我们可以一眼确定当前 6 个实例的是什么样子。它当前是否有故障,运行状态是否 ok

 

image.png

 

健康状态呢是一种定义。它包括 5 个值。在这里我们先简单的介绍这 5 个值的含义是什么以及用在什么样的场景下。

 

image.png

 

Initializing 初始化中实例状态,初始化中代表实例正处在初始化阶段。也就是实例在管控状态中已经运行中。但是在真正的情况下,它的操作系统还没有启动,也就是它还没有进入用户态,像挂盘 SS 是登录等操作都会失败,Impaired 性能受损或性能降级,这代表实例已经受到了损伤,它的健康已经受损。

 

当前的实例因为底层故障或该 SOS 问题已经不再正常。所以当用户遇到业务问题时,可以看看当前实例是不是处在impaired 的状态。如果当前处在 impaired 状态,说明 ECS 已经故障。

 

OK 正常,代表实例也完全正常,实例的操作系统正常运行没有任何问题。Insufficient data,数据不足,当实例处在停止中或者已经停止,健康状态已经没有意义。Not applicable,不适用代表当前实例已经被删除。一般情况下,用户不会看到该状态。健康状态是在 5 个状态值之前不断轮询的状态机。

image.png

 

 

我们从创建到删除实例分别介绍这 5 种之间的转化情况。实例在初步建设中处在 creating,说明实例正在创建中。创建完之后实例会处在 stop 的状态,那么此时健康状态是红色的。InSufficent Data 代表当前不适用。当实例开始运行,同时健康状态会进入到 Initializing。初始化中,代表当前实例正在运行,但是它的操作系统还在自检中,还没有进入用户态。

 

当操作系统进入用户状态,该 SOS 完全启动成功后,它会处在 OK 状态。也就是说,当前实例完全正常。当一个处在 OK 正常的实例遇到了各种各样的问题时,它会转变到 impaired 的状态。代表当前实例已经受损或性能下降。当这些故障和问题已经结束,实例恢复正常时,它会转回 OK 状态,最终这个实例会被停止,然后它会恢复到以 InSufficent Data 状态,最终又被删除。那么就会变成 Not applicable,实例已经完全结束了它的生命周期。用户可以在多种入口查看ECS 健康状态。除了 open API 接口,我们在控制台的两个入口处也可以看到 ECS 控制台的实例列表。

 

在这个列表页,我们可以清楚的看到,处在运行中的实例,它是正常还是受损中。然后下面图是我们在 ECS 控制台的实例详情页的右上角。

正常,实例健康状态是一个红色对号的图标。初始化中是一个实例正在刷新的图标。性能受损或性能降级状态,实例是一个红色的叉。数据不足,也就是实例处在 stop stopping 状态时,它是一个黄色的叹号。

 

image.png


更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——提升云上资源稳定性的两大利器:事件驱动体系构建&自诊断工具(3):https://developer.aliyun.com/article/1405328

相关实践学习
基于云监控实现的监控系统
通过阿里云云监控功能给非阿里云主机安装监控插件,从而实现对非阿里云主机的各项指标进行监控和管理,在配置报警规则和报警人的情况下,能对特定的场景做出报警反应通知到报警人的手机上。
相关文章
|
6天前
|
弹性计算 运维 监控
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
1月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
191 17
Selenium:强大的 Web 自动化测试工具
|
12天前
|
运维 监控 Cloud Native
构建深度可观测、可集成的网络智能运维平台
本文介绍了构建深度可观测、可集成的网络智能运维平台(简称NIS),旨在解决云上网络运维面临的复杂挑战。内容涵盖云网络运维的三大难题、打造云原生AIOps工具集的解决思路、可观测性对业务稳定的重要性,以及产品发布的亮点,包括流量分析NPM、网络架构巡检和自动化运维OpenAPI,助力客户实现自助运维与优化。
|
18天前
|
弹性计算 运维 监控
云资源运维难?阿里云免费工具来帮忙
阿里云推出免费运维工具——云服务诊断,帮助用户提升对云资源的运维效率、降低门槛、减轻负担。其核心功能包括「健康状态」和「诊断」。通过「健康状态」可实时查看云资源是否正常;「诊断」功能则能快速排查网络、配置、安全等问题,并提供修复建议,助您迅速恢复业务。体验评测活动火热进行中,参与即有机会赢取索尼头戴耳机、小米背包等好礼。活动链接:https://developer.aliyun.com/topic/cloud-health。
320 13
|
22天前
|
数据采集 机器学习/深度学习 人工智能
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
103 13
|
22天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
153 3
|
1月前
|
运维 Kubernetes Devops
自动化运维:从脚本到工具的演进之旅
在数字化浪潮中,自动化运维成为提升效率、保障系统稳定的关键。本文将探索自动化运维的发展脉络,从基础的Shell脚本编写到复杂的自动化工具应用,揭示这一技术变革如何重塑IT运维领域。我们将通过实际案例,展示自动化运维在简化工作流程、提高响应速度和降低人为错误中的重要作用。无论你是初学者还是资深专家,这篇文章都将为你提供宝贵的洞见和实用的技巧。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:提升IT系统稳定性与效率的新引擎####
本文探讨了智能化运维(AIOps)在现代IT管理中的应用,重点分析了其如何通过集成人工智能、机器学习与大数据分析技术,显著提升IT系统的稳定性与运维效率。不同于传统运维的被动响应模式,智能化运维能够预测潜在故障,实现主动维护,从而减少停机时间,优化资源配置。文章还概述了实施智能化运维的关键步骤与面临的挑战,为读者提供了一个全面了解智能化运维价值的窗口。 ####
|
2月前
|
机器学习/深度学习 人工智能 运维
自动化运维之路:从脚本到工具的演进
在IT运维领域,效率和准确性是衡量工作成效的关键指标。随着技术的发展,自动化运维逐渐成为提升这两个指标的重要手段。本文将带领读者了解自动化运维的演变历程,从最初的简单脚本编写到现今复杂的自动化工具应用,展示如何通过技术提升运维效率。文章不仅介绍理论和实践案例,还提供了代码示例,帮助读者理解自动化运维的实际应用场景。