监控 mongodb和redis 运行情况

来源:互联网 发布:ods层和数据集市的区别 编辑:程序博客网 时间:2024/05/01 10:29
cacti监控mongodb和redis 2012-05-15 17:15:40
标签:cacti监控mongodb监控mongodb 监控redis mongodb+redis cacti监控redis
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://freeze.blog.51cto.com/1846439/864063

      早在去年已经出现MongoDBRedis的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连接登录。

所以需要配置非交互式帐号密码登录。这里采用公私钥模式。

先在监控服务器生成一对公私钥。

 

  1. ssh-keygen ##如果是root用户,生成的默认目录为/root/.ssh下2个文件id_rsa(公钥) id_rsa.pub(私钥)
  2. cd /root/.ssh/ && chmod 600 id_rsa* 把这2个文件修改权限,为600
  3. ssh-copy-id -i /root/.ssh/id_rsa root@192.168.200.1 #加被监控节点公私钥认证

id_rsa.pub复制出来,放到被监控机器上,然后公钥的内容追加到需要被监控的主机也就是mongodb和redis的服务端。追加到.ssh/authorized_keys

然后用ssh连接你所安装mongodb或者redis的服务端,如果不需输密码连接上。则正常。下面就可以开始添加监控文件了。

三、配置监控脚本:

 

  1. mongodb或redis的监控所需到的是你下载目录中的better-cacti-templates-1.1.8\scripts下的 
  2. ss_get_by_ssh.php 这个脚本 这个脚本需要放在cacti的服务端。 
  3. 如果你cacti是装到/var/www/html/cacti/目录下。 
  4. 把该文件放在其下面的scripts目录下。别忘了看下权限。要有执行权限。 

然后修改该文件。主要修改一下选项,大概在40行。

  1. # ============================================================================ 
  2. $ssh_user   = 'root';                          # SSH username 
  3. $ssh_port   = 22;                               # SSH port 
  4. $ssh_iden   = '-i /root/.ssh/id_rsa';   # SSH identity 
  5. ##修改根据你的配置,你的ssh连接用户,还有认证私钥的位置。

大该在50行,还可以修改其默认的去探测的端口(如果redis不是正常默认端口启动需要修改这些)。

  1. $memcache_port = 11211;                   # Which port memcached listens on 
  2. $redis_port    = 6379;                    # Which port redis listens on 

如果是mongodb不是正常端口启动,则需要这样修改。找到以下字段,添加红色字段,这里注意mongo这个命令一定要找对。

  1. function mongodb_cmdline ( $options ) { 
  2. return “echo \”db._adminCommand({serverStatus:1, repl:1})\” | /usr/local/mongo/mongodb/bin/mongo –port 10000″; 

配置完后保存退出。

可以先用测试命令测一下。语法如下:

  1. 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 添加后为其绘图:

五:实际效果测试:

 

 此文凝聚笔者不少心血请尊重笔者劳动,转载请注明出处。 
http://freeze.blog.51cto.com/ 

喜欢linux,或者有问题还可以来QQ群170838394交流。