1. 最近打算部署监控MySQL环境!第一个想到的就是Cacti,还有用nagiox;蛋痛的发现这二个部署都异常痛苦,没有办法,只能用CactiEZ了。关于CactiEZ可以参考http://www.cactiez.com官方网站。
2. 直接down下了10.1的iso文件,安装该集成了Cacti操作系统,集成了很多监控模板,这里因为我们要监控到mysql,所以我们需要用到mysql主机的监控模板。
监控服务器:
IP:192.168.1.64
被监控MySQL服务器:(改服务器上有多个端口有mysql实例)
IP:192.168.1.213
Port1: 3302
Port2: 3306(只暂时监视两个)
3. 安装成功之后,默认CactiEZ10.1的系统登录账号密码:root、CactiEZ;web界面登录账号密码为:admin、admin。用root登录系统,输入system-config-network更改IP,重启network服务:service network restart;这里监控服务器IP设置为192.168.1.64.在浏览器输入http://192.168.1.64登入游戏。界面如下:
4. 部署步骤在登录验证窗口过后,直接可以看到:我简单步骤为:添加主机----添加图形—----自动添加阀值-----将该主机添加到树目录--------进入树目录可以查看相关信息。
在这之前,我们是需要检查snmp是否存在。因为用的是CactiEz,所以在服务端我们已经成功安装了snmp安装软件。
在客户端使用yum在213安装snmp系列软件。修改/etc/snmp/snmpd.conf
1) om2sec notConfigUser default public更改为
om2sec notConfigUser 192.168.1.64 public
2) #view systemview included .1.3.6.1.2.1.25.1.1修改为
view systemview included .1.3.6.1.2.1
3) #access notConfigGroup "" any noauth exact all none none
access notConfigGroup "" any noauth exact all none none
重启snmp服务 service snmpd restart;
可以使用snmpwalk -c public -v 2c 127.0.0.1 这个命令看是否使用snmpd成功。具体安装可以参考http://foreveryan.blog.51cto.com/3508502/671274
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. 简要阐述完毕。
2011-11-8晚
可能用到的代码和简要工具打包在附件中!