数据库如何进行监控?
数据库监控要做到“知生死、明优劣、防问题”。
在实现的过程中要知道监控什么,知道如何获取,知道如何评判,知道问题原因和解决及避免方法。还要搞清楚监控行为对生产系统的影响,不能因为监控导致新问题的产生。
“知生死”是最基本的要求,方法有多种,从判断数据库服务进程是否存在,通过连接测试判断能否对外服务,通过简单增、删、改测试数据库能否支持交易,到获取数据库完成交易的成功失败率判断能否正常提供服务,也可从应用服务器端获取指标判断数据库的生死,甚至通过网络包的监控实现。
“明优劣”首先要清楚判断优劣的标准,数据库中任何一个动作都是要消耗资源的,消耗资源就是在一定时间内占用某类资源,多占、占用时间不合理的即为劣的。然后明晰要收集的相关指标,确定指标的正常范围,设定不同级别的告警阀值,这些指标通常可以通过数据库快照、监控视图、表函数等获取,获取时间间隔要根据获取动作对系统的影响以及系统的承受能力而定。有些指标会随数据量及工作时段发生变化,需要从历史监控数据中建立运行基线,实时监控参照基线,可发现突发事件。
“防问题”一般来说,到通过监控发现问题,已经晚了,但这次在这个系统发现的问题,可作为经验教训,通过项目前期更好的架构设计、更合理的编码实现,避免同类问题出现在以后的生产系统中。
数据库在大规模并行应用环境中常见的问题主要有:
热点问题,比如热点记录、热点数据页面、热点索引页面、存储热点等;
资源上限问题,表空间满、锁资源满、操作系统资源将满等;
性能随时间、空间变化,衰减甚至突变问题
针对每种问题,我们需要了解触发问题的条件,知道如何解决。
详情请咨询!
客服热线:023-66090381