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

一.背景 最近容器组在开发云平台的监控.报警功能. 大致的实现策略是: 1.云平台页面上配置告警规则 2.Prometheus完成监控数据的聚合 3.当Prometheus聚合后的监控数据满足告警规则,触发钉钉告警 二.过程 1.告警规则配置,一般情况下,业务服务的服务类型为deployment.告警规则:Pod内存使用率大于50% 2.步骤1中创建告警规则时,会同步在Prometheus上创建一个相同规则的Alert任务 3.复制Alert任务的聚合表达式,可以在Graph中实时查看到内存的占…
在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定.而混沌工程,是通过注入一些“不确定”因素,象放进了一群淘气的猴子,在系统资源.可用性.安全性.延迟.压力等方面进行捣乱,而此过程中,要求系统可以毫无影响的提供服务,用户无感知. 这其实对系统的自愈能力,健壮性都有很高的要求.故障注入一般是指比较受控的一些实验条件,通过注入一些相对极端的异常场景,为系统提供可靠性测试的过程. 整体来说,混沌是一种故障注入规则,强调了一些不确…
作者 | 肖长军(穹谷)阿里云智能事业群技术专家   导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系统的容错能力.ChaosBlade 工具可以通过声明式配置执行混沌实验,简单高效.本文将会重点介绍 ChaosBlade 以及云原生相关的实验场景实践. ChaosBlade 介绍 ChaosBlade 是阿里巴巴开源的一款遵循混沌实验模型的混沌实验执行工具,具有场景丰富度高.简单易用等特点,而且可以很方便的扩展实验…
这个月的8号.9号,个人很荣幸参加了China.NET Conf 2019 , 中国.NET开发者峰会,同时分享了技术专题<.NET技术架构下的混沌工程实践>,给广大的.NET开发小伙伴介绍混沌工程和高可用性改造实践.会后大家伙聚餐的时候,陈计节老师建议大家将各自的议题分享到社区,分享给大家.因此,今天和大家分享我的技术专题<.NET技术架构下的混沌工程实践>. 整个专题主要分为四个部分: .NET分布式.微服务架构下的高可用性挑战 混沌工程简介 .NET混沌工程的实践和成果分享…
Chaos Engineering的历史.原则以及实践https://www.infoq.cn/article/chaos-engineering-the-history-principles-and-practice/ 以毒攻毒:谷歌.亚马逊.奈飞如何用混沌工程控制系统风险|界面新闻 · JMediahttps://www.jiemian.com/article/2857619.html AWS云上混沌工程实践之启动篇 | 亚马逊AWS官方博客https://aws.amazon.com/cn…
减少故障的最好方法就是让问题经常性的发生.在可控范围或环境下,通过不断重复失败过程,持续提升系统的容错和弹性能力. 那么,实施一次高效的混沌工程实验,需要几步呢? 答案:2 步. ① 登陆 ChaosBlade ② 下载 release 版本,打造故障演练专属工具 高可用架构是保障服务稳定性的核心. 阿里巴巴在海量互联网服务以及历年双11场景的实践过程中,沉淀出了包括全链路压测.线上流量管控.故障演练等高可用核心技术,并通过开源和云上服务的形式对外输出,以帮助企业用户和开发者享受阿里巴巴的技术红…
在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战.在可控范围或环境下,使用 ChaosBlade 工具,对系统注入各种故障,持续提升分布式系统的容错和弹性能力,以构建高可用的分布式系统. ChaosBlade 是什么? ChaosBlade 是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练实践基础上,并结合了集团各业务的最佳创意和实践,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具.…
chaostoolkit 目标是提供一个免费,开放,社区驱动的工具集以及api 以下为一张参考图 一些已经的扩展 基础设施/平台 Fault Injections: [chaostoolkit-kubernetes][chaoskube]: Kubernetes activities [chaostoolkit-cloud-foundry][chaoscf]: Cloud Foundry activities [chaostoolkit-aws][chaosaws]: AWS activitie…
https://github.com/chaosblade-io/chaosblade…
https://mp.weixin.qq.com/s/0monDPkAlMk7Yhq9swW7gQ 原创 郭彦梅 InfoQ 2020-11-17  …
监控系统作用 监控系统主要用于保证所有业务系统正常运行, 和业务的瓶颈监控. 需要周期性采集和探测. 采集的详情 采集: 采集器, 被监控端, 监控代理, 应用程序自带仪表盘, 黑盒监控, SNMP. 存储: SQL, NoSQL(k/v, document, TSDB(series)) 展示: Grafana 报警: Alert 通知 Email, 短信, 微信, 钉钉, 常见开源实现: (Cacti/Nagios/ zabbix/ Prometheus) 监控体系 系统层监控 系统监控: C…
前言 为满足 C++ 应用系统故障演练,阿里妈妈安全生产团队开源了 C++ 混沌实验执行器,填补了 C++ 应用混沌工程实验的空白,其遵循<混沌实验模型>,可通过 ChaosBlade 工具直接执行.项目详情点击这里! . 本文重点介绍该执行器的架构图.支持的实验场景,并以 Demo 为例介绍具体的使用方式,附录介绍了阿里妈妈内部混沌实验流程. 新版本 chaosblade 下载地址在这里! 实验场景 目前支持的 C++ 混沌实验场景如下,具体使用方式可详见下文: 针对某个方法,或者某行代码注…
今天我们来玩一下混沌工程的开源工具chaostoolkit . 它的目标是提供一个免费,开放,社区驱动的工具集以及api. 官方源码链接:https://github.com/chaostoolkit/chaostoolkit 要想了解这个工具就必须知道混沌工程原则中提到的要点.如下所示: 记往这里提到的第一个要点,建立稳态假设. 在运行这个工具之前,我们先来看一下它的架构. 简单来解释一下,就是ChaosToolkit通过Drivers来操作你的被测系统. 它的功能点包括如下部分: 下面我们把…
图文并茂,新手入门教程,建议收藏 SpringBoot2.x整合Prometheus+Grafana[附源码+视频] 附源码+视频 目录 工程简介 简介 Prometheus grafana SpringBoot工程初始化 环境安装 Prometheus安装 Grafana安装 整合 延伸阅读 中级篇 实战篇 工程简介 总体框架图 简介 Prometheus Prometheus,是一个开源的系统监控和告警的工具包,其采用Pull方式采集时间序列的度量数据(也支持push方式),通过Http协议…
前言: ThoughtWorks人酷爱技术.我们对技术进行构建.研究. 测试.开源.记述,并始终致力于对其进行改进-以求造福 大众.我们的使命是支持卓越软件并掀起IT革命.我们创建 并分享ThoughtWorks技术雷达就是为了支持这一使命.由 ThoughtWorks中一群资深技术领导组成的ThoughtWorks 技术顾问委员会(TAB)创建了该雷达.他们定期开会讨论 Thoughtworks的全球技术战略以及对行业有重大影响的 技术趋势. 这个雷达以独特的形式记录技术顾问委员会的讨论结果,…
22款让Kubernetes锦上添花的开源工具 http://soft.zhiding.cn/software_zone/2019/0506/3117650.shtml 找时间尝试一下. 至顶网软件频道消息: Kubernetes已经成为大规模部署容器化应用的一个标准方式.但是,如果Kubernetes能帮助我们驯服庞大而复杂的容器部署,那么有什么能帮助我们去驯服Kubernetes呢?Kubernetes也是很复杂.很混乱且难以管理的. 在Kubernetes发展的过程中,一些难题可能会从内部…
通常,我们都会通过在 GitHub 上订阅邮件列表,来了解社区动态.这一次,我们联合以上各开源项目的负责人,发布「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展. 社区动态包括,但不限于: 版本发布 人员动态 项目动态和规划 培训和活动 非常欢迎国内其他微服务领域的开源项目将近期的社区动态,投递给我们,我们将一同发布.点击这里,给我们留言. 第一期回顾,点击这里.以下是第二期「微服务开源生态报告」的内容. 一.Apache Dubbo 1.…
最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到近几天听到了孙老师的分享,所以就在这里记录下孙老师的分享也总结我自己的思路.以下内容部分摘自于孙老师的分析PPT 1 软件工程之路 1.1 软件工程的演进 貌似大学的那门软件工程只给我们讲到了1980年,之后的需要我们走出校门,在社会中进行学习. 先来看下面这张图,是1980年至今的软件工程演化路线,像瀑布模型大家应该…
问题背景 诡异的 K8S 滚动更新异常 笔者某天收到同事反馈,测试环境中 K8S 集群进行滚动更新发布时未生效.通过 kube-apiserver 查看发现,对应的 Deployment 版本已经是最新版,但是这个最新版本的 Pod 并未创建出来. 针对该现象,我们最开始猜测可能是 kube-controller-manager 的 bug 导致,但是观察 controller-manager 日志并未发现明显异常.第一次调高 controller-manager 的日志等级并进行重启操作之后,…
DevOps已经走过了很长的一段路,毫无疑问,它将在今年继续闪耀.由于许多公司都在寻找围绕其数字化转型的最佳实践,因此了解领导者认为该行业的发展方向非常重要.从这个意义上说,下面的文章收集了DevOps高层对2021年DevOps趋势的回应.让我们看看他们每一个人在未来一年对DevOps有什么看法. 1.迁移到微服务成为必选项. "从单一服务到微服务和容器架构的转变对所有公司的数字化转型都是必须的.它不再是一个或多个选择.Kubernetes的应用将会越来越多,当组织采用多云时,Terrafor…
Linkerd 提供了许多功能,如:自动 mTLS.自动代理注入.分布式追踪.故障注入.高可用性.HTTP/2 和 gRPC 代理.负载均衡.多集群通信.重试和超时.遥测和监控.流量拆分(金丝雀.蓝/绿部署)等. Linkerd 2.10 中文手册持续修正更新中: https://linkerd.hacker-linner.com/ Linkerd 2.10 系列 快速上手 Linkerd v2 Service Mesh(服务网格) 腾讯云 K8S 集群实战 Service Mesh-Linke…
Linkerd 2.10 系列 快速上手 Linkerd v2.10 Service Mesh(服务网格) 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 部署 emojivoto 应用 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代 Linkerd 2.10-将您的服务添加到 Linkerd Linkerd 2.10-自动化的金丝雀发布 Linkerd 2.10-自动轮换控制平面 TLS 与 Webh…
Linkerd 2.10 系列 快速上手 Linkerd v2.10 Service Mesh(服务网格) 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 部署 emojivoto 应用 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代 Linkerd 2.10-将您的服务添加到 Linkerd Linkerd 2.10-自动化的金丝雀发布 Linkerd 2.10-自动轮换控制平面 TLS 与 Webh…
Linkerd 2.10 系列 快速上手 Linkerd v2.10 Service Mesh 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 部署 emojivoto 应用 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代 将您的服务添加到 Linkerd 自动化的金丝雀发布 自动轮换控制平面 TLS 与 Webhook TLS 凭证 如何配置外部 Prometheus 实例 配置代理并发 配置重试 配…
Linkerd 2.10 系列 快速上手 Linkerd v2.10 Service Mesh 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 部署 emojivoto 应用 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代 将您的服务添加到 Linkerd 自动化的金丝雀发布 自动轮换控制平面 TLS 与 Webhook TLS 凭证 如何配置外部 Prometheus 实例 配置代理并发 配置重试 配…
1. 将您的服务添加到 Linkerd. 为了让您的服务利用 Linkerd,它们还需要通过将 Linkerd 的数据平面代理注入到它们的 pod 中来进行 网格化 . 2. 自动化的金丝雀发布. 通过结合 Linkerd 和 Flagger 来根据服务指标自动金丝雀(canary)发布,从而降低部署风险. 3. 自动轮换控制平面 TLS 凭证. 使用 cert-manager 自动轮换控制平面 TLS 凭据. 4. 自动轮换 Webhook TLS 凭证. 使用 cert-manager 自动…
原创翻译,原始链接 本文为awesome系列中的awesome java Awesome Java Java 框架.库和软件的精选列表 项目 Bean映射 简化 bean 映射的框架 dOOv - 为类型安全的域模型验证和映射提供流畅的 API.它使用注释.代码生成和类型安全的 DSL 来使 bean 验证和映射变得快速而简单. JMapper - 使用字节码操作进行闪电般的快速映射.支持注解和 API 或 XML 配置. MapStruct - 基于约定优于配置的方法,简化不同 bean 类型…
本文想从技术的角度谈谈我对云计算数据中心 DevSecOps 运维模式中的安全性的理解,和过去几年我在云服务业务连续性管理方面的探索. 现在公有云服务商都不约而同地转向 DevSecOps 模式.DevSecOps 是 DevOps 的另一种实践,它将信息技术安全性作为软件开发所有阶段的一个基本点.安全性,不仅涉及各种层次的隔离和合规性检查,而且涉及从技术层面确保业务连续性.在 ISO/IEC 27001 信息安全管理体系中,“业务连续性管理”是安全管理中非常重要的一环,目的是为减少业务活动的中…
https://www.infoq.cn/article/R7lWXd0R4VFf3E0bB*38 本文概述了我们对当前“架构和设计”领域的看法,这个领域侧重于基础设施模式.技术框架模式的实现,以及软件架构师必须掌握的设计流程和技能. 关键要点: 我们看到了“演化式架构”设计需求的增长,这种架构建立在可替换性设计和关注“胶水”组件的基础之上.演化式架构支持功能性和跨功能性需求和约束的未来变化. “微服务”架构可能会进入晚期大众阶段,但与“正确设计分布式系统”相关的主题以及反应式和容错式设计将越来…
如何设计你的应用,能够在系统错误时做到自我修复?在分布式系统中,会经常遇到错误.硬件也会遇到异常情况.网络有时会出现短暂的错误.整个地区出现了服务中断.即便如此,关于这些问题的方案也是要提前规划的.因此,需要设计一个能够在错误出现时完成自我修复的系统,主要包括以下3个部分:发现错误.正确的对待错误.使用日志并监控错误,提高可操控性.对故障类型的响应取决于应用的可用性的需求.例如,如果你需要系统是高可用的,你可能会希望在故障发生时,系统自动切换到辅助区域.然而,这种部署比单一区域的价格高的多.而且…