暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

单机架构下,崖山数据库运维工具的使用

原创 xxxx 2024-04-01
502

背景

每个数据库在投产后,运维人员有监控、巡检等运维工具需求。 数据库"赛道"上,可谓是八仙过海、各显神通,每家数据库有个性化的运维工具,比如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

慢日志功能的使用

  1. 开启主备库慢日志功能 (如下图4.1)
  2. 分析slow.log的慢SQL(如下图4.2)

图4.1 开启慢日志功能

图4.2 slow.log日志内容解析

五、黑匣子功能时刻守卫数据库

崖山数据库黑匣子功能类比飞机的黑匣子,它能够记录数据库灾难发生前一刻的日志信息,这种黑匣子的日志信息可以辅助原厂工程师可以快速定位问题。

如下图,数据库的自动诊断存储库由$YASDB_DATA目录下的hm、metadata、blackbox、trace四个目录构成。

图 5.1 数据库自动诊断功能目录

六、SQL录制功能,定位应用问题利器

SQL录制功能又叫做SQL审计功能。SQL录制可以解决抓取业务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报告
  • 慢日志

灵活配置收集策略

  • 支持自定义时间周期,绝对灵活的时间周期选择
  • 支持自定义收集模块,三大模块均可灵活搭配选择
  • 自定义吗路径数据收集,目录或文件均可批量选择

功能展示

  1. 执行收集命令 ./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。

最后修改时间:2024-04-09 14:30:19
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论