一、背景

最近容器组在开发云平台的监控、报警功能。

大致的实现策略是:

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://prometheus.io/(官网)

https://chaos-mesh.org/ (官网)

https://www.kubernetes.org.cn/7443.html( 混沌网格(Chaos Mesh)的设计和工作原理 )

https://cloud.tencent.com/developer/article/1579651(kubernetes系列教程(二十)prometheus提供完备监控系统)

当Prometheus遇到混沌工程的更多相关文章

  1. 在 Ali Kubernetes 系统中,我们这样实践混沌工程

    在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定.而混沌工程,是通过注入一些“不确定”因素,象放进了一群淘气的猴子,在系统资 ...

  2. 面向云原生的混沌工程工具-ChaosBlade

    作者 | 肖长军(穹谷)阿里云智能事业群技术专家   导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系统的容错能力.Ch ...

  3. China .NET Conf 2019-.NET技术架构下的混沌工程实践

    这个月的8号.9号,个人很荣幸参加了China.NET Conf 2019 , 中国.NET开发者峰会,同时分享了技术专题<.NET技术架构下的混沌工程实践>,给广大的.NET开发小伙伴介 ...

  4. Chaos Engineering 混沌工程 Chaos Monkey vs Chaos xxx vs Chaos Blade

    Chaos Engineering的历史.原则以及实践https://www.infoq.cn/article/chaos-engineering-the-history-principles-and ...

  5. 好玩又实用,阿里巴巴开源混沌工程工具 ChaosBlade

    减少故障的最好方法就是让问题经常性的发生.在可控范围或环境下,通过不断重复失败过程,持续提升系统的容错和弹性能力. 那么,实施一次高效的混沌工程实验,需要几步呢? 答案:2 步. ① 登陆 Chaos ...

  6. 一线实践 | 借助混沌工程工具 ChaosBlade 构建高可用的分布式系统

    在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战.在可控范围或环境下,使用 ChaosBlade 工具,对系统注入各种故障, ...

  7. chaostoolkit 混沌工程工具集

    chaostoolkit 目标是提供一个免费,开放,社区驱动的工具集以及api 以下为一张参考图 一些已经的扩展 基础设施/平台 Fault Injections: [chaostoolkit-kub ...

  8. 阿里开源混沌工程工具 ChaosBlade

    https://github.com/chaosblade-io/chaosblade

  9. FreeWheel核心业务团队混沌工程实践之路

    https://mp.weixin.qq.com/s/0monDPkAlMk7Yhq9swW7gQ 原创 郭彦梅 InfoQ 2020-11-17  

随机推荐

  1. MySQL 之 innodb 日志管理 -- 1. 基本日志文件

    1.基本日志文件分类 错误日志(error log) 慢查询日志日志(slow query log) 二进制日志(binlog) 查询日志(general log) 2.错误日志 主要包括mysql的 ...

  2. 用React 中的useState改变值不重新渲染的问题

    不渲染 const [lists,setLists] =useState([]); ..... const arr = lists; arr.splice(index,1) //根据删除index下标 ...

  3. Semaphore最详细解析

    官方解释: 一个计数信号量.在概念上,信号量维持一组许可证.如果有必要,每个acquire()都会阻塞,直到许可证可用,然后才能使用它.每个release()添加许可证,潜在地释放阻塞获取方.但是,没 ...

  4. android init.rc语法

    转自:http://www.cnblogs.com/nokiaguy/p/3164799.html init.rc由如下4部分组成. 动作(Actions) 命令(Commands) 3. 服务(Se ...

  5. MYSQL账户是否不允许远程连接。如果无法连接可以尝试以下方法:

    mysql账户是否不允许远程连接.如果无法连接可以尝试以下方法: mysql -u root -p //登录MySQL mysql> GRANT ALL PRIVILEGES ON *.* TO ...

  6. Cypress系列(65)- 测试运行失败自动重试

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 重试的介绍 学习前的三问 什么是重试测试 ...

  7. 加密sqlite3数据库文件

    目录 EncryptSqlite3 实现原理 使用方法 不足之处 GitHub地址 EncryptSqlite3 加密sqlite3数据库,产生的数据库文件别人打不开. 实现原理 在写入文件前对每个字 ...

  8. centos7安装kafka 转

    CentOS7安装和使用kafka         环境准备 安装kafka之前我们需要做一些环境的准备 1.centOS7系统环境 2.jdk环境 3.可用的zookeeper集群服务 安装jdk ...

  9. 第三十三章 linux常规练习题(二)

    一.练习题一 1.删除用户基本组shanghai03.发现无法正常删除,怎样才能将其删除掉,不能删除用户.2.打开多个xshell窗口连接登录同一虚拟机,使用不同的用户登录多次,分别使用w和who命令 ...

  10. buuctf-misc-snake 详解

    打开压缩包,里面一张蛇的图片,看的我是真恶心,看了看详细信息,没什么,然后我用formstlrb分离,然后有一个压缩包 以为还像往常一样,有伪加密或者简单加密,但是居然啥也没有,里面有两个文件,key ...