Cacti如何监控Mysql

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.xmlcacti_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.phpss_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

你可能感兴趣的:(监控,如何,的)