Zabbix监控MongoDB数据库状态

本文介绍如何使用MongoDB的serverStatus命令获取服务器状态,并通过Zabbix实现MongoDB的自定义监控。包括配置Zabbix代理、创建监控模板及图表,实现对MongoDB性能指标的有效监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

监控原理

   在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值