mysql怎么监控故障,mysql死锁监控

如何监控MySQL

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

创新互联建站专注于高坪网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供高坪营销型网站建设,高坪网站制作、高坪网页设计、高坪网站官网定制、微信小程序开发服务,打造高坪网络公司原创品牌,更为您提供高坪网站排名全网营销落地服务。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

function:

∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

∘ 也可以设置为 processlist,代表监控 show processlist 的输出;

variable:

∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

threshold:

∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

cycles:

∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

连接参数:host、password、port、socket。

其他一些重要参数:

iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

retention-time :监控数据保留时长,默认 30 天。

daemonize:以后台服务运行,默认不开启。

log:后台运行日志,默认为 /var/log/pt-stalk.log。

collect:触发发生时收集诊断数据,默认开启。

∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

∘ collect-strace:收集跟踪数据,需要 strace 工具。

∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。

如何有效的监控单点,集群的mysql

Mysql作为使用非常广泛的数据库,确实给我们带来了很多帮助,就像任何软件系统一样,一旦正式投入生产环境,那监控手段就不可或缺。如何有效的监控Mysql的运行情况,尤其是在复杂IT环境下就更显得迫切了,如Mysql集群部署; 1、单点Mysql的监控 到底一个Mysql服务我们应该监控哪些指标呢?每个人可能都有不同的见解,但下面这些指标是基本的: 当前已打开连接数:表示当前打开的数据库连接; 启动以来同时处理的最大连接数:表示自从数据库启动来同时处理的最大连接请求,这个值对于提供数据库的处理能力比较重要,下面是两个优化的量化经验: 假设数值tmpPercent =启动以来同时处理的最大连接数/ 设置的最大连接数 l 如果tmpPercent = 0.1,则mySQL服务器最大连接数设置的过高了 l 如果tmpPercent 90,则mySQL服务器最大连接数设置的过低了 锁等待率:如果该值 0.02,则mySQL服务器需要等待的表锁数有点多了, 如果当前数据库表类型是MyISAM请最好换成InnoDB类型; 表扫描率:如果该值 4000,则mySQL进行了太多表扫描, 很有可能是索引没建好, 增加read_buffer_size值会有一些好处, 但最好不要超过8MB; 北京运维技术出品的EOMP作为一个IT监控平台,提供了很多实用功能来帮助用户有效的运维各种IT资源,下面我们就如何通过EOMP对mysqlt进行有效监控做一个详细介绍: EOMP里mysql的详细监控界面如下: 上图中做标记的4个地方,都是EOMP反映给用户的重要监控信息。同时EOMP还可以监控Mysql中的数据库表信息,如下图: 通过对这些关键指标进行阀值、故障通知等设置,就可以在严重问题出现前有效的进行处理。EOMP阀值的设置很简单,在图中任何一个做标记*的监控指标处或是文本框没有灰掉的地方,点击鼠标右键弹出菜单,进行相关设置,如我们想对‘正在使用的连接数’这个指标进行如下设置:在上午8:00-下午7:00间,任意5分钟内,该指标至少有3次超过100,就发出问题级别的告警,并通过Email、手机短信等方式通知相关人员;下面是具体阀值和故障通知设置截图: 并且如果‘正在使用的连接数’确实发生了故障,我们可以通过刚才弹出菜单中的‘历史数据查询’功能,对这个监控指标的所有历史数据进行故障分析,下图是一次查询结果: 2、集群Mysql的监控 对于复杂的集群Mysql,就应该把它们通过某种方式放到一起来共同运维和监控,EOMP提供的‘视图’功能,就能很好完成这个任务,下图是EOMP一个简单Mysql集群的‘监控视图’: 上图中,我们把集群的两个Mysql服务放到一张视图里,同时把它们的一些关键监控指标也放到这张视图里,如响应时间、正在工作线程数等,通过这样一张视图,用户可以把所有反映这个Mysql集群健康情况的监控信息都放到一起,这在很大程度上方便用户的监控。 EOMP是以‘视图’为其设计核心,所以它的视图配置非常灵活,既可以是整个一个Mysql服务,也可以是某个Mysql服务的一个监控指标。越是复杂的监控要求,越是能体现出这种内在设计的灵活性。 ‘视图’不仅仅是个展现的窗口,它是个监控实体,如下图EOMP的首页所示,任何故障信息都是以‘视图’为载体的,这样用户在任何时候都可以看到自己能理解的监控信息,而不是什么什么设备或服务等。

