mongodb 监控权限_Mongodb监控

{ "host" : "aclome-PC", "version" : "2.0.6", "process" : "mongod", "uptime" : 4675828, "uptimeEstimate" : 4348964, "localTime" : { "$date" : 1467100514725 }, "globalLock" : { "totalTime" : 4675828116867, "lockTime" : 973633, "ratio" : 2.082268585724607e-007, "currentQueue" : { "total" : 0, "readers" : 0, "writers" : 0 }, "activeClients" : { "total" : 0, "readers" : 0, "writers" : 0 } }, "mem" : { "bits" : 64, "resident" : 5, "virtual" : 242, "supported" : true, "mapped" : 80, "mappedWithJournal" : 160 }, "connections" : { "current" : 0, "available" : 20000 }, "extra_info" : { "note" : "fields vary by platform", "page_faults" : 40688, "usagePageFileMB" : 21, "totalPageFileMB" : 7677, "availPageFileMB" : 2772, "ramMB" : 3839 }, "indexCounters" : { "note" : "not supported on this platform" }, "backgroundFlushing" : { "flushes" : 77900, "total_ms" : 638103, "average_ms" : 8.191309370988448, "last_ms" : 0, "last_finished" : { "$date" : 1467100477003 } }, "cursors" : { "totalOpen" : 0, "clientCursors_size" : 0, "timedOut" : 0 }, "network" : { "bytesIn" : 0, "bytesOut" : 0, "numRequests" : 0 }, "opcounters" : { "insert" : 0, "query" : 1, "update" : 0, "delete" : 0, "getmore" : 0, "command" : 0 }, "asserts" : { "regular" : 0, "warning" : 0, "msg" : 0, "user" : 0, "rollovers" : 0 }, "writeBacksQueued" : false, "dur" : { "commits" : 30, "journaledMB" : 0, "writeToDataFilesMB" : 0, "compression" : 0, "commitsInWriteLock" : 0, "earlyCommits" : 0, "timeMs" : { "dt" : 3088, "prepLogBuffer" : 0, "writeToJournal" : 0, "writeToDataFiles" : 0, "remapPrivateView" : 0 } } }

其中不同的版本指标名称或许会存在细微差距,整个指标可分为如下部分:1.实例信息;2.全局锁信息;3.内存信息;4.连接信息;5.额外信息;6.索引计数器信息;7.backgroundFlushing;8.last_finished;9.cursors;10.网络信息;11.操作计数器信息(opcounters);12.断言信息(asserts);14.writeBacksQueued;15.持久性信息(dur)

1.实例信息

"host" : "aclome-PC",  //主机名

"version" : "2.0.6",  //版本号

"process" : "mongod",  //进程名

"uptime" : 4675828,  //启动时间

"uptimeEstimate" : 4348964,

"localTime" : { "$date" : 1467100514725 } //本地时间

2.全局所信息

"globalLock" : { "totalTime" : 4675828116867,  //创建全局锁现在的时间(毫秒)

"lockTime" : 973633,  //创建全局锁后锁定的时间(毫秒)

"ratio" : 2.082268585724607e-007,

"currentQueue" : { "total" : 0,  //当前等待锁总数

"readers" : 0, //当前等待读锁总数

"writers" : 0 }, //当前等待写锁总数

3. 内存信息

"mem" : { "bits" : 64,  //操作系统位数 64 或32

"resident" : 5,  //物理内存中数据大小(MB)

"virtual" : 242,  //使用虚拟内存(页面文件)大小(MB)

"supported" : true,  //是否支持系统扩展内存信息

"mapped" : 80,  //映射文件大小

"mappedWithJournal" : 160 }, //为journal提供的内存大小,一般是mapped的2倍

4.连接信息

"connections" : { "current" : 0, //当前连接数

"available" : 20000 } //可用连接数

5.额外信息

"extra_info" : {

"note" : "fields vary by platform",  //

"page_faults" : 40688,  //硬错误页

"usagePageFileMB" : 21,  //页面文件使用大小MB

"totalPageFileMB" : 7677,  //页面文件大小

"availPageFileMB" : 2772,  //可用页面文件大小

"ramMB" : 3839 } //物理内存大小

6.索引计数器

"indexCounters" : { "note" : "not supported on this platform" } //windows下

"indexCounters" :{ //linux下

"accesses" : 101216836,  //访问次数

"hits" : 101216836,                        //命中次数

"misses" : 0,                                    //miss次数

"resets" : 0,                                      //indexCounders重置次数

"missRatio" : 0                               //miss率

}

7.backgroundFlushing

"backgroundFlushing" : {  //数据冲洗

"flushes" : 77900,  //次数

"total_ms" : 638103,  //总共耗时

"average_ms" : 8.191309370988448, //平均耗时

"last_ms" : 0, //最后一次耗时

"last_finished" : { "$date" : 1467100477003 } } //最后一次完成时间

8.last_finished

"last_finished" : { "$date" : 1467100477003 } } //最后执行时间

