一、背景

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

大致的实现策略是:

1、云平台页面上配置告警规则

2、Prometheus完成监控数据的聚合

3、当Prometheus聚合后的监控数据满足告警规则,触发钉钉告警

二、过程

1、告警规则配置,一般情况下,业务服务的服务类型为deployment。告警规则:Pod内存使用率大于50%

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

当Prometheus遇到混沌工程-LMLPHP

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

当Prometheus遇到混沌工程-LMLPHP

4、收到告警通知

当Prometheus遇到混沌工程-LMLPHP

三、Chaos Mesh

那么,是什么让内存的占用突然增高到90%以上,从而能触发告警条件的呢?(告警条件:Pod内存使用率大于50%)

Chaos Mesh登场了。

Chaos Mesh作为一个云原生的混沌工程平台,提供在 Kubernetes 平台上进行混沌测试的能力。

Chaos Mesh包括针对Kubernetes上复杂系统的故障注入方法,并涵盖了Pod,网络,文件系统甚至内核中的故障。

Chaos Mesh功能很强大,这里只用到给Pod注入内存占用。

步骤如下:

当Prometheus遇到混沌工程-LMLPHP

当Prometheus遇到混沌工程-LMLPHP 

当Prometheus遇到混沌工程-LMLPHP

当Prometheus遇到混沌工程-LMLPHP

当Prometheus遇到混沌工程-LMLPHP

推荐:

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提供完备监控系统)

11-15 23:38