服务案例|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

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