pqwsa 发表于 2018-10-25 09:43:28

单机版MongoDB的zabbix监控

  最近公司新上了几个mongodb的项目(单机版MongoDB),需要坐下监控。之前有一个监控模板,但是效果不好。于是重新去google了一把,有了如下记录。
  单机版的参考 https://github.com/oscm/zabbix/tree/master/mongodb
  实验环境:
  CentOS6.8 X86_64
  Percona-server-mongodb-3.2.9
  步骤:
  1、将mongodb.sh这个脚本拷贝到/etc/zabbix/scripts下,修改下适合自己的环境
  (我们线上mongodb没有设置密码,脚本里面也注释掉了相关代码),并chmod加执行权限
  #!/bin/bash
  ##################################################
  #AUTHOR: Neo
  #WEBSITE: http://www.netkiller.cn
  #Description£ozabbix mongodb monitor
  #Note£oZabbix 3.2
  #DateTime: 2016-11-23
  ##################################################
  # 我这里线上环境的mongodb没有配置密码,只是通过iptables限制访问的IP
  HOST=localhost
  PORT=27017
  #USER=monitor
  #PASS=chen
  index=$(echo$@ | tr " " ".")
  #status=$(echo"db.serverStatus().${index}" |mongo -u ${USER} -p ${PASS} admin--port ${PORT}|sed -n '3p')
  status=$(echo"db.serverStatus().${index}" |/usr/local/mongodb/bin/mongo admin--port ${PORT}|sed -n '3p')
  #checkif the output contains "NumberLong"
  if[[ "$status" =~ "NumberLong"   ]];then
  echo $status|sed -n 's/NumberLong(//p'|sed-n 's/)//p'
  else
  echo $status
  fi
  2、将userparameter_mongodb.conf拷贝到/etc/zabbix/zabbix_agentd.d下,具体内容如下:
  UserParameter=mongodb.status
[*],/etc/zabbix/scripts/mongodb.sh$1 $2 $3 $4 $5
  3、在zabbix的web后台导入监控模板,并将mongodb主机和模板做关联。
  附件为上面提到的3个文件打包。
  配好的监控如下图:



  复制集版本的MongoDB的监控模板在试验中,没问题后再贴出来。

页: [1]
查看完整版本: 单机版MongoDB的zabbix监控