当Prometheus遇到混沌工程
一、背景
最近容器组在开发云平台的监控、报警功能。
大致的实现策略是:
1、云平台页面上配置告警规则
2、Prometheus完成监控数据的聚合
3、当Prometheus聚合后的监控数据满足告警规则,触发钉钉告警
二、过程
1、告警规则配置,一般情况下,业务服务的服务类型为deployment。告警规则:Pod内存使用率大于50%

2、步骤1中创建告警规则时,会同步在Prometheus上创建一个相同规则的Alert任务

3、复制Alert任务的聚合表达式,可以在Graph中实时查看到内存的占用情况

4、收到告警通知

三、Chaos Mesh
那么,是什么让内存的占用突然增高到90%以上,从而能触发告警条件的呢?(告警条件:Pod内存使用率大于50%)
Chaos Mesh登场了。
Chaos Mesh作为一个云原生的混沌工程平台,提供在 Kubernetes 平台上进行混沌测试的能力。
Chaos Mesh包括针对Kubernetes上复杂系统的故障注入方法,并涵盖了Pod,网络,文件系统甚至内核中的故障。
Chaos Mesh功能很强大,这里只用到给Pod注入内存占用。
步骤如下:





推荐:
https://www.kubernetes.org.cn/7443.html( 混沌网格(Chaos Mesh)的设计和工作原理 )
https://cloud.tencent.com/developer/article/1579651(kubernetes系列教程(二十)prometheus提供完备监控系统)
当Prometheus遇到混沌工程的更多相关文章
- 在 Ali Kubernetes 系统中,我们这样实践混沌工程
在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定.而混沌工程,是通过注入一些“不确定”因素,象放进了一群淘气的猴子,在系统资 ...
- 面向云原生的混沌工程工具-ChaosBlade
作者 | 肖长军(穹谷)阿里云智能事业群技术专家 导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系统的容错能力.Ch ...
- China .NET Conf 2019-.NET技术架构下的混沌工程实践
这个月的8号.9号,个人很荣幸参加了China.NET Conf 2019 , 中国.NET开发者峰会,同时分享了技术专题<.NET技术架构下的混沌工程实践>,给广大的.NET开发小伙伴介 ...
- Chaos Engineering 混沌工程 Chaos Monkey vs Chaos xxx vs Chaos Blade
Chaos Engineering的历史.原则以及实践https://www.infoq.cn/article/chaos-engineering-the-history-principles-and ...
- 好玩又实用,阿里巴巴开源混沌工程工具 ChaosBlade
减少故障的最好方法就是让问题经常性的发生.在可控范围或环境下,通过不断重复失败过程,持续提升系统的容错和弹性能力. 那么,实施一次高效的混沌工程实验,需要几步呢? 答案:2 步. ① 登陆 Chaos ...
- 一线实践 | 借助混沌工程工具 ChaosBlade 构建高可用的分布式系统
在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战.在可控范围或环境下,使用 ChaosBlade 工具,对系统注入各种故障, ...
- chaostoolkit 混沌工程工具集
chaostoolkit 目标是提供一个免费,开放,社区驱动的工具集以及api 以下为一张参考图 一些已经的扩展 基础设施/平台 Fault Injections: [chaostoolkit-kub ...
- 阿里开源混沌工程工具 ChaosBlade
https://github.com/chaosblade-io/chaosblade
- FreeWheel核心业务团队混沌工程实践之路
https://mp.weixin.qq.com/s/0monDPkAlMk7Yhq9swW7gQ 原创 郭彦梅 InfoQ 2020-11-17
随机推荐
- Docker 启动容器时,报错 WARNING:IPv4 forwarding is disabled. Networking will not work. 的解决办法
Centos 7 Docker 启动了一个web服务 但是启动时 报 WARNING: IPv4 forwarding is disabled. Networking will not work. 解 ...
- Flink深入浅出: 资源管理(v1.11)
-- 图片来自 <国家地理中文网>-- 往期推荐: Flink深入浅出:部署模式 Flink深入浅出:内存模型 Flink深入浅出:JDBC Source从理论到实战 Flink深入浅出: ...
- 利用Python求解二元一次方程
本程序流程如下: (1)输入A.B.C (2)计算△ (3)判断解的个数 (4)计算解 (5)输出解 求:x2-3x+2=0的解 #输入A.B.C A=float(input("输入A:&q ...
- 手把手教你AspNetCore WebApi:缓存(MemoryCache和Redis)
前言 这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题.性能问题一般用什么来解决呢?小明第一时间想到了缓存. 什么是缓存 缓存是实际工作中非常常用的 ...
- JSON,数组根据字段分组
function GroupbyName(data, Name) { //data数据源,Name 根据什么字段分组 var map = {}, dest = []; for (var i = 0; ...
- v-model数据绑定分析
v-model数据绑定分析 v-model是Vue提供的指令,其主要作用是可以实现在表单<input>.<textarea>及<select>等元素以及组件上创建双 ...
- Linux用户和组管理命令-用户创建useradd
用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...
- jenkins自动拉取git分支构建项目
一,创建jenkins项目 new item ->freestyle project, 自定义一个项目名称 二,配置项目 1,Source Code Management 选择 git,输入gi ...
- .NET CORE WebAPI JWT身份验证
一.appsettings.Json文件配置 配置JWT公用参数. 1 /*JWT设置*/ 2 "JwtSetting": { 3 "Issuer": &quo ...
- Java编程思想 笔记
date: 2019-09-06 15:10:00 updated: 2019-09-24 08:30:00 Java编程思想 笔记 1. 四类访问权限修饰词 \ 类内部 本包 子类 其他包 publ ...