记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。
Zabbix监控MongoDB数据库状态

   在MongoDB服务器上可以通过shell命令echo "db.serverStatus()" | mongo admin来查看MongoDB的状态。

[root@mongo163 ~]# echo "db.serverStatus()" | mongo admin

MongoDB shell version: 1.8.1

connecting to: admin

->db.serverStatus()

      {

      "host" : "mongo163",

      "version" : "1.8.1",

      "process" : "mongod",

      "uptime" : 451749,

      "uptimeEstimate" : 281868,

      "localTime" : ISODate("2011-05-23T07:42:01.990Z"),

      "globalLock" : {

            "totalTime" : 451749911134,

            "lockTime" : 50304542058,

            "ratio" : 0.11135484660467028,

            "currentQueue" : {

                            "total" : 0,

                            "readers" : 0,

                            "writers" : 0

                            },

             "activeClients" : {

                            "total" : 1,

                            "readers" : 1,

                            "writers" : 0

                                    }

      },

      "mem" : {

            "bits" : 64,

            "resident" : 21790,

            "virtual" : 63679,

            "supported" : true,

            "mapped" : 58328

            },

 

      "connections" : {

                        "current" : 3,

                        "available" : 19997

                        },

      "extra_info" : {

                  "note" : "fields vary by platform",

                  "heap_usage_bytes" : -1519420976,

                  "page_faults" : 179599

                  },

      "indexCounters" : {

                  "btree" : {

                  "accesses" : 2324660,

                  "hits" : 2324619,

                  "misses" : 41,

                  "resets" : 0,

                  "missRatio" : 0.00001763698777455628

                  }

      },

      "backgroundFlushing" : {

                        "flushes" : 7528,

                        "total_ms" : 64933966,

                        "average_ms" : 8625.659670563231,

                        "last_ms" : 10583,

                        "last_finished" : ISODate("2011-05-23T07:41:10.754Z")

                        },

      "cursors" : {

                  "totalOpen" : 1,

                  "clientCursors_size" : 1,

                  "timedOut" : 65

                  },

      "network" : {

                  "bytesIn" : 31194795281,

                  "bytesOut" : 24269782063,

                  "numRequests" : 254375763

                  },

      "repl" : {

            "ismaster" : true

            },

      "opcounters" : {

                  "insert" : 38301524,

                  "query" : 1770,

                  "update" : 35909520,

                  "delete" : 10486310,

                  "getmore" : 42387,

                  "command" : 169619319

                  },

      "asserts" : {

            "regular" : 0,

            "warning" : 0,

            "msg" : 0,

            "user" : 6,

            "rollovers" : 0

            },

      "writeBacksQueued" : false,

      "note" : "run against admin for more info",

      "ok" : 1

因此可以考虑使用zabbix的UserParameter自定义监控,对MongoDB进行监控

添加MongoDB监控

1、zabbix客户端配置文件zabbix_agentd.conf文件,添加如下内容:

UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().$1" | /usr/local/sbin/mongo admin | grep "$2"|awk -F: '{print $$2}'|awk -F, '{print $$1}'

2、重新启动zabbix客户端

/etc/init.d/zabbix_agentd restart

添加编写MongoDB监控模板

1、创建模板:

系统配置->模板,点击右上角的“创建模板”,添加“MongoDB Moniting”模板

2、添加监控项:

系统配置->“MongoDB Moniting”模板->监控项,点击右上角的“Create Item”,创建监控项:

clip_image002

clip_image004

3、添加图形显示:

系统配置->“MongoDB Moniting”模板->图形显示,点击右上角的“创建图形”,创建相应图形:

clip_image006

clip_image008

应用MongoDB监控模板

1、在装有MongoDB的服务器上应用该模板:

系统配置->主机,选择一台装有MongoDB的服务器,在右边的“Linked templates”,添加MongoDB监控模板,然后保存

未命名

2、MongoDB监控最新数据:

clip_image012

创建MongoDB服务器配置图表

1、系统配置->配置图表,点击右上角的“create screen”,创建图表。

clip_image014

2、图表中添加如下内容:

MongoDB服务器的

(1) CPU使用情况

(2) Load Average服务器负载情况

(3) Memory服务器内存使用情况

(4) MongoDB Background Fluhes

(5) MongoDB Commands

(6) MongoDB Current Connetctions

(7) MongoDB Index Ops

(8) MongoDB Memory

(9) MongoDB Networks

本文出自 “梦~从这里起航” 博客,请务必保留此出处http://mayulin.blog.51cto.com/1628315/575541





转载请标明出处【Zabbix监控MongoDB数据库状态】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论