服务案例|CIS数据库故障问题

2023-12-26 18:12

本文主要是介绍服务案例|CIS数据库故障问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、告警通知

12月20日凌晨,平台收到某三甲医院告警通知,显示核心业务CIS系统数据库tempdb实例日志文件剩余空间不足。

查看告警详情页,显示tempbd日志文件使用率在凌晨1:30后异常增高。

一个小tip

tempdb是SQL Server实例的系统数据库,同时也是实例中的一个临时共享资源。当服务器重启,Tempdb将被重建,所以Tempdb是没有办法像其他数据库一样永久保存数据的。也就是说,Tempdb是一个临时的数据库,是为实例中的各种请求处理中间数据的,任务处理完会自动释放,不会占用内存。

二、问题处理

MOC通知现场工程师,告知SQL server的tempdb实例日志文件异常增长,使用率已达99%,即将满,可能会导致临时表无法创建或数据事务无法提交,需要联系数据工程师处理。

由于是tempdb日志文件问题,未引起数据工程师足够重视,并未及时处理,告警问题一直持续。

问题持续到下午16:30分,临近工程师下班点,MOC工程师观察到数据库服务器C盘数据量与tempdb的日志文件大小同步增加,tempdb的日志文件从0增长到28.52G, 无独有偶,服务器C盘可用空间从45G下降至12G。Tempdb的日志文件大小仍在增加,按照增长趋势估算,将在夜间23-24点,CIS服务器的C盘空间会满,可能会导致CIS系统瘫痪。CIS系统是医院的核心系统,一旦发生宕机现象,将造成难以估量的损失。

简言之,同步增长的数据将导致C盘爆满,以此趋势看,不出意外将在夜间凌晨发生宕机事件。

MOC沟通用户工程师,建议在下班前处理不断增长的tempdb日志文件数据。不是夜间宕机解决不了,而是现在处理更有性价比。

数据工程师得知夜间C盘将爆满,可能引发宕机事件,马上进行处理,停止了SQL server正在进行的作业任务,将tempdb日志文件大小进行收缩,释放C盘空间,告警问题解决。

三、问题小结

tempdb是一个临时的数据库,为实例中的各种请求处理中间数据。一般在任务处理完成后会自动释放,所以平台告警通知数据工程师后,并未引起足够重视。LinkSLA在线工程师持续跟进问题,发现tempdp日志文件数据持续不断增长,导致操作系统磁盘空间不足,在平台趋势测算下,夜间将会引发CIS系统瘫痪。

所谓善战者,无赫赫之功,运维就是如此,不担大风险,积小胜为大胜。在细节处着手,于萌芽处扼杀,不因低级别事件就不重视,小问题拖延或聚集,也会造成系统性宕机的大事件。

系统正常运行,是所有硬件资源在系统指令下协作完成,做到全面数据监控,实时自动巡检,能够及时地发现问题,积极响应问题,主动御防,精准解除。

LinkSLA管家式运维服务

LinkSLA智能运维管家不仅仅是工具,还实质性地参与用户主动式预防的运维过程。

1、 7*24 在线值守

moc工程师实时在线监测平台告警信息,经过筛查和初步定位后生成工单通知用户工程师;工单处理闭环,既降低用户工程师的工作量,也过滤了无效告警和工单。

▲7*24在线,工单闭环

2、全栈监控

实现设备、系统软件、应用软件、安全日志的统一监控。

▲全栈监控

3、机器学习算法,实现精准告警。

区别于传统静态阈值的告警算法,机器学习算法经过历史数据训练,发现业务运行常态中的异常,大大提高告警准确性。

▲AI机器学习算法告警详情

4、实时巡检,精准探测系统实时状态。

这篇关于服务案例|CIS数据库故障问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/540372

相关文章

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作