摘要:数据库巡检是数据库运维领域最重要的工作,它将长期存在。和数据库运维发展类似,数据库巡检也经历了人肉、脚本化、平台化的发展。01人肉巡检运维工程师手工巡检数据库各项指标。巡检项、巡检结论完全取决于运维工程师的水平,不同工程...
数据库巡检是数据库运维领域最重要的工作,它将长期存在。和数据库运维发展类似,数据库巡检也经历了人肉、脚本化、平台化的发展。
运维工程师手工巡检数据库各项指标。巡检项、巡检结论完全取决于运维工程师的水平,不同工程师巡检同一套数据库,巡检结果可能会大相径庭。而且数据库越多,巡检报告的质量往往越差,运维工程师越不容易发现问题。
人肉巡检的升级版,运维工程师利用现成的脚本手工或者自动巡检数据库各个组件。由于巡检脚本是固定的,因此脚本化巡检能相对全面地巡检数据库,但能否从脚本执行结果中发现问题,仍受限于运维工程师的经验。与人肉巡检类似,数据库数量越多,巡检报告质量越差。
脚本化巡检的升级版。数据库巡检平台内置了巡检脚本及智能专家系统。数据库自动化巡检完成之后,智能专家系统实时评估巡检结果,自动产生巡检报告,完全保证了巡检报告的质量。此外,不同的运维场景有不同的巡检需求,数据库巡检平台应能够自动产生适应不同场景的巡检报告。
人肉巡检、脚本化巡检及平台化巡检三者之间的区别,如下表所示:
平台化巡检已成为时下主流的数据库巡检方式,越来越多的数据库巡检平台上市。
随着业务系统的发展,对数据库的运行效率和性能提出了更高的要求,选择数据库巡检平台需要从全面性、多样性、时效性多角度考虑:
首先,数据库巡检须全面,巡检报告要能够全面、准确地反映数据库健康状态。数据库巡检并不是简单地收集、分析数据库当下运行指标,它还需要反映历史变化规律(数据库运行节奏),甚至能够预测未来发展趋势。
- 数据库环境,如操作系统资源、操作系统配置、数据库软件版本等。
- 数据库配置,如数据库参数配置、redo日志配置等。
- 数据库资源,主要分为空间资源(如表空间、归档空间、闪回空间、备份空间)、内存资源、进程资源等。
- 数据库对象,如大表、大索引、无效对象是否合理等。
- 数据库安全,如是否存在超级权限、弱口令用户等。
- 数据库性能,主要分析数据库性能的变化趋势及发展规律等。
- 数据库灾备,主要分析数据库灾备是否运行正常。
以美创数据库运维工具箱为例,运维人员一键操作全面巡检功能,自动巡检上述指标后,内置的专家系统有针对性地给出建议。如下图所示:
每套数据库都有其特定的运行规律,为了避免局限性,数据库巡检不能只是检查瞬时指标,还需要考虑其历史运行规律,进而判断各项指标、系统运行节奏是否合理。如:从数据库redo日志时分趋势图中可以看出数据库早上9点到10点明显存在运行高峰:
从数据库对象变化趋势图中还能明确知道对象的变化趋势,如2019年1月28日,某客户的数据库创建了大量对象:
其次,数据库巡检需体现多样性。不同时期、不同场景下的数据库巡检需侧重收集、分析不同的指标,进而自动产生适用于不同场景的巡检报告,给出针对性的建议。
1)全面巡检,系统巡检数据库各项组件。通过全面巡检可以清楚地知道数据库健康状态、运行节奏、配置情况等信息,自动生成的全面巡检报告。如下图所示:
2)上班巡检,侧重巡检数据库各项组件是否处于健康状态,各项资源是否足够满足一天的业务需求。通过雷达图(健康指标和风险指标)结合红、黄、绿版块直观展示巡检概况,如下图所示:
3)下班巡检,侧重查看工作一天以来各项资源的使用是否合理。下班巡检在上班巡检的基础上总结了各项资源的使用情况,并确保主机、数据库资源等在下班后的“无人模式”下,能够支撑业务的正常运转。如下图所示:
数据库巡检工作不是单次操作,需要有计划的自动开展,以及时发现问题,减轻运维人员工作量。在巡检平台中需实现自动计划功能,定期为数据库进行巡检。某数据库在美创数据库巡检平台的自动巡检记录如下图所示:
最后,数据库巡检还需具备时效性。由于数据库时刻处在变化中,为了及时发现问题,所以一般要求当天出具巡检报告,或者更短的时间。工程师根据报告评估是否采纳建议,确保数据库高效、稳定运行。利用美创数据库运维工具箱,只需5-10分钟(人工输出至少要2-3小时),就生成了系统化的巡检报告,大大节约了运维人员的人力时间成本。
数据库巡检门道很多,优秀的数据库巡检平台必须依托于专业技术储备和丰富的经验积累。选择优秀的数据库巡检平台的同时,也要考量背后的专家储备哦。美创数据库运维工具箱,让你随时拥有美创高级DBA的巡检技能,不妨前来试用。