设为首页 收藏本站
查看: 1682|回复: 0

[经验分享] 使用Cacti监控MySQL 端口不是3306

[复制链接]

尚未签到

发表于 2015-11-22 14:06:38 | 显示全部楼层 |阅读模式


本文将概述一些自己在使用中的问题(并不会给出step by step的使用介绍),以供参考,详细信息请留言或。
既然别人的轮子已经很好用了,我自己就不发明了。使用Cacti可以较为快速搭建一个MySQL性能监控平台:


Cacti是一个用于监控网络流量、主机负载的工具,并可以将这些采集到的数值信息转换为图形展示。Cacti使用RRDtool实现数据存储和绘图,可以方便、美观的实现数据图形化。通过给Cacti增加MySQL的监控模板,就能够实现对MySQL相关参数的监控和图形展示。
关于Cacti配合MySQL模板的安装和使用可以参考文章:

  • Cacti Manual 0.8.7
  • mysql-cacti-templates
  • CentOs下Cacti和Rrdtool安装配置
  • 给Cacti安装mysql服务监控插件
  • Cacti FAQ
  • 非官方的FAQ


一、安装中的问题
Cacti的安装是一个复杂的工程,需要安装PHP(需要某些模块)、httpd、RRDtool等。
1.php缺少某些模块
如果你用的是默认安装php,你可能甚至连mysql模块都没有,这时候,你需要给你php安装上一些需要的模块。例如:mysql,curl等。
2.RRDtool版本
Cacti使用RRDtool存储数据、绘制图形。这里需要注意的是,在安装好RRDtool后,必需要到Cacti的后台,填写RRDtool的相关配置,例如安装路径、版本等。
二、使用中的问题
1.数据接近0的时候,显示奇怪的数据
如下图,在数据接近于0的时候我们会看到数据显示的是100m:


事实上,这里的单位 m 表示微,即需要除以1000。100m表示0.1。
Cacti中使用如下单位:M(兆)、K(千)、m(微)。
2.日志中的奇怪错误
在Cacti运行一段时间后,我在Cacti的log中看到如下错误:CMDPHP: Poller[0] Host[16] DS[25] WARNING: Result from CMD not valid. Partial Result: U…… 貌似这是一个bug。将Poller Type改为spine可以避免这个问题。
3.采集到异常数据
Cacti有时会采集到一些异常的数据,例如,采集到一些非常大(比正常数据大100倍)。这时候,绘制图形的时候,会看到纵坐标的比例会被这些数据拉大到K甚至M,以至于正常数据已经无法观察了。
导致这种异常数据的原因有很多,这里给出两个剔除这些异常的办法

  • 先用rrdtool dump出RRA文件中的数据,删除异常数据,然后使用rrdtool restore数据
  • 修改Cacti模板中的Data Source模板,设置一个合理的最大值(Maximum Value)


4.采集使用的MySQL用户需要什么权限
因为需要执行SHOW /*!50002 GLOBAL */ STATUS、SHOW SLAVE STATUS、SHOW /*!50000 ENGINE*/ INNODB STATUS等权限,所以一般需要如下权限设置:

         GRANT PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'cacti'@'%'

需要注意的是,不需要ALL PRIVILEGES。
三、一些改进
1.修改采集、展示数据的步长(interval)
默认下,Cacti是每隔五分钟采集一次数据,并存放到rra文件中,现在希望修改为每隔一份采集、展示相关数据。我们需要做如下修改:

  • 选择console=>Settings=>Poller,把其中的Poller Interval和Cron Interval改为Every Minute。
  • 修改crontab中的采集脚本为*/1 * * * * php /www/cacti/poller.php > /dev/null 2>&1
  • 最后,你还需要修改Data Template中的step值,将其修改为60


2.批量增加Device
如果待监控的主机数量很多的时候,一台台添加Device是很痛苦的,可以通过编写一些脚本来实现批量增加Device。
这里提供一个编写批量脚本的思路:通过编写一个页面接收添加Device时,需要Post的表单的数据,然后使用curl模拟表单提交。实践证明这种方式是可行的,事实上,我就使用这样的脚本来批量添加Device的。
3.我的主机端口不是3306
使用mysql-cacti-templates模板的时候,如果你的端口不是3306的话,mysql-cacti-templates中的脚本是无法正确的连接目标主机的MySQL的。这时候,只需对模板中的采集脚本做一个小小的修改就可以了。大约在脚本的226行下面增加如下内容
$conn = @mysql_connect($options['host'], $user, $pass);
//Modified by orczhou
//Now we'll try some other Ports.
if ( !$conn ) {
$conn = @mysql_connect($options['host'].":3307", $user, $pass);
}
这就是我在使用过程中遇到的一些问题与解决,你有什么好的经验呢?分享一下吧

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142184-1-1.html 上篇帖子: 在Ubuntu整合Cacti与Nagios(一) 下篇帖子: Windows下Cacti安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表