当前位置:网站首页>【翻译】混沌网+SkyWalking:为混沌工程提供更好的可观察性
【翻译】混沌网+SkyWalking:为混沌工程提供更好的可观察性
2022-08-05 10:12:00 【programmer_ada】
Chaos Mesh是一个开源的云原生混沌工程平台。你可以使用Chaos Mesh来方便地注入故障,模拟现实中可能发生的异常情况,从而发现系统中的潜在问题。Chaos Mesh还提供了一个混沌仪表板,可以让你监控混沌实验的状态。然而,这个仪表盘不能让你观察到实验中的故障是如何影响应用程序的服务性能的。这阻碍了我们进一步测试系统和发现潜在问题。
Apache SkyWalking是一个开源的应用性能监控器(APM),专门用于监控、跟踪和诊断云原生、基于容器的分布式系统。它收集发生的事件,然后显示在其仪表板上,让你直接观察系统中发生的事件的类型和数量,以及不同的事件如何影响服务性能。
当你在混沌实验中同时使用SkyWalking和Chaos Mesh时,你可以观察到不同的故障如何影响服务性能。
本教程将告诉你如何配置SkyWalking和Chaos Mesh。你还将学习如何利用这两个系统来监控事件,并实时观察混沌实验如何影响应用程序的服务性能。
准备工作
在你开始使用SkyWalking和Chaos Mesh之前,你必须。
- 根据SkyWalking配置指南,建立SkyWalking集群。
- 使用Helm部署Chao Mesh。
- 安装JMeter或其他Java测试工具(以增加服务负载)。
- 如果你只是想运行一个演示,根据本指南配置SkyWalking和Chaos Mesh。
现在,你已经完全准备好了,我们可以切入正题了。
第1步:访问SkyWalking集群
安装SkyWalking集群后,你可以访问其用户界面(UI)。然而,此时没有服务在运行,所以在开始监控之前,你必须添加一个服务并设置代理。
在本教程中,我们以Spring Boot,一个轻量级的微服务框架为例,建立一个简化的演示环境。
- 参照此文件,在Spring Boot中创建一个SkyWalking演示。
- 执行命令
kubectl apply -f demo-deployment.yaml -n skywalking
来部署该演示。
完成部署后,你可以在SkyWalking用户界面观察实时监控结果。
注意:Spring Boot和SkyWalking有相同的默认端口号:8080。在配置端口转发时要小心,否则,你可能会出现端口冲突。例如,你可以通过使用kubectl port-forward svc/spring-boot-skywalking-demo 8079:8080 -n skywalking
这样的命令将Spring Boot的端口设置为8079,以避免冲突。
第2步:部署SkyWalking Kubernetes事件导出器
SkyWalking Kubernetes事件导出器能够观察、过滤和发送Kubernetes事件到SkyWalking后端。然后SkyWalking将事件与系统指标联系起来,并显示关于指标何时以及如何受事件影响的概述。
如果你想用一行命令部署SkyWalking Kubernetes Event Explorer,请参考该文件,以YAML格式创建配置文件,然后自定义过滤器和导出器中的参数。现在,你可以使用命令kubectl apply
来部署SkyWalking Kubernetes Event Explorer。
第3步:使用JMeter来增加服务负载
为了更好地观察服务性能的变化,你需要增加Spring Boot上的服务负载。在本教程中,我们使用JMeter,一个广泛采用的Java测试工具,来增加服务负载。
使用JMeter在localhost:8079
上进行压力测试,并添加五个线程,持续增加服务负载。


Apache JMeter的用户界面
打开SkyWalking仪表板。你可以看到,访问率是100%,服务负载达到每分钟约5300个呼叫(CPM)。

SkyWalking仪表板
第四步:通过混沌网注入故障并观察结果
完成上述三个步骤后,你可以使用混沌仪表盘来模拟压力场景,观察混沌实验中服务性能的变化。

混沌网的用户界面
下文描述了在三种混沌条件的压力下,服务性能的变化情况。
CPU负载。10%;内存负载。128 MB
第一个混沌实验模拟的是低CPU使用率。要显示混沌实验开始和结束的时间,请点击仪表板右侧的切换按钮。要了解实验是应用于系统还是从系统中恢复,将光标移到绿色短线上。
在两条绿色短线之间的时间段内,服务负载下降到4929CPM,但在混乱实验结束后又恢复到正常。

