论文部分内容阅读
1引言
随着信息科技的迅猛发展,开源数据库软件在银行业逐渐普及,开源数据库和Oracle与SQL Server数据库等数据库一样被广泛使用。为确保开源数据库稳定运行,对开源数据库Mysql的状态监控、性能评估、性能趋势分析和异常告警变得非常重要。本文结合数据库各种监控指标,并与多种开源数据库监控软件进行对比,同时根据工作需要,建设Mysql数据库开源监控系统,实现对Mysql数据库服务器系统,包括CPU、内存和磁盘等基础性能的监控、告警;实现对Mysql各种常见性能指标的监控和趋势分析,实现对Mysql运行当前和历史sql语句分析。
2研究背景
我行提出打造一流数字生态银行战略,积极推行开源思路,生产环境中逐步安装部署了25套Mysql社区版的Mysql数据库。目前对Mysql数据库监控仅有主机和Mysql服务状态的OVO监控,缺少对Mysql数据库的参数、库表、Mysql请求、连接、会话和SQL语句等监控。考虑在数据库集中管理系统中引进开源的Mysql监控工具对生产环境中Mysql数据库进行专业监控。
3PMM系统建设的目标和范围
3.1项目目标
引入开源PMM(Percona Monitoring and Management)软件对生产环境Mysql及MongoDB进行监控,提升对Mysql数据库的监控水平,便于日常监控和排错,提升Mysql管理水平。
3.2项目范围
根据本次项目的实施目标,在办公和业务环境各部署1台CENTOS 7服务器搭建基于Docker的PMM软件分别监控办公和业务环境中的Mysql数据库服务。
4功能性需求
4.1Mysql服务器性能监控
在分析Mysql性能时需要了解服务器CPU、内存、网络和磁盘IO等信息,在分析数据库大小增长趋势时需要了解服务器分区信息。在Mysql监控工具中需要集成对操作系统的CPU、内存、磁盘IO和网络等监控。
4.2Mysql参数监控
在生产环境中部署的Mysql有些是按照标准步骤安装部署,有些是应用产品自带的配置,为了了解Mysql运行情况需要知道Mysql配置和性能相关的参数。
4.3Mysql库表监控
通过Mysql监控平台能查询到被监控Mysql服务器上数据库和数據库中表信息,包括名称、大小以及库和表的增长情况。
4.4Mysql历史执行语句记录及分析
在生产问题排错过程中很多问题可能是短时存在的,登录Mysql服务器排查问题时如果问题未重现,很难对问题进行定位。需要Mysql监控软件对数据库执行语句进行实时监控,记录消耗CPU和内存等资源及造成阻塞的sql语句,对sql语句的执行计划进行分析,了解语句执行过程中使用的索引。便于对已经出现过问题进行定位。
4.5Mysql相关告警
在Mysql监控软件中希望能通过邮件或其他方式将超过阀值或基线的信息告警通知管理员,让管理员能及时了解服务器中信息。
4.6Mysql语句执行计划分析
Mysql自带的sql语句分析需要登录系统抓取数据后才可分析,而我们希望Mysql监控软件能通过更简单的方式,通过Web或客户端的方式对已经执行过的sql语句进行分析,了解语句执行步骤、调用索引和语句执行时间等,了解语句是否可以进行优化提升sql性能。
4.7Mysql高可用性监控
目前Mysql通过HA或通过复制技术实现高可用性,监控软件需要对Mysql的可用性及高可用性进行监控。能检测Mysql多主复制、主从复制和多从复制等复制状态,对复制队列、复制延时等内容进行监控,在超过阀值时可以发出告警。
5PMM系统建设的技术实现
Mysql数据库开源监控软件PMM系统建设内容:服务器硬件平台、系统软件、基于开源软件的应用开发、网络系统、存储系统、灾备与恢复系统、运维监控、开发测试环境和信息跨网发布等。
目前Mysql监控软件种类比较多,有些是偏向安装、配置管理,有些是偏向监控、告警。PMM是Mysql监控告警类软件中功能较全,拥有大量(150 000+)使用用户,是安全、稳定且使用简单的开源产品,且无额外费用。目前同业中已有使用PMM作为Mysql监控工具,也部分同业对Mysql的监控尚在摸索之中。目前生产环境中Mysql数据库使用越来越多,而对Mysql的监控不足已影响到日常Mysql的高效运维。如引进其他收费的监控产品,引进产品周期较长;而若引入PMM开源软件,无相应采购等环节,能较快实现生产环境Mysql监控部署,快速解决监控缺位问题,同时也满足行内优先考虑开源软件的指导思想。
6结束语
通过项目实施,对目前生产中的80台服务器和156个Mysql数据库实例实施了监控,配置了相关Mysql功能和性能指标告警,在生产出现异常时,PMM软件通过邮件将异常信息通知管理员,管理员通过PMM监控软件查看近期Mysql服务器性能指标和Mysql语句分析来成功定位问题原因。引入PMM开源软件对运维人员定位生产数据库异常、监控Mysql提供了方法,提高了运维效率。
随着信息科技的迅猛发展,开源数据库软件在银行业逐渐普及,开源数据库和Oracle与SQL Server数据库等数据库一样被广泛使用。为确保开源数据库稳定运行,对开源数据库Mysql的状态监控、性能评估、性能趋势分析和异常告警变得非常重要。本文结合数据库各种监控指标,并与多种开源数据库监控软件进行对比,同时根据工作需要,建设Mysql数据库开源监控系统,实现对Mysql数据库服务器系统,包括CPU、内存和磁盘等基础性能的监控、告警;实现对Mysql各种常见性能指标的监控和趋势分析,实现对Mysql运行当前和历史sql语句分析。
2研究背景
我行提出打造一流数字生态银行战略,积极推行开源思路,生产环境中逐步安装部署了25套Mysql社区版的Mysql数据库。目前对Mysql数据库监控仅有主机和Mysql服务状态的OVO监控,缺少对Mysql数据库的参数、库表、Mysql请求、连接、会话和SQL语句等监控。考虑在数据库集中管理系统中引进开源的Mysql监控工具对生产环境中Mysql数据库进行专业监控。
3PMM系统建设的目标和范围
3.1项目目标
引入开源PMM(Percona Monitoring and Management)软件对生产环境Mysql及MongoDB进行监控,提升对Mysql数据库的监控水平,便于日常监控和排错,提升Mysql管理水平。
3.2项目范围
根据本次项目的实施目标,在办公和业务环境各部署1台CENTOS 7服务器搭建基于Docker的PMM软件分别监控办公和业务环境中的Mysql数据库服务。
4功能性需求
4.1Mysql服务器性能监控
在分析Mysql性能时需要了解服务器CPU、内存、网络和磁盘IO等信息,在分析数据库大小增长趋势时需要了解服务器分区信息。在Mysql监控工具中需要集成对操作系统的CPU、内存、磁盘IO和网络等监控。
4.2Mysql参数监控
在生产环境中部署的Mysql有些是按照标准步骤安装部署,有些是应用产品自带的配置,为了了解Mysql运行情况需要知道Mysql配置和性能相关的参数。
4.3Mysql库表监控
通过Mysql监控平台能查询到被监控Mysql服务器上数据库和数據库中表信息,包括名称、大小以及库和表的增长情况。
4.4Mysql历史执行语句记录及分析
在生产问题排错过程中很多问题可能是短时存在的,登录Mysql服务器排查问题时如果问题未重现,很难对问题进行定位。需要Mysql监控软件对数据库执行语句进行实时监控,记录消耗CPU和内存等资源及造成阻塞的sql语句,对sql语句的执行计划进行分析,了解语句执行过程中使用的索引。便于对已经出现过问题进行定位。
4.5Mysql相关告警
在Mysql监控软件中希望能通过邮件或其他方式将超过阀值或基线的信息告警通知管理员,让管理员能及时了解服务器中信息。
4.6Mysql语句执行计划分析
Mysql自带的sql语句分析需要登录系统抓取数据后才可分析,而我们希望Mysql监控软件能通过更简单的方式,通过Web或客户端的方式对已经执行过的sql语句进行分析,了解语句执行步骤、调用索引和语句执行时间等,了解语句是否可以进行优化提升sql性能。
4.7Mysql高可用性监控
目前Mysql通过HA或通过复制技术实现高可用性,监控软件需要对Mysql的可用性及高可用性进行监控。能检测Mysql多主复制、主从复制和多从复制等复制状态,对复制队列、复制延时等内容进行监控,在超过阀值时可以发出告警。
5PMM系统建设的技术实现
Mysql数据库开源监控软件PMM系统建设内容:服务器硬件平台、系统软件、基于开源软件的应用开发、网络系统、存储系统、灾备与恢复系统、运维监控、开发测试环境和信息跨网发布等。
目前Mysql监控软件种类比较多,有些是偏向安装、配置管理,有些是偏向监控、告警。PMM是Mysql监控告警类软件中功能较全,拥有大量(150 000+)使用用户,是安全、稳定且使用简单的开源产品,且无额外费用。目前同业中已有使用PMM作为Mysql监控工具,也部分同业对Mysql的监控尚在摸索之中。目前生产环境中Mysql数据库使用越来越多,而对Mysql的监控不足已影响到日常Mysql的高效运维。如引进其他收费的监控产品,引进产品周期较长;而若引入PMM开源软件,无相应采购等环节,能较快实现生产环境Mysql监控部署,快速解决监控缺位问题,同时也满足行内优先考虑开源软件的指导思想。
6结束语
通过项目实施,对目前生产中的80台服务器和156个Mysql数据库实例实施了监控,配置了相关Mysql功能和性能指标告警,在生产出现异常时,PMM软件通过邮件将异常信息通知管理员,管理员通过PMM监控软件查看近期Mysql服务器性能指标和Mysql语句分析来成功定位问题原因。引入PMM开源软件对运维人员定位生产数据库异常、监控Mysql提供了方法,提高了运维效率。