数据库

 首页 > 数据库 > MongoDB > 使用cacti监控mongodb服务器

使用cacti监控mongodb服务器

分享到:
【字体:

最近因为业务需求,上线了几台MongoDB服务器,需要做数据库监控。其实可选方案还是挺多的,比如官方的MMS、自己开发脚本等。我这里谈下Cacti监控MongoDB的方法。     选择的Cacti插件为Percona提供的MongoDB监控模板,详细资料请参考官网http://www.percona.com/doc/percona-monitoring-plugins/cacti/mongodb-templates.html,官方下载地址为:http://www.percona.com/downloads/percona-monitoring-plugins/。
    我提前谈下对这个模板的看法,说实话比较鸡肋,感觉作者开发并不用心,所以这里需要做二次开发进行相应的改造,使其稍微完美点,具体操作步骤如下:
    1. 修改mongodb_cmdline函数,通过授权帐号密码、指定端口进行登录。
function mongodb_cmdline ( $options ) { 
   // return "echo "db._adminCommand({serverStatus:1, repl:2})" | mongo"; 
   return "echo "db._adminCommand({serverStatus:1, repl:2})" | /usr/local/mongodb/bin/mongo admin --port $options[port2] --username flykite --password 123456"; 

    2. 修改get_command_result函数,采用远程登录的方式,而非默认SSH的方式。(数据库本来就可以远程连接,搞不懂作者为什么选择SSH登录数据库服务器执行命令...)
// $final_cmd = $use_ssh ? "$ssh '$cmd'" : $cmd; 
$final_cmd = "$cmd --host $options[host]"; 
    3. 执行脚本进行测试,结果如下:
[@cacti scripts]# php ss_get_by_ssh.php --type mongodb --host 10.13.198.102 --port2 6666 --items jc,jd 
jc:4 jd:5497683968 
    4. 如果是一台服务器有两个端口,需要复制两个Data Templates,如下:

    5. 为了方便,也可以制作根据端口数量,制作不同的Host Templates,这里省略。需要注意的是在Data Templates的配置中,一定要勾选Port2参数,如下:

    6. 在添加Device设备的时候,如果勾选了MongoDB的模板,需要指定Port2参数,如下:

    Cacti监控MongoDB配置基本就完成了,我们可以看下效果,如下:

     进一步思考,如果访问MongoDB的账户密码不确定,也可以将其作为参数传入脚本中。MongoDB可以不指定完整路径,在环境变量中就可以了。
分享到:
CentOS5.6下安装mongodb的方法
在上一篇文章中我介绍了如何在Windows下安装MongoDB数据库,今天继续介绍在Linux下安装MongoDB的步骤,注意本教程的配置方案只适合于开发测试环境使用,生产环境的配置在后面有补充 1. 下载Linux版本的 MongoDB 数据库 到官方的下载页面下载mongodb的Linux版本,32位还是64位根据自己的情况自行选择 http://www.mongodb.org/...
boost与mongodb分析
考虑到mongodb使用了boost库源码,参考mongodb官方文档后,下载编译boost版本是1.42(时间为2010-2-2)或更新版本: boost版本1.42: http://sourceforge.net/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/download 下载boost源码之后,我把boost解压在D盘。1.在D:/boost_1_42_0/下找到该批处理文件bootstrap.bat,以v...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……