MySQL数据库监控软件lepus使用问题以及解决办法


在使用lepus3.7监控MySQL数据库的时候,碰到了以下几个问题,本博客给出了这些问题产生的原因,以及相应的解决办法。1.问题1:php页面无法连接数据直接使用php程序执行php文件,可以连接mysql,但是在httpd中同样的php页面无法连接mysql。lepus的web程序(PHP代码)无法连接数据库时,web界面上什么操作也无法继续。为此编写了最简单的PDO连接测试代码:php代码如下:php程序直接执行php文件:通过浏览器访问这个页面:FAILED:SQLSTATE[HY000] [2003] Can’t connect to MySQL server on ‘11.1.1.11’ (13)lepus的web程序给出的错误提示信息更加模糊。原因:通过一番baidu之后,终于看到了一个比较靠谱的分析。Linux(CentOS7)的selinux安全机制禁止了httpd中的模块访问网络。解决办法:临时办法:临时禁用SELINUX。[x@coe2coe lepus]$ sudo setenforce 0永久办法:修改selinux配置文件,禁用SELINUX。验证:再次在浏览器中访问这个php页面:result:2018-09-27 00:09:262.问题2:lepus日志中出现group by警告。2018-09-27 01:12:41 [WARNING] check mysql 11.1.1.11:3408 failure: 1055 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘information_schema.processlist.USER’ which is not functionally dependent on columns in GROUP BY clause; this is inc开发云主机域名ompatible with sql_mode=only_full_group_by原因:这是lepus后端监控程序写的log。默认情况下sql_mode包含ONLY_FULL_GROUP_BY。解决办法:去掉ONLY_FULL_GROUP_BY。3.问题3:复制监控查询不到数据。没有查询到数据.解决办法:show_compatibility_56=14.问题4:表空间分析没有数据。5.问题5:慢查询没有数据。前提:MySQL的my.cnf配置文件中已经配置了慢查询日志。原因:1.lepus慢查询分析基于pecona-toolkit工具包中的pt-query-digest程序。需要先安装这个工具包。2.pt-query-digest程序与lepus3.7建的表有点冲突。Pipeline process 5 (iteration) caused an error: DBD::mysql::st execute failed: Data truncated for column ‘checksum’ at row 1 [for Statement “REPLACE INTO `lepus`.`mysql_slow_query_review_history`(`checksum`, `sample`, `serverid_max`, `db_max`, `user_max`, `ts_min`,
…..
Terminating pipeline because process 4 (iteration) caused too many errors.修改mysql_slow_query_review:修改脚本:原始的lepus_slowquery.sh文件存在一些问题。(1)需要人工指定lepus_server_id。这个脚本需要在每个MySQL服务器上部署,因此如果要监控的MySQL很多,会比较容易出错。lepus_server_id这个参数很重要。下面的代码可以自动取得这个id。(2)同一台机器上如果部署有多个MySQL服务实例时,应该只需要一个定时任务即可,在另一脚本中同时对本机的多个MySQL服务实例进行检查。这个总的定时脚本如下,测试时开启了6个MySQL实例,端口依次为:3306 3307 3308 3406 3407 3408.其中3306和3406为MASTER,其它为SLAVE。在这个总的脚本中对每个实例调用lepus_slowquery.sh。(3)原始的lepus_slowquery.sh会去修改MySQL的全局配置参数,个人认为不需要修改,这两个配置还是应该按照MySQL服务器的my.cnf文件中配置的为准,不应该因为部署了一个lepus监控系统就随意的修改这个参数。因此直接注释掉了最后面的几行代码。修改后的完整的lepus_slowquery.sh文件如下:6.问题6:web慢查询查询不到lepus中的数据在mysql_slow_query_review表中记录了慢查询,但是在lepus web界面上没有数据。执行:select sleep(14)有时候无法在web界面查询到。原因:有时候pt-query-digest产生的结果中db_max为NULL,导致查询不出来。这个字段安装的原始数据库是NOT NULL,但是在NOT NULL的情况下pt-query-digest有时会插入NULL数据,导致报错。所以修改为了NULL。修改为NULL后,web界面中查询时使用的PHP程序的SQL语句有问题,没有考虑NULL的情况,导致查询不出来这部分数据。解决办法:临时打开general_log这个全局参数,再做web查询慢日志,就可以很快找到这个SQL语句,再根据这个SQL语句就可以找到有问题的PHP代码。将 application/controllers/lp_mysql.php中的以下语句注释掉即可。修改前:修改后:7.问题7:主机监控中的三项都没有数据。原因:监控主机以及被监控主机上没有安装snmpd,snmptrapd。解决办法:在所有主机上安装snmpd和snmptrapd。软件包:CentOS7-everything-xxx.iso上有这些软件包。安装完毕后启动snmpd和snmptrapd服务。总结以上所述是小编给大家介绍的MySQL数据库监控软件lepus使用问题以及解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开发云网站的支持!

相关推荐: MySQL 中一个双引号的错位引发的血案

来源:For DBAwww.fordba.com/mysql-double-quotation-marks-accident.html最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程。由于开发需要在生产环节中修复数据,需要执行1…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 06/09 17:54
Next 06/09 17:54

相关推荐