您的位置:首页 > 数据库 > SQL

Cacti如何监控Mysql

2012-08-02 15:53 387 查看
Cacti如何监控Mysql:Cacti和Nagios是现在比较用得多的网络监控软件。cacti偏重于网络流量,系统负载方面的监控。Nagios则比较注重于主机和服务的监控。

1. 安装监控插件

cd /opt

tar -xzvf mysql-cacti-templates-1.1.2.tar.gz

cp /opt/mysql-cacti-templates-1.1.2/ss_get_mysql_stats.php /var/www/html/scripts/


其实里面我们要监控mysql用到的是:acti_host_template_x_db_server_ht_0.8.6i.xml和mysql_definitions.pl

其他则是监控Apache和Nginx的,接下来我们会介绍到,这里不再详细的讲了。

chown -R apache.apache /var/www/html/scripts

chmod -R 755 /var/www/html/scripts


使用 http 访问 cacti主机 导入

/opt/mysql-cacti-templates-1.1.2/cacti_host_template_x_db_server_ht_0.8.6i.xml
 http://192.168.12.5

默认CactiEZ 和Cacti别是 admin admin

控制台 - 导入导出 - 模板导入 - 浏览

选中 cacti_host_template_x_db_server_ht_0.8.6i.xml

保存

2. 配置cacti的mysql插件

修改 ss_get_mysql_stats.php

vi /var/www/html/scripts/ss_get_mysql_stats.php

$mysql_user = 'cacti';

$mysql_pass = 'cacti';

$cache_dir = "/tmp/cacti/cache/";


这个账户和密码是 被监控端主机 给 Cacti主机 授权的 账户和密码

Cacti需要这个账户和密码去连接 被监控机 查询状态

mkdir -p /tmp/cacti/cache

chown -R apache.apache /tmp/cacti

chmod -R 755 /tmp/cacti


设置 cacti 缓存目录在 /tmp/cacti/cache/ 并给予权限

3. 配置被监控端(192.168.5.231)的mysql 给 cacti 主机授权

mysql -uroot -p
grant process,super on *.* to 'cacti'@'192.168.12.5' identified by 'cacti';
exit

mysql -ucacti -pcacti -h 192.168.5.231

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

1). 将mysql_stats.php 和 dumpMemcachedStats.php脚本放到cacti脚本目录下(/usr/local/apache/htdocs/cacti/.s /),导入模板时注意选择cacti_host_template_temysql_host-step300-heartbeat600.xml和 cacti_host_template_memcached_host-step300-heartbeat600.xml模板(默认cacti 5分钟取一次数据)

可以使用snmpwalk -c public -v 2c 127.0.0.1 这个命令看是否使用snmpd成功

5. 监控3306端口下MySQL。步骤略。我们重要的是要监控其他端口上的实例。有人说可以更改/var/www/html/scripts/目录下ss_get_mysql_stats.php文件的$port字段为3307等其他端口。但是不可能做到同时监控多个端口的需求。这里就需要添加多个mysql主机模板。

6. 添加新模板,并更改相关配置文件,具体可以参考http://www.iamcjd.com/?p=1133

7. 需要用到模板文件cacti_host_template_mysql.xml和配置状态文件ss_get_mysql_stats.php.从web端导出模板为cacti_host_template_mysql.xml.并复制两份分别问cacti_host_template_mysql_3307.xml和cacti_host_template_mysql_3307.xml.
8. 需要修改cacti_host_template_mysql_3307.xml中的用户密码字段,修改如下:

$mysql_user = ‘cactiuser’;

$mysql_pass = ‘cactiuser’;

$mysql_port = 3307;

$mysql_ssl = FALSE;

更改完之后,并将该文件复制至/var/www/html/scripts/
9. 更改cacti_host_template_mysql_3307.xml:

1) 将其中的</name>全部替换为_3307</name>。
2) 使用一下脚本更改hash值
#/bin/sh

use Digest::MD5 qw/ md5_hex /;

open FILE,'<','cacti_host_template_mysql.xml';
open FILE1,">> cacti_host_template_mysql_3307.xml";
while($line=<FILE>)
{

if($line=~/hash_\w{6}(\w+?)[|]/)
{
@fields = split /\|/, $line;

foreach $d(@fields)
{
if($d=~/hash_\w{6}(\w{32}?)/)
{
$_=$d;
$new=md5_hex($1);
s/$1/$new/;
print FILE1 $_."|";
}
}
}
elsif($line=~/hash_\w{6}(\w+?)[><]/){
$_=$line;
$new=md5_hex($1);
s/$1/$new/;
print FILE1 $_;
}
else{
print FILE1 $line;
}

}
替换完毕后,在替换ss_get_mysql_stats.php为ss_get_mysql_stats_3307.php即可

复制至/var/www/html/scripts。

10. 导入3307端口mysql模板。导入成功后,查看主机模板:如下图





可以看到多了MySQL服务器_3307这个主机模板,好了一些ok。就可以像平常步骤添加监控主机。
11. 若想添加监视其他端口,安装如上步骤重复。
12. 简要阐述完毕。

参考;http://os.51cto.com/art/201104/253003.htm
http://5ydycm.blog.51cto.com/115934/132865/ http://qdjyyl.blog.51cto.com/1222376/709609
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: