[发明专利]MySQL数据库监控脚本的实现方法及系统在审
| 申请号: | 202010131496.1 | 申请日: | 2020-02-28 |
| 公开(公告)号: | CN111459905A | 公开(公告)日: | 2020-07-28 |
| 发明(设计)人: | 金家芳;李宁;许爱琪 | 申请(专利权)人: | 上海维信荟智金融科技有限公司 |
| 主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/242;G06F16/28;G06F11/30;G06F8/30;G06F8/76 |
| 代理公司: | 上海知义律师事务所 31304 | 代理人: | 杨楠 |
| 地址: | 200085 上海市虹*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | mysql 数据库 监控 脚本 实现 方法 系统 | ||
1.一种MySQL数据库监控脚本的实现方法,其特征在于,包括如下步骤:
S1用于编写Python监控脚本的步骤;
S2用于上传所述Python监控脚本,并进行配置的步骤;
S3用于修改所述Python监控脚本的执行权限的步骤;
S4用于执行所述述Python监控脚本的步骤;
S5用于查看上述Python监控脚本的运行结果,并将其执行结果进行保存或下载的步骤。
2.如权利要求1所述的MySQL数据库监控脚本的实现方法,其特征在于,所述S1用于编写Python监控脚本的步骤包括:
S100用于加载脚本中用到的Python监控脚本,并判断是否加载成功,如是,执行步骤S101;否则执行步骤S110;
S101用于调用采集脚本的步骤;
S102用于读取my.cnf文件中数据配置信息,包括MySQL的端口号、安装目录、数据目录、套接字文件以及最大连接数,并判断是否读取成功,如是,执行步骤S103;否则执行步骤S123;
S103用于获取全局状态变量,系统变量,复制状态变量,从库对应主库状态变量值的步骤;
S104用于依次获取Key_buffer_read_hits读取命中率、Key_buffer_write_hits写入命中率、Key_buffer_used_pct重复使用率、Innodb_buffer_pool_hits命中率、Qcache_hits查询缓存命中率、Open_tables_pct打开表的百分率、Opened_tables打开表数、Thread_cache_hits命中率、QPS、TPS、Innodb_row_lock_current_waits行锁数、Innodb_row_lock_time_avg平均等待时间、Slow_queries慢查询量、Threads_connected应用连接数、Com_select次数、Com_update次数、Com_delete次数以及Com_insert次数进行查询的步骤;
S105用于获取上一次KEY_READS、读请求数的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算Key_buffer_read_hits的值,公式是的步骤;
S106用于获取上一次KEY_WRITES、写请求数的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算Key_buffer_write_hits的值,公式是的步骤;
S107用于计算Key_buffer_used_pct的值,公式是
的步骤;
S108用于计算Innodb_buffer_pool_hits的值,公式是
的步骤;
S109用于计算Qcache_hits的值,公式是的步骤;
S110用于计算Open_tables_pct的值,公式是的步骤;
S111用于计算Opened_tables的值,公式是的步骤;
S112用于获取上一次数据库的连接数、线程创建数的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算Thread_cache_hits的值,公式是的步骤;
S113用于获取上一次数据库的查询数的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算QPS的值,公式是的步骤;
S114用于获取上一次数据库的提交数、回滚数的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算TPS的值,公式是的步骤;
S115用于获取上一次数据库执行多少次select语句的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算Com_select的值,公式是的步骤;
S116用于获取上一次数据库执行多少次update语句的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算Com_update的值,公式是的步骤;
S117用于获取上一次数据库执行多少次delete语句的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算Com_delete的值,公式是的步骤;
S118用于获取上一次数据库执行多少次insert语句的状态值,如上一次状态数值文件不存在,缺省将上一次的状态数值都置为0,计算Com_insert的值,公式是的步骤;
S119用于将上述计算变量数值并插入mydb的db_status表的步骤;
S120用于进行MySQL数据库中的长查询,查询当前数据执行时间超过设定时间的会话,并将结果保存到slow_query_sql变量的步骤;
S121用于将S105至S120计算结果以json格式输出到文本文件的步骤;
S122用于将全局状态变量值写入上一次db状态数值文件的步骤;
S123用于结束Python监控脚本的编写的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海维信荟智金融科技有限公司,未经上海维信荟智金融科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010131496.1/1.html,转载请声明来源钻瓜专利网。