如何检测MySQL数据库表的故障

本文将讲述。 表的故障检测和修正的一般过程如下: ◆ 检查出错的表。如果该表检查通过,则完成任务,否则必须修复出错的数据库表。 ◆ 在开始修复之前对表文件进行拷贝,以保证数据的安全。 ◆ 开始修复数据库表。 ◆ 如果修复失败,从数据库的备份或更新日志中恢复数据。 在使用myisamchk或isamchk检查或修复表之前,应该首先注意: ◆ 建立数据库备份和使用更新日志,以防修复失败,丢失数据。 ◆ 仔细阅读本章内容以后再进行操作,尤其是不应该在阅读“避免与MySQL服务器交互作用”之前进行操作。因为,在你没有足够的知识之前贸然操作,可能会引起严重的后果。 ◆ 如果你在Unix平台上对表进行维护时,应该首先注册到专用的帐户 mysql,以避免对表读写访问产生所有权的问题,以及破坏数据库目录的所有权限。 数据库表的维护工具 MySQL的myisanchk和isamchk实用程序很类似,基本上它们具有同样的使用方法。它们之间的主要区别时所使用的表的类型。为了检查 /修复MyISAM表(.MYI和.MYD),你应该使用myisamchk实用程序。为了检查/修复ISAM表(.ISM和.ISD),你应该使用 isamchk实用程序。 ◆ 为了使用任一个使用程序,应指明你要检查或修复的表,myisamchk和isamchk的使用方法为: shellmyisamchk options tbl_nameshellisamchk options tbl_name 如果你愿意,你可以在命令行命名几个表。 ◆ 你也能指定一个名字作为一个索引文件(用“ .MYI”或“.ISM”后缀),它允许你通过使用模式“*.MYI”或“.ISM”指定在一个目录所有的表。例如,如果你在一个数据库目录,你可以这样在目录下检查所有的表: shell myisamchk *.MYIshellisamchk *.ISM ◆ 如果你不在数据库目录下,你可指定目录的路径: shell myisamchk options /path/to/database_dir/*.MYIshell isamchk options /path/to/database_dir/*.ISM ◆ 你甚至可以通过为MySQL数据目录的路径指定一个通配符来作用于所有的数据库中的所有表: shell myisamchk options /path/to/datadir/*/*.MYIshell isamchk options /path/to/database_dir/*/*.ISM 这个方法无法在windows平台下使用。 注意 不论是myisamchk还是isamchk都不对表所在的位置做任何判断,因此,应该或者在包含表文件的目录运行程序,或者指定表的路径名。这允许你将表文件拷贝到另一个目录中并用该拷贝进行操作。 检查数据库表 myisamchk和isamchk提供了表的检查方法,这些方法在彻底检查表的程度方面有差异。 标准的方法检查表 通常用标准的方法就足够了。对表使用标准的方法进行检查,不使用任何选项直接调用即可,或用-s或--silent选项的任何一个: myisamchk tbl_nameisamchk tbl_name 这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。 完全彻底的数据检查 为了执行扩充检查,使用--extend-check或-e选项,这个选项检查数据: myisamchk -e tbl_nameisamchk -e tbl_name 它做一个完全彻底的数据检查(-e意思是“扩展检查”)。它对每一行做每个键的读检查以证实他们确实指向正确的行。这在一个有很多键的大表上可能花很长时间。myisamchk通常将在它发现第一个错误以后停止。如果你想要获得更多的信息,你能增加--verbose(-v)选项。这使得 myisamchk或isamchk继续一直到最多20个错误。在一般使用中,一个简单的标准检查(没有除表名以外的参数)就足够了。 中等程度的检查 指定选项--medium-check或-m myisamchk -m tbl_name 中等程度的检查不如扩展检查彻底,但速度快一些。其意义不大,较少使用。 如果对于--extend-check检查不报告错误,则可以肯定表是完好的。如果你仍然感觉表有问题,那原因肯定在其它地方。应重新检查人和好像有问题的查询以验证查询是正确书写的。

分享题目:mysql怎么监控故障,mysql死锁监控
浏览路径:https://www.cdcxhl.com/article42/dsieihc.html

成都网站建设公司_创新互联,为您提供网站内链电子商务手机网站建设静态网站标签优化品牌网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设