背景
每个数据库在投产后,运维人员有监控、巡检等运维工具需求。 数据库"赛道"上,可谓是八仙过海、各显神通,每家数据库有个性化的运维工具,比如MySQL数据库慢日志、profing功能、Oracle数据库的AWR性能报告、黑匣子报告、autotrace等功能。
接下来一起来看看崖山数据库有哪些好用的运维工具!
数据库诊断工具
一、YCM云管平台时刻监控数据库
YashanDB Cloud Manager(以下简称YCM)是由深圳计算科学研究院研发的一款针对YashanDB、面向企业级数据库的一站式运维监控管理平台。该产品基于Web端,将积累的一线运维服务经验与解决方案代码化、平台化,为企业提供多类型混合数据库的统一管理服务,其范畴覆盖数据库从实施部署到运维运营的全生命周期。 YCM支持运行在x86_64或ARM平台的Linux操作系统上。核心使用场景:包括实例纳管、资源、性能、容量、配置等管理服务,日常监控巡检、故障分析的智能服务,以及备份恢复、高可用等稳定性和安全方面的服务。通过化被动为主动的运维模式,有效地提升数据库运维水平。
核心功能
监控告警
定期巡检
备份恢复
大屏展示
诊断优化
数据库安装部署
功能展示
图1.1 ycm机器负载监控(部分)
图1.1 巡检功能
图1.2 巡检结果
图1.3 邮件告警
图1.4 邮件告警信息
YCM托管机器或者数据库触发告警阈值时,告警信息会自动投递给联系人。截至目前,云管平台已支持邮箱、短信投递渠道推送消息。
二、数据库的Prometheus+Grafana+Alertmanger监控方案,辅助观测运行数据库的指标
崖山数据库针对开源的监控软件编写特定的脚本,Prometheus可以监控崖山数据库及服务器的运行状态,并且通过Grafana 形象展示Yashandb 实时监控状态。 AlertManager可以将数据库的告警日志实时推送给用户。
核心功能
- 监控告警
功能展示
图2.1 grafana监控指标(部分)
图2.2 系统服务器监控指标(部分)
三、yasboot 时刻守卫数据库运行
yasboot启动monit监控进程,实时守护yasdb进程。当数据库因为OOM等原因异常退出时,monitor进程可以将数据库自动拉起,尽快恢复业务(减少RTO)。
核心功能
- 自动拉起数据库
功能展示
如下图,手动杀死yasdb进程后,monit会自动拉起yasdb进程
图2.2 数据库自动拉起功能演示
四、数据库慢日志功能,辅助DBA抓取慢SQL
崖山数据库的慢日志功能,可以支持实时监控数据库的慢SQL信息。当用户反馈应用程序响应慢时,数据库工程师可以通过慢日志文件快速定位性能差的SQL,展开性能调优的工作。崖山数据库支持记录主、备库的慢SQL记录,用户为了减轻主库的负载,应用端做读写分离,此时备库存在比较多的读请求。
核心功能
- 抓取应用下发的慢SQL
慢日志功能的使用
- 开启主备库慢日志功能 (如下图4.1)
- 分析slow.log的慢SQL(如下图4.2)
图4.1 开启慢日志功能
图4.2 slow.log日志内容解析
五、黑匣子功能时刻守卫数据库
崖山数据库黑匣子功能类比飞机的黑匣子,它能够记录数据库灾难发生前一刻的日志信息,这种黑匣子的日志信息可以辅助原厂工程师可以快速定位问题。
如下图,数据库的自动诊断存储库由$YASDB_DATA目录下的hm、metadata、blackbox、trace四个目录构成。
图 5.1 数据库自动诊断功能目录
六、SQL录制功能,定位应用问题利器
核心功能
- 抓取应用报错SQL
功能展示
SQL录制功能定位问题有模板化的套路,具体如下
- 开启SQL录制功能
- 根据应用报错信息的错误码,在数据库运行日志(run.log)问题SQL。
- 单独分析问题SQL直至问题完全解决
示例:
1. 开启SQL录制功能
Alter system set AUDIT_SYS_OPERATIONS = TRUE;
2. 模拟应用下发问题SQL
3. 数据库运行日志里面捕捉到问题SQL
七、AWR 性能报告,使用性能指标表征数据库负载情况
AWR性能报告是所有oracle数据库用户都熟悉的工具,它可以协助运维人员分析某段时间业务SQL使用资源占比情况。性能报告使用标准的性能量化指标,使得更细维度地观测数据库负载情况成为可能。
如图简单展示AWR报告的部份内容。在崖山数据库生成AWR性能报告是非常简单的事情--崖山的YCM平台提供一键生成某段时间点的报告。
核心功能
- 收集数据库性能报告
功能展示
图7.1 AWR报告的生成
图7.2 AWR SQL statistic 截图
图7.3 AWR 前10的等待事件
图7.4 数据库繁忙情况记录
八、YTC一键问题诊断利器
YTC(崖山一键收集工具),是一款针对崖山数据库信息与日志收集的工具
核心功能
基础信息的收集
- 崖山数据库基础信息(版本号/commit号等)
- 所在服务器的基本信息(操作系统/硬件配置/防火墙等)
- 所在服务器的负载情况(网络流量/CPU占用/IO负载/内存/磁盘容量等)
故障信息的收集
- 数据库状态及进程检查
- ADR日志
- coredump文件
- 数据库日志(run.log/alert.log等)
- 操作系统日志(Dmesg/message_log等)
性能数据收集
- AWR报告
- 慢日志
灵活配置收集策略
- 支持自定义时间周期,绝对灵活的时间周期选择
- 支持自定义收集模块,三大模块均可灵活搭配选择
- 自定义吗路径数据收集,目录或文件均可批量选择
功能展示
- 执行收集命令 ./ytcctl collect
2. 开始收集日志,收集完毕后会存储在默认目录
3. 诊断报告概况
九、YHC数据库巡检利器
YHC(崖山深度健康检查工具),是一款针对崖山数据库的深度检查工具,旨在提供更为专业的数据库检查报告及建议,为客户提供投产数据库全面的健康状态信息。
核心功能
服务器信息检查
- 服务器的基本信息(操作系统、硬件配置、防火墙等)
- 服务器的负载情况(网络流量、CPU占用、I/O负载、内存、磁盘容量等)
- 服务器的系统日志
数据库信息检查
- 数据库的基本信息(版本、实例信息、主备信息等)
- 数据库的文件检查(数据文件、控制文件、备份文件等)
- 数据库的对象检查(表空间、表、索引、约束、序列等)
- 数据库的负载检查(会话、事务、等待事件、锁等待、缓存池命中率等)
- 数据库日志收集(alert.log、run.log、redo日志等)
检查结果告警与建议
- 支持自定义指标告警表达式
- 灵活可配的阈值、告警级别以及告警建议
丰富可拓展的检查指标
- 提供了丰富的默认指标
- 支持自定义检查指标(bash、sql)
灵活可配的检查策略
- 支持自定义时间周期,绝对灵活的时间周期选择
- 支持自定义路径数据检查,目录或文件均可批量选择
功能展示
9.1 yhc性能分析功能
图 9.2 yhc健康检查得分详情
yhc的健康检查项目比较全面的展示当前数据库运行健康度,对于存在风险项目在报告里面明确的点出。运维人员查看yhc的健康检查报告,可以及时发现安全隐患,及时纠正存在安全隐患的漏洞。yhc的健康检查项目还在不断的添加,用户将遇到的运维工具需求源源不断地反馈给yhc产品,不断优化yhc的产品使用体验。
文末总结
这篇文章通过生动的示例,带领同学们比较全面认识Yashandb丰富的运维工具生态。一款高性能、好用的数据库离不开每个用户的正向反馈,我们崖山团队也时刻倾听市场声音,不断输出好用的工具优化产品使用体验。我们迫切希望每一个用户能够实际使用yashandb数据库,享受高性能国产数据库的红利。我们积极拥抱数据库社区,推出多样化的纸制、视频教程材料,让新手们快速成长为一位yashandb master。