第一个混乱条件下的服务负载变化
CPU负载。50%;内存负载。128 MB
当应用程序的CPU负载增加到50%时,服务负载下降到4,307 CPM。

第二个混乱条件下的服务负载变化
CUP LOAD:100%;内存负载。128 MB
当CPU使用率为100%时,服务负载下降到只有没有混沌实验时的40%。

第三次混沌条件下的服务负载变化
摘要
由于Linux系统下的进程调度不允许一个进程一直占据CPU,所以即使在CPU满负荷的极端情况下,部署的Spring Boot Demo仍然可以处理40%的访问请求。
通过结合SkyWalking和Chaos Mesh,你可以清楚地观察到混沌实验何时以及在何种程度上影响应用服务性能。这种工具的组合让你可以观察到各种极端条件下的服务性能,从而增强你对服务的信心。
在所有PingCAP工程师和社区贡献者的不懈努力下,Chaos Mesh在2021年得到了很大的发展。为了继续升级我们对广大用户的支持,了解更多用户在混沌工程中的体验,我们希望邀请您参加 这次调查,给我们提供宝贵的意见。如果你想了解更多关于Chaos Mesh的信息,欢迎你加入GitHub上的Chaos Mesh社区或我们的Slack讨论(#project-chaos-mesh)。如果你在使用Chaos Mesh时发现任何bug或功能缺失,你可以向我们的GitHub仓库提交你的拉动请求或问题。
边栏推荐
- Is digital transformation a business buy-in?
- QSS 选择器
- 为什么sys_class 里显示的很多表的 RELTABLESPACE 值为 0 ?
- 技术干货 | 基于 MindSpore 实现图像分割之豪斯多夫距离
- MySQL使用聚合函数可以不搭配GROUP BY分组吗?
- 19.服务器端会话技术Session
- Can MySQL use aggregate functions without GROUP BY?
- Brief Analysis of WSGI Protocol
- 第四章:redis 数组结构的set和一些通用命令「建议收藏」
- three objects are arranged in a spherical shape around the circumference
猜你喜欢
What is CRM Decision Analysis Management?
Pycharm 常用外部工具
首次去中心化抢劫?近2亿美元损失:跨链桥Nomad 被攻击事件分析
19. Server-side session technology Session
hcip BGP 增强实验
2022华数杯数学建模A题环形振荡器的优化设计思路思路代码分享
阿里顶级架构师多年总结的JVM宝典,哪里不会查哪里!
自定义过滤器和拦截器实现ThreadLocal线程封闭
【温度预警程序de开发】事件驱动模型实例运用
The technological achievements of Shanghai Konan were selected into the "2021 Shanghai Network Security Industry Innovation Research Achievement Catalog" by the Municipal Commission of Economy and Inf
随机推荐
The century-old Nordic luxury home appliance brand ASKO smart wine cabinet in the three-temperature area presents the Chinese Valentine’s Day, and tastes the love of the delicacy
企业的数字化转型到底是否可以买来?
还在找网盘资源吗?快点收藏如下几个值得收藏的网盘资源搜索神器吧!
mysql索引
一个栈的输入序列为1 2 3 4 5 的出站顺序的理解
dotnet OpenXML parsing PPT charts Getting started with area charts
第五章:redis持久化,包括rdb和aof两种方式[通俗易懂]
js hijacks the array push method
First Decentralized Heist?Loss of nearly 200 million US dollars: analysis of the attack on the cross-chain bridge Nomad
【MindSpore易点通机器人-01】你也许见过很多知识问答机器人,但这个有点不一样
2022华数杯数学建模A题环形振荡器的优化设计思路思路代码分享
The founder of the DFINITY Foundation talks about the ups and downs of the bear market, and where should DeFi projects go?
hcip BGP enhancement experiment
深入理解 Istio 流量管理的超时时间设置
第三章 : redis数据结构种类
哪位大佬有20年4月或者1月的11G GI和ojvm补丁呀,帮忙发下?
Bias lock/light lock/heavy lock lock is healthier. How is locking and unlocking accomplished?
Why are RELTABLESPACE values 0 for many tables displayed in sys_class?
Offensive World-PWN-new_easypwn
华为轻量级神经网络架构GhostNet再升级,GPU上大显身手的G-GhostNet(IJCV22)