本文参考连接:

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. Java学习笔记:02面向对象-重写_this_super_抽象类

    02面向对象-重写/this/super/抽象类 ****1.this和super 作用: this: 区分本类的成员变量和局部变量同名情况 super:区分父类的成员变量和局部变量同名情况 用法: ...

  2. LGP4287题解

    小清新 manacher 题.题意清楚. 首先看到回文,自然而然地就去想 manacher 了.先想想,manacher 到底在干嘛? manacher 做的其实是一个暴力,枚举每一个位置最远能够伸到 ...

  3. CF1386C口胡

    自己在物理课上编了一道题,大概就是这题把删除区间的边改为保留区间的边...都不觉得判断短路和判断二分图有点儿像吗 题意:给定一张无向图,每次暂时删除一个区间内的边,问删除后这个区间是否为二分图. 首先 ...

  4. .NET6: 开发基于WPF的摩登三维工业软件 (10) - 机器人

    基于前文介绍的Ribbon界面.插件化.MVVM模式等内容,我们搭建了一个软件雏形.本文将综合之前的内容在RapidCAX框架中集成Robot组件,实现一个简单的机器人正向模拟模块. 1 目标 基于M ...

  5. Kubernetes:Ingress总结(二)

    Blog:博客园 个人 参考:Ingress | Kubernetes.<Kubernetes进阶实战> Contour是Kubernetes Ingress控制器的另一款开源实现,它以高 ...

  6. Java案例之评委打分

    /* 案例:评委打分,六个或者更多个评委打分,去到一个最高分,一个最低分,求其他评委的平均值(当评委数量发生改变时不需要进行二次修改) 需求:定义一个数组,长度为6,循环获取输入的数据 定义方法获取数 ...

  7. windows安装oos遇到的坑 (汇总)

    一.环境安装 --  搭建域控服务器 1. 打开服务器管理器,添加角色和功能: 2.下一步: 3.下一步: 4.下一步 5.选择添加AD域服务,同时添加所需功能,下一步: 6.安装功能,下一步: 7. ...

  8. 使用Xtrabackup 备份mysql数据库

    ##创建逻辑卷 [root@node1 ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully create ...

  9. RabbitMQ Go客户端教程4——路由

    本文翻译自RabbitMQ官网的Go语言客户端系列教程,本文首发于我的个人博客:liwenzhou.com,教程共分为六篇,本文是第四篇--路由. 这些教程涵盖了使用RabbitMQ创建消息传递应用程 ...

  10. 网络监听FTP明文口令实验

    一. 开启环境 1.登录FTP服务器. 2.启动FTP服务器 (1)打开FTP服务器.点击最左面绿色按钮,启动ftp服务器. (2)可以看到以下变化:ftp服务器启动.显示"FTP服务在线& ...