热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

记一次基于智慧运维平台故障自愈场景的“探索”

随着智慧运维平台的不断落地,我们基于平台能力,落地了很多场景,监控、告警、运维操作等等,但我们的监控场景与运维操作场景依然还是分段式的,平台监测到故障告警,依旧

随着智慧运维平台的不断落地,我们基于平台能力,落地了很多场景,监控、告警、运维操作等等,但我们的监控场景与运维操作场景依然还是分段式的,平台监测到故障告警,依旧需要运维人员根据告警内容去判断执行相对应的运维操作。

如何将监控、告警能力与运维操作能力结合,使之成为一套完整的自动化流程?这就是本篇我们分享的主题——基于智慧运维平台故障自愈场景的小“探索”。

场景介绍

基于智慧运维平台监控weblogicserverFullGC情况,模拟触发FullGC告警,再基于平台ATM模块编排自愈运维操作,在告警产生后自动触发故障自愈操作,完成自愈操作。

监控自愈流程如下:

场景要素提炼:
  • 基于AMP监控采集FullGC信息,同时针对监控项配置告警触发器

  • 基于ATM配置自愈操作,完成故障时刻信息搜集、server重启

  • 绑定告警与自愈操作,使告警产生后自动触发完成自愈动作

  • 模拟FullGC场景,触发故障自愈流程

场景配置
GC信息监控、告警配置
监控配置模块,相信各地已经玩的很溜了,也不是本文探究的主题,在此就不占用太多的篇幅去介绍如何去基于AMP接入监控了。我们在测试环境部署了一套weblogicserver,将GC信息接入平台监控:

同时针对JVM堆old区使用率配置了告警触发器(PS:GC监控场景有很多,如:FullGC次数、持久代使用率、O区使用率等等,本次仅以O区使用率作为验证场景)。

自愈操作配置
同样针对操作编排的配置,相信大家也都有用过,本文也不做详细赘述。针对本次测试,我们在ATM模块简单配置了一个weblogic自愈操作:

操作内容也很简单,搜集了故障时刻server的堆栈信息treaddump、heapdump(PS:由于是测试,未做过多的信息搜集),之后便进行了服务重启动作,脚本配置了采用local模式执行。

绑定告警与自愈操作
配置故障自愈方案,当配置了故障处理方案且符合触发条件的告警产生时,故障自愈方案可自动执行,对Server进行应急处理,达到快速解决故障的目的。

可在监控模板告触发器配置时,“故障自愈”页面配置操作绑定

或者在配置管理的“告警自愈配置”模块新增自愈配置,绑定监控模板和触发场景。两个页面配置类似,见下图,在故障自愈方案选择田间之前在ATM配置好多自愈操作:

配置完成后,如下图,则新增了一条故障自愈策略,“启用状态”开启,“自动执行”状态开启。其中自动执行状态若是未开启,则告警产生后需要手动触发自动动作,可以根据具体需要设定。

至此,一个简单的故障自愈场景算是配置完成了。

测试验证

在模拟FullGC场景之前,我们先来观察一下正常情况下,weblogicserver的GC情况,如下图,JVMold区使用率较低,稳定在12.4%左右,FGC次数也仅有3次。

当模拟触发了FullGC场景后,weblogicserver进程的FULLGC频繁执行,old区使用率也接近100%。

观察平台,告警如期触发:

自愈动作在告警触发后同样触发,如下图,自愈触发记录

触发自愈操作,搜集信息及weblogicserver信息,如下图,服务重启,证实自愈动作作发生:

通过平台GC信息采集看,JVM堆Old区使用率在触发FULLGC前后的变化趋势图,从10%->100%->10%,恢复到正常水平。

Weblogicserver在模拟FullGC并自愈前后GC次数的变化趋势图如下图所示,FullGC次数迅速增加,触发自愈动作重启实例后,FULLGC再次恢复实例启动状态。

自愈后告警状态自动变更为“已恢复”,至此,自愈流程验证完成。

以上便是通过智慧运维平台AMP监控场景、ATM运维操作场景结合,以完成从监控,到告警产生,再到故障自愈的一次“探索”。过程略简陋了些,在实际运维中,自愈场景需要考虑的点有很多,如自动or手动触发自愈,自愈搜集哪些信息,如何确保自愈动作100%完成,风险等等,都是需要我们根据不同的故障场景,去探究分析一套安全有效的解决方案。

END



推荐阅读
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 弹性云服务器ECS弹性云服务器(ElasticCloudServer)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
    11月13日,由腾讯云主办、游戏茶馆协办的2020年首场GAME-TECH腾讯云游戏行业技术沙龙在成都圆满落幕。本次沙龙邀请了腾讯云游戏行业解决方案总监宋永周、腾讯云游戏行业高级解决方案架构师曾梓恩、腾讯云游戏行业高级产品架构师郑晓曦、腾讯云游戏行业高级解决方案架构师温球良和天美L1(王者荣耀)服务器技术副总监杨光,为参会同行们带来了干货满满的技术建议。本文介绍了腾讯云游戏云的优势和为不同游戏研运场景提供的服务。腾讯云在中国游戏云服务市场领跑,成为众多游戏开发者的合作伙伴。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • 职业道路的选择与建议
    职业道路的选择与建议2010-09-2621:31:53标签:职业感悟建议   [推送到技术圈]版权声明:原创作品,允许转载, ... [详细]
  • 生产环境下JVM调优参数的设置实例
     正文前先来一波福利推荐: 福利一:百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。福利二 ... [详细]
author-avatar
兜兜岁月真伟大
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有