最近公司数据库新增加了几台mongodb数据库,为了能实时了解运行的状态,需要增加zabbix对mongodb的运行状态监控。
mongodb默认安装情况下可以运行echo "db.serverStatus()" | mongo 来获取mongodb的运行状态,但是公司数据库安装的时候修改了默认的连接端口,这样一来运行这个命令就报错了
[root@localhost ~]# echo "db.serverStatus()" | mongo
MongoDB shell version: 2.x.x
connecting to: test
Wed Jun 4 14:39:37 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
默认的27017端口显示连接不上,这就需要我们在mongo后面加上服务器地址及端口号比如
[root@localhost ~]# echo "db.serverStatus()" | mongo 10.0.0.12:40000
-
MongoDB shell version: 2.x.x
-
connecting to: 10.0.0.12:40000/test
-
{
-
"host" : "localhost.localdomain:30000",
-
"version" : "2.x.x",
-
"process" : "mongos",
-
"uptime" : 1659778,
-
"localTime" : ISODate("2014-06-04T06:45:05.691Z"),
-
"mem" : {
-
"resident" : 14,
-
"virtual" : 280,
-
"supported" : true
-
},
-
"connections" : {
-
"current" : 107,
-
"available" : 8085
-
},
-
"extra_info" : {
-
"note" : "fields vary by platform",
-
"heap_usage_bytes" : 902192,
-
"page_faults" : 0
-
},
-
"opcounters" : {
-
"insert" : 5228846,
-
"query" : 833941,
-
"update" : 15,
-
"delete" : 13,
-
"getmore" : 93,
-
"command" : 35558
-
},
-
"ops" : {
-
"sharded" : {
-
"insert" : 0,
-
"query" : 0,
-
"update" : 0,
-
"delete" : 0,
-
"getmore" : 0,
-
"command" : 0
-
},
-
"notSharded" : {
-
"insert" : 5228846,
-
"query" : 833941,
-
"update" : 15,
-
"delete" : 13,
-
"getmore" : 93,
-
"command" : 35558
-
}
-
},
-
"shardCursorType" : {
-
"ParallelSort" : 833942
-
},
-
"asserts" : {
-
"regular" : 0,
-
"warning" : 0,
-
"msg" : 0,
-
"user" : 0,
-
"rollovers" : 0
-
},
-
"network" : {
-
"bytesIn" : 2218644824,
-
"bytesOut" : 540032120,
-
"numRequests" : 6101134
-
},
-
"ok" : 1
-
}
-
bye
因此可以考虑使用zabbix的UserParameter自定义监控,对MongoDB进行监控
添加MongoDB监控
1、zabbix客户端配置文件zabbix_agentd.conf文件,添加如下内容:
UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().$1" | /usr/local/sbin/mongo 10.0.0.12:40000 | grep "$2"|awk -F: '{print $$2}'|awk -F, '{print $$1}'
2、重新启动zabbix客户端
/etc/init.d/zabbix_agentd restart
3添加MongoDB监控模板
导入模板
选择configuration-template 右上角import,导入模板“zbx_mongodb-monitor_templates.xml”,稍后会放在文章的最下面附件中供大家下载
点击导入import选择模板的存放位置,点击下面的导入
导入成功后可以到configuration-templete里查看新导入的模板MongoDB Moniting
4.模板关联mongodb主机
在装有MongoDB的服务器上应用该模板:
configuration->host,选择一台装有MongoDB的服务器,在右边的“Linked templates”,添加MongoDB监控模板,然后保存
导入成功以后可以在monitoring-lastdata里查看最新数据。稍等几分钟在monitoring的graph里可以看到关联主机的出图
具体出图图例如下
好了,今天先到这。文中如有失误之处,还请大家多多批评指正。
如需转载请标明出处:
http://blog.chinaunix.net/uid-29179844-id-4287403.html 谢谢。
阅读(1341) | 评论(2) | 转发(0) |