9.cursors

"cursors" : {

"totalOpen" : 0, //维护游标数目

"clientCursors_size" : 0, //总共游标数目

"timedOut" : 0 } //超时个数

10.网络信息

"network" : {

"bytesIn" : 0, //输入字节数

"bytesOut" : 0, //输出字节数

"numRequests" : 0 } //请求次数

11.操作计数器信息(opcounters)

"opcounters" : {

"insert" : 0,  //插入次数

"query" : 1,  //查询次数

"update" : 0,  //更新次数

"delete" : 0, //删除次数

"getmore" : 0,  //getmore次数

"command" : 0 } //其他命令次数

12.断言信息(asserts)

"asserts" : {

"regular" : 0,  //正常断言数量

"warning" : 0,  //告警断言数量

"msg" : 0,  //消息断言数量

"user" : 0, //用户断言数量

"rollovers" : 0 } //转滚断言数量

14.writeBacksQueued

"writeBacksQueued" : false //true 有要被重新执行的操作 false代表无

15.持久性信息(dur)

"dur" : {

"commits" : 30, //上次提交间隔(journal group commit interval)之后,提交的写入操作

"journaledMB" : 0, //上次分组提交间隔之后,写入操作的大小

"writeToDataFilesMB" : 0, //上次分组提交间隔之后,从journal写入到数据文件的大小

"compression" : 0, //写入到journal的压缩率,journal的大小/未压缩的数据大小

"commitsInWriteLock" : 0, //提交发生的时候写锁个数,用来表示写入负载是否过重

"earlyCommits" : 0, //在提交间隔过来前,请求提交的次数,用来判断分组提交间隔时间是否合适

"timeMs" : { "dt" : 3088, //获取这些数据花的时间

"prepLogBuffer" : 0,  //准备写入到journal文件的数据的时间

"writeToJournal" : 0, //写入Journal文件的时间

"writeToDataFiles" : 0, //写入数据文件的时间

"remapPrivateView" : 0 } } //重新映射的时间

Java代码如下:

package test;

import java.net.URI;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.params.CoreConnectionPNames;

import org.apache.http.util.EntityUtils;

/**

* 获取mongodb监控数据

*

* @author lihainan

*

*/

public class MongodbMonitoring {

public static void main(String[] args) {

String urlResult = getStringResultByUrl(infoUrl);

System.out.println(urlResult);//返回结果是个JSON串,可以根据自己的需求进行解析

}

public static String getStringResultByUrl(String url) {

String result = null;

HttpGet request = null;

HttpClient client = null;

try {

client = new DefaultHttpClient();

client.getParams().setParameter(

CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);// 连接时间

client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,

3000);// 数据传输时间

request = new HttpGet(new URI(url));

request.setHeader("Connection", "close");

HttpResponse response = null;

response = client.execute(request);

response.setHeader("Connection", "close");

int statusCode = response.getStatusLine().getStatusCode();

if (statusCode >= 400) {

return null;

}

HttpEntity entity = response.getEntity();

result = EntityUtils.toString(entity);

} catch (Exception e) {

e.printStackTrace();

} finally {

if (request != null) {

// 释放连接

request.abort();

}

}

return result;

}

}

你可能感兴趣的:(mongodb,监控权限)