为了能实时了解运行的状态,需要增加zabbix对mongodb的运行状态监控。 mongodb默认安装情况下可以运行 echo "db.serverStatus()" | mongo 来获取mongodb的运行状态 [root@localhost ~]# echo "db.serverStatus()" | mongo 127.0.0.1:30000 点击(此处)折叠或打开
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/bin/mongo 127.0.0.1:30000 | grep "$2"|awk -F: '{print $$2}'|awk -F, '{print $$1}'
上面是通过db.serverStatus()来获取服务器状态
其中$1表示第一个参数 grep $2的时候要加上锚地符 "\<" 和 "\>",因为有的对象名可能部分相同 使用自定义的命令测试获取的结果 [[email protected] bin]# echo "db.serverStatus().opcounters" | mongo admin
MongoDB shell version: 2.6.3
connecting to: admin
{
"insert" : 6,
"query" : 138,
"update" : 1,
"delete" : 1,
"getmore" : 0,
"command" : 9884
}
bye
测试用户自定义key是否生效
./zabbix_get -s 127.0.0.1 -k MongoDB.Status[opcounters,query] 2、重新启动zabbix客户端 systemctl restart zabbix-agent 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里可以看到关联主机的出图
具体出图图例如下
转载于:https://www.cnblogs.com/xu360/articles/6629568.html