cacti 监控 mongodb 和 redis

鉴客 发布于 2012/05/29 08:38
阅读 4K+
收藏 14

早在去年已经出现MongoDBRedisCacti模板,使用它,你可以对你的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

  1. 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的服务端。 

  1. 如果你cacti是装到/var/www/html/cacti/目录下。

把该文件放在其下面的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/

加载中
0
h
haibo600
不错,正在做这个,学习了
微度网络
微度网络
确实不错
0
hua_zi
hua_zi
监控本地的mongodb服务,该如何修改呢?执行php /var/www/html/cacti/scripts/ss_get_by_ssh.php --type mongodb --host 127.0.0.1  --items c,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt,du 返回如下
de:0 df:0 dg:-1 dh:-1 di:-1 dj:-1 dk:-1 dl:-1 dm:-1 dn:-1 do:-1 dp:-1 dq:-1 dr:-1 ds:-1 dt:-1 du:-1
0
微度网络
微度网络

引用来自“haibo600”的答案

不错,正在做这个,学习了
111111111
0
CloudInsight
CloudInsight
利用我们的Cloud Insight做mongo, redis,以及操作系统的监控非常的简单,一个命令,一个基本配置项就可以搞定,而且仪表盘展示的非常棒,还可以进行自定义:http://www.oneapm.com/ci/feature.html
返回顶部
顶部