Zabbix监控-mingodb数据库状态

news/2024/7/7 21:33:26
最近公司数据库新增加了几台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

点击(此处)折叠或打开

  1. MongoDB shell version: 2.x.x
  2.     connecting to: 10.0.0.12:40000/test
  3.     {
  4.             "host" : "localhost.localdomain:30000",
  5.             "version" : "2.x.x",
  6.             "process" : "mongos",
  7.             "uptime" : 1659778,
  8.             "localTime" : ISODate("2014-06-04T06:45:05.691Z"),
  9.             "mem" : {
  10.                     "resident" : 14,
  11.                     "virtual" : 280,
  12.                     "supported" : true
  13.             },
  14.             "connections" : {
  15.                     "current" : 107,
  16.                     "available" : 8085
  17.             },
  18.             "extra_info" : {
  19.                     "note" : "fields vary by platform",
  20.                     "heap_usage_bytes" : 902192,
  21.                     "page_faults" : 0
  22.             },
  23.             "opcounters" : {
  24.                     "insert" : 5228846,
  25.                     "query" : 833941,
  26.                     "update" : 15,
  27.                     "delete" : 13,
  28.                     "getmore" : 93,
  29.                     "command" : 35558
  30.             },
  31.             "ops" : {
  32.                     "sharded" : {
  33.                             "insert" : 0,
  34.                             "query" : 0,
  35.                             "update" : 0,
  36.                             "delete" : 0,
  37.                             "getmore" : 0,
  38.                             "command" : 0
  39.                     },
  40.                     "notSharded" : {
  41.                             "insert" : 5228846,
  42.                             "query" : 833941,
  43.                             "update" : 15,
  44.                             "delete" : 13,
  45.                             "getmore" : 93,
  46.                             "command" : 35558
  47.                     }
  48.             },
  49.             "shardCursorType" : {
  50.                     "ParallelSort" : 833942
  51.             },
  52.             "asserts" : {
  53.                     "regular" : 0,
  54.                     "warning" : 0,
  55.                     "msg" : 0,
  56.                     "user" : 0,
  57.                     "rollovers" : 0
  58.             },
  59.             "network" : {
  60.                     "bytesIn" : 2218644824,
  61.                     "bytesOut" : 540032120,
  62.                     "numRequests" : 6101134
  63.             },
  64.             "ok" : 1
  65.     }
  66.     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://www.niftyadmin.cn/n/3461231.html

相关文章

Does GATHER_STATS_JOB gather all objects' stats every time?

周五在一家客户的调优会议中讨论了一个由于统计信息陈旧导致SQL执行计划偏差的问题,这是一个10g的库并且禁用了自动收集统计信息的定时作业GATHER_STATS_JOB;当问及应用程序开发商为何要禁用自动统计信息收集时,开发商的一位工程师说因为该库…

wowza流媒体服务器安全设置

今天跟大家分享下wowza流媒体服务器的一些安全设置心得,使用这个软件有一段时间了,但仍能感觉到许多问题存在,其中最为头疼的还是防盗链的问题。wowza作为一个强大的流媒体平台,能够提供多种格式的直播点播流。其中包括常用的rtmp…

Windows10上强制Visual Studio以管理员身份运行

解决办法很简单: 1. 打开VS的安装目录,找到devenv.exe,右键,选择“兼容性疑难解答”。 2. 选择“疑难解答程序” 3. 选择“该程序需要附加权限” 4. 确认用户帐户控制后,点击测试程序,不然这个对话框不让你…

linux系统mysql安装配置

linux下使用yum安装mysql一.mysql安装查看有没有安装过mysql老版本:yum list installed mysql*rpm -qa | grep mysql*安装mysqlyum install mysql-servermysql-develmysql注意:这里使用默认的yum 源只能安装到 mysql-5.1.73-3.el6_5.x86_64 版本&#xf…

php变量类型及几个常用的打印方式

变量的数据类型: 1,标量类型:int (整型),float(浮点型),boolean(布尔型),string(字符串型) 2,复合类型:array&…

mysql命令大全(完整版本)

1.连接数据库格式: mysql -h主机地址 -u用户名 -p用户密码1.1.连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格&a…

硬盘结构与工作原理

硬盘结构与工作原理 硬盘上的数据是如何组织与管理的呢?硬盘首先在逻辑上被划分为磁道、柱面以及扇区,其结构关系如图1-6所示。 图1-6 磁头、柱面和扇区 每个盘片的每个面都有一个读写磁头,磁盘盘面区域的划分如图1-7所示。磁头靠近主轴接触的…

单例模式[转载]

转载自大神http://www.cnblogs.com/vipchenwei/p/7121720.html 简单来说就是一个类只能创建唯一的实例 class Singleton(object):__instance Nonedef __init__(self):passdef __new__(cls, *args, **kwargs):if not Singleton.__instance:Singleton.__instance object.__new_…