Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1061128
  • 博文数量: 321
  • 博客积分: 7872
  • 博客等级: 少将
  • 技术积分: 2120
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 09:06
文章分类

全部博文(321)

文章存档

2017年(1)

2016年(1)

2015年(12)

2014年(17)

2013年(78)

2012年(15)

2011年(17)

2010年(67)

2009年(102)

2008年(11)

分类: LINUX

2012-07-13 18:08:27

本文从工作环境介绍起,一步一步的介绍了如何在CentOS上安装配置Cacti,并介绍了如何使用Cacti监控mysql。在文章末尾还附上了常见故障排除。

AD:

二、cacti监控mysql

wget tar -xzvf mysql-cacti-templates-1.1.2.tar.gz cd mysql-cacti-templates-1.1.2 cp ss_get_mysql_stats.php /xok.la/cacti/scripts

可以看到里面有多个监控项目,报告监控apache和nginx.我这只测试mysql,mysql相关的就2个文件:

  • 模板文件:cacti_host_template_x_db_server_ht_0.8.6i.xml
  • 插件:ss_get_mysql_stats.php

修改ss_get_mysql_stats.php 文件 第30行

$mysql_user = 'cacti'; $mysql_pass = 'cacti'; $cache_dir = "var/www/html/cacti/cache/";

设置准备监控的数据库的账户相关信息

mkdir /var/www/html/cacti/cache/ chmod 777 -R /var/www/html/cacti/cache/

默认在获取的数据/tmp/下,会有cacti不能读取的情况。所以放在cacti目录来。

二,创建监控Mysql需要的账户以及权限

配置MySQL服务器,让cacti所在机器能够访问MySQL服务器的状态信息,必须拥有”process”权限。如果要监控InnoDB状态,还必须有”SUPER”权限。

mysql> grant process,super on *.* to 'cacti'@'%' identified by 'cacti'; mysql> grant all privileges on cacti.* to cacti@"%" identified by "cacti";

三,模板导入

在cacti管理界面(Import Templates)导入cacti_host_template_x_db_server_ht_0.8.6i.xml。

四,添加设备

创建Graph。在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。

在Associated Graph Templates中添加想要监控MySQL状态的Graph Templates(如X MySQL Connections GT模板)。

并点击最上面的Create Graphs for this Host链接,在Graph Templates的选择框中选择X MySQL Connections GT,然后点击Create按钮,出现以下WEB页。

常见故障排除

安装完毕在浏览器上无法看到数据的png图片。看apache的log

如果出现:

========================

[Thu Feb 09 15:12:24 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico ERROR: opening '/var/www/html/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied

PS:解决办法:关闭selinux,即可解决问题。

PS:以上无法获取数据图大多和poller.php,cmd.php权限有关。

当cacti 有图没有数据时,而且状态为nan的错误

PS:这个很可能是snmp的问题,执行以下命令,没有得到如图的结果。就说明snmp不支持64位MIB库。重新编译安装snmp

# snmpwalk -c public -v 2c 127.0.0.1 IF-MIB::ifHCInOctets IF-MIB::ifHCInOctets.1 = Counter64: 7437357 IF-MIB::ifHCInOctets.2 = Counter64: 353773IF-MIB::ifHCInOctets.3 = Counter64: 0

PS:被监控主机无法获得snmp信息,还有可能是对方主机snmp版本和当前主机的snmp版本不一致导致的。

PS:rrdtools版本要一致,特别是在升级cacti时候。版本不一致,可能rra数据格式不同。就无法处理。

排错思路

1,查看log下的日志文件。一般那里会有提示

2,测试SNMP是不是工作正常 snmpwalk -v 2c -c public hostIP if正常的话会出现一些数据。不正常会出现一些错误,也会有对应的错误提示。

3,自动运行poller.php没有。有没有加入cacti的的用户。。有没有给cacti用户写入rra/ log/的权限。。

4,crontab –u cactiuser –e 为cactiuser加上自动运行poller.php的任务:*/5 * * * * root /usr/local/bin/php /usr/local/share/cacti/poller.php /dev/null 2>&1

5分钟刷新一次数据。你也可以根据需要还设置。

5。把cacti目录里的cmd.php和poller.php文件加下运行的权限。

转自:
阅读(1332) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~