本文参考连接:

https://www.jianshu.com/p/a6b36d5b74ba

一、实验环境:

MongoDB/zabbix-agent:172.16.88.44

zabbix-server:172.16.88.42

zabbix-server版本号:3.2.11

zabbix 安装不在赘述,确保监控正常

mongodb服务器端

二、安装依赖包

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm

# yum install jq 需要epel源,有外网的直接执行安装

如果是生产环境是内网可以这么解决,在本地找一台能连外网的测试服务器:

# yum install yum-utils -y

# yumdownloader jq --resolve --destdir=/tmp/pages/ --把jq的rpm包下载到本地再上传到正式环境

用rpm 进行安装

epel源手动浏览器访问:

centos7:http://mirror.pnl.gov/epel/7/x86_64/Packages/j/jq-1.5-1.el7.x86_64.rpm

centos6:http://mirror.pnl.gov/epel/6/x86_64/Packages/j/jq-1.3-2.el6.x86_64.rpm

三、创建监控MongoDB脚本

# cd /etc/zabbix/zabbix_agentd.d/

说明:/etc/zabbix/zabbix_agentd.d/ 路径为zabbix-agent子配置文件的路径

# vi /etc/zabbix/zabbix_agentd.d/mongodb.sh

#!/bin/bash
##################################################
# chentufeng
# 2019 12 05
##################################################
DB_HOST=127.0.0.1
DB_PORT=27017
DB_USERNAME=admin
DB_PASSWORD=123Abc
#下面是mongo命令的路径,我是解压安装的,所以which找不到路径,只能直接给它赋值绝对路径
#MONGO=`which mongo`
MONGO="/usr/local/mongodb/bin/mongo"
JQ=`which jq`
EXIT_ERROR=1
EXIT_OK=0 if [ ! -x "$MONGO" ] ; then
echo "mongo not found"
exit $EXIT_ERROR
elif [ ! -x "$JQ" ] ; then
echo "jq not found"
exit $EXIT_ERROR
elif [ $# -eq 0 ] ; then
echo "No values pass"
exit $EXIT_ERROR
fi
index=.$(echo $@ | sed 's/[ ,]/./g')
MONGO_CMD="$MONGO --host ${DB_HOST:-localhost} --port ${DB_PORT:-27017} --authenticationDatabase admin --quiet"
[[ "$DB_USERNAME" ]] && MONGO_CMD="${MONGO_CMD} --username ${DB_USERNAME}"
[[ "$DB_PASSWORD" ]] && MONGO_CMD="${MONGO_CMD} --password ${DB_PASSWORD}" output=$(
$MONGO_CMD <<< "db.runCommand( { serverStatus: 1} )" |\
sed -e 's/NumberLong(\(.*\))/\1/
s/ISODate(\(.*\))/\1/
s/ObjectId(\(.*\))/\1/
s/Timestamp(.*)/"&"/
s/\(BinData(.*\)"\(.*\)")/"\1\2)"/
s/"\([0-9]*\)"/\1/' )
mongo_status=${PIPESTATUS[0]}
if [ $mongo_status -ne $EXIT_OK ] ; then
echo "mongo exec error"
exit $EXIT_ERROR
fi
value=$(echo $output | jq $index)
jq_status=$?
echo $value

# vi /etc/zabbix/zabbix_agentd.d/userparameter_mongodb.conf

############################################################
# /etc/zabbix/zabbix_agentd.d/mongodb.sh 脚本路径,自定义
############################################################
UserParameter=mongodb.status[*],/etc/zabbix/zabbix_agentd.d/mongodb.sh $1 $2 $3 $4 $5

四、赋权配置:

chmod 755 /etc/zabbix/zabbix_agentd.d/mongodb.sh

chown zabbix:zabbix /etc/zabbix/zabbix_agentd.d/mongodb.sh

chmod 755 /etc/zabbix/zabbix_agentd.d/userparameter_mongodb.conf

chown zabbix:zabbix /etc/zabbix/zabbix_agentd.d/userparameter_mongodb.conf

五、重启zabbix-agent

service zabbix-agent restart

六、测试是否能查看MongoDB信息:

有账号密码命令:

echo "db.serverStatus()" |mongo 172.16.88.44:27017/admin -uadmin -p123Abc

-u admin账号

-p 密码

没账号密码:

echo "db.serverStatus()" |mongo

正常查看的会输出一大串东西

否则会输出这句话:exception: login failed

七、配置监控

172.16.88.42 zabbix server端:

导入zabbix MongoDB监控模板:

打开zabbix ----- 配置 ------ 模板 ------ 导入 -------浏览 -------选择文件确定-------导入

模板下载地址:

https://download.csdn.net/download/MYF12/12014535

添加主机到MongoDB模板里面即可

触发器可以根据实际情况添加。

监控数据说明:

https://blog.csdn.net/qq_20545159/article/details/48738379

zabbix3.2 监控MongoDB的更多相关文章

  1. zabbix3.2监控mongodb

    模板地址:https://share.zabbix.com/databases/mongodb/mongodb-for-zabbix-3-2 .安装jq依赖 # yum install jq -y . ...

  2. 分布式监控系统Zabbix3.4-针对MongoDB性能监控操作笔记

    公司在IDC机房的一台服务器上部署了MongoDB,由于所存储的业务数据比较重要,所以对MongoDB的监控显得尤为重要!Zabbix监控MongoDB性能的原理:通过echo "db.se ...

  3. 使用MMS(MongoDB Monitoring Service)监控MongoDB

    使用MMS(MongoDB Monitoring Service)监控MongoDB 一.MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可 ...

  4. zabbix3.4 监控mysql 数据库连接数

    zabbix3.4 监控mysql 数据库连接数具体监控配置待定,近期即将发布!

  5. 用monit监控mongodb,崩溃后自动重启mongdb

    什么是monit Monit是一个跨平台的用来监控Unix/linux系统(比如Linux.BSD.OSX.Solaris)的工具.Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不 ...

  6. Zabbix应用八:Zabbix监控MongoDB

    利用Zabbix监控MongoDB 一.首先介绍mongodb采集到的数据含义: 1.状态采集命令: >db.serverStatus(); 2.输出内容: { "host" ...

  7. nagios监控mongodb

    nagios本身不提供监控mongodb的服务,需要安装插件 已经有大神写好的插件nagios_plugin-mongodb 地址https://github.com/mzupan/nagios-pl ...

  8. MongoDB 监控 --- MongoDB基础用法(八)

    MongoDB 监控 在你已经安装部署并允许MongoDB服务后,你必须要了解MongoDB的运行情况,并查看MongoDB的性能.这样在大流量得情况下可以很好的应对并保证MongoDB正常运作. M ...

  9. ZABBIX 3.0 监控MongoDB性能【OK】

    系统环境: centos7.2 zabbix-3.4   一.原理  通过以下命令查看mongodb的状态: echo "db.serverStatus()" | mongo ad ...

随机推荐

  1. 图解|用好MySQL索引,你需要知道的一些事情

    我是蝉沐风. 这一篇文章来聊一聊如何用好MySQL索引. 为了更好地进行解释,我创建了一个存储引擎为InnoDB的表user_innodb,并批量初始化了500W+条数据.包含主键id.姓名字段(na ...

  2. vue2.x结合echarts2实现显示具体省份热力图

    最近研究了一下VUE2.X结合ehcarts实现热力图,先看下最终: 效果话不多说,直接上代码: 1 <!DOCTYPE html> 2 <html> 3 <head&g ...

  3. 【系列】关于NJUPT电赛自控方向第一次积分赛的总结

    本人是NJUPT电子科学与技术专业大一摸鱼狗一枚.本博客旨在总结与分享个人准备电赛所学知识,同时也是为了防止遗忘,锻炼写文章的能力.目前电赛方向为自控方向.主要研究方向为单片机.图像处理.自动控制相关 ...

  4. LGP6442题解

    和SP13106是双倍经验哦 我们首先发现 \(m=20\),所以一言不合先状压. 然后发现状压了之后我们实际上要求的是有多少个子集按位或的值为全集,相当于求有多少个子集按位与的值为 \(0\).(把 ...

  5. python中的super是什么?

    技术背景 python中的super,名为超类,可以简单的理解为执行父类的__init__函数.由于在python中不论是一对一的继承,还是一子类继承多个父类,都会涉及到执行的先后顺序的问题.那么本文 ...

  6. MyEclipse 在浏览器运行里报错,The requested resourse (xx/index.jsp) is not available

    在浏览器地址输入新建的web项目(http://localhost:8080/FirstPro/index.jsp),显示请求的资源不可用 这是因为我们新建的项目存放在安装MyEclipse时建立的W ...

  7. python3求200以内能被17整除的最大正整数

    for i in range(200, 17,-1): if(i%17==0): print(i) break

  8. 前端知识之css样式

    前端之CSS样式 css介绍 css是为html标签设置样式的 css由选择器和声明组成 声明包括属性和属性值 声明之间用分号:隔开 css注释 /注释类容/ css的几种引入方式 行内样式 不推荐使 ...

  9. 6月29日学习总结 Django自带的用户认证

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的要设计.实现网站的用户系统.此时我们需要实现包括但不限于用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. D ...

  10. bzoj3926/luoguP3346 [Zjoi2015]诸神眷顾的幻想乡(trie上构建广义后缀自动机)

    bzoj3926/luoguP3346 [Zjoi2015]诸神眷顾的幻想乡(trie上构建广义后缀自动机) bzoj Luogu 题解时间 给你个无根trie树(你管这叫trie树?),问你选取一条 ...