作者:Annia000 | 来源:互联网 | 2014-05-28 16:53
早在去年已经出现MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控。cacti的模板一直在更新,若企业已经用到nosql这种非关系数据库如mongodb和redis。可按照以下教程,对mongodb和redis进行监控。该模板可以监控以下资
早在去年已经出现MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控。cacti的模板一直在更新,若企业已经用到nosql这种非关系数据库如mongodb和redis。可按照以下教程,对mongodb和redis进行监控。
该模板可以监控以下资源:
mongodb:
redis:
一、下载模板:
wget http://
mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
二、配置ssh公私钥无需密码登录:
因为cacti监控mongodb是需要登录到mongodb的服务端运行mongo的状态获取命令,所以需要ssh连接登录。
所以需要配置非交互式帐号密码登录。这里采用公私钥模式。
先在监控服务器生成一对公私钥。
ssh-keygen ##如果是root用户,生成的默认目录为/root/.ssh下2个文件id_rsa(公钥)
id_rsa.pub(私钥)
cd /root/.ssh/ && chmod 600 id_rsa* 把这2个文件修改权限,为600
ssh-copy-id -i /root/.ssh/id_rsa root@192.168.200.1
#加被监控节点公私钥认证
把id_rsa.pub复制出来,放到被监控机器上,然后公钥的内容追加到需要被监控的主机也就是mongodb和redis的服务端。追加到.ssh/authorized_keys
然后用ssh连接你所安装mongodb或者redis的服务端,如果不需输密码连接上。则正常。下面就可以开始添加监控文件了。
三、配置监控脚本:
mongodb或redis的监控所需到的是你下载目录中的better-cacti-templates-1.1.8\scripts下的
ss_get_by_ssh.php 这个脚本 这个脚本需要放在cacti的服务端。
如果你cacti是装到/var/www/html/cacti/目录下。
把该文件放在其下面的scripts目录下。别忘了看下权限。要有执行权限。
然后修改该文件。主要修改一下选项,大概在40行。
# ============================================================================
$ssh_user = 'root'; # SSH username
$ssh_port = 22; # SSH port
$ssh_iden = '-i /root/.ssh/id_rsa';
# SSH identity
##修改根据你的配置,你的ssh连接用户,还有认证私钥的位置。
大该在50行,还可以修改其默认的去探测的端口(如果redis不是正常默认端口启动需要修改这些)。
$memcache_port = 11211; # Which port
memcached listens on
$redis_port = 6379; # Which port redis listens on
如果是mongodb不是正常端口启动,则需要这样修改。找到以下字段,添加红色字段,这里注意mongo这个命令一定要找对。
function mongodb_cmdline ( $options ) {
return “echo \”db._adminCommand({serverStatus:1, repl:1})\” | /usr/local/mongo/mongodb/bin/mongo ?port 10000″;
}
配置完后保存退出。
可以先用测试命令测一下。语法如下:
php /var/www/html/scripts/ss_get_by_ssh.php --type mongodb --host 192.168.200.1 --items c,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt,du
如果有数据输出。则表示正常。
四、在cacti里添加mongodb和redis模板:
4.1 模板导入
模板目录为better-cacti-templates-1.1.8\templates
4.2 导入后对被监控机添加模板:
4.3 添加后为其绘图:
五:实际效果测试: