zabbix3.2 监控MongoDB
本文参考连接:
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的更多相关文章
- zabbix3.2监控mongodb
模板地址:https://share.zabbix.com/databases/mongodb/mongodb-for-zabbix-3-2 .安装jq依赖 # yum install jq -y . ...
- 分布式监控系统Zabbix3.4-针对MongoDB性能监控操作笔记
公司在IDC机房的一台服务器上部署了MongoDB,由于所存储的业务数据比较重要,所以对MongoDB的监控显得尤为重要!Zabbix监控MongoDB性能的原理:通过echo "db.se ...
- 使用MMS(MongoDB Monitoring Service)监控MongoDB
使用MMS(MongoDB Monitoring Service)监控MongoDB 一.MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可 ...
- zabbix3.4 监控mysql 数据库连接数
zabbix3.4 监控mysql 数据库连接数具体监控配置待定,近期即将发布!
- 用monit监控mongodb,崩溃后自动重启mongdb
什么是monit Monit是一个跨平台的用来监控Unix/linux系统(比如Linux.BSD.OSX.Solaris)的工具.Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不 ...
- Zabbix应用八:Zabbix监控MongoDB
利用Zabbix监控MongoDB 一.首先介绍mongodb采集到的数据含义: 1.状态采集命令: >db.serverStatus(); 2.输出内容: { "host" ...
- nagios监控mongodb
nagios本身不提供监控mongodb的服务,需要安装插件 已经有大神写好的插件nagios_plugin-mongodb 地址https://github.com/mzupan/nagios-pl ...
- MongoDB 监控 --- MongoDB基础用法(八)
MongoDB 监控 在你已经安装部署并允许MongoDB服务后,你必须要了解MongoDB的运行情况,并查看MongoDB的性能.这样在大流量得情况下可以很好的应对并保证MongoDB正常运作. M ...
- ZABBIX 3.0 监控MongoDB性能【OK】
系统环境: centos7.2 zabbix-3.4 一.原理 通过以下命令查看mongodb的状态: echo "db.serverStatus()" | mongo ad ...
随机推荐
- Java学习笔记:02面向对象-重写_this_super_抽象类
02面向对象-重写/this/super/抽象类 ****1.this和super 作用: this: 区分本类的成员变量和局部变量同名情况 super:区分父类的成员变量和局部变量同名情况 用法: ...
- LGP4287题解
小清新 manacher 题.题意清楚. 首先看到回文,自然而然地就去想 manacher 了.先想想,manacher 到底在干嘛? manacher 做的其实是一个暴力,枚举每一个位置最远能够伸到 ...
- CF1386C口胡
自己在物理课上编了一道题,大概就是这题把删除区间的边改为保留区间的边...都不觉得判断短路和判断二分图有点儿像吗 题意:给定一张无向图,每次暂时删除一个区间内的边,问删除后这个区间是否为二分图. 首先 ...
- .NET6: 开发基于WPF的摩登三维工业软件 (10) - 机器人
基于前文介绍的Ribbon界面.插件化.MVVM模式等内容,我们搭建了一个软件雏形.本文将综合之前的内容在RapidCAX框架中集成Robot组件,实现一个简单的机器人正向模拟模块. 1 目标 基于M ...
- Kubernetes:Ingress总结(二)
Blog:博客园 个人 参考:Ingress | Kubernetes.<Kubernetes进阶实战> Contour是Kubernetes Ingress控制器的另一款开源实现,它以高 ...
- Java案例之评委打分
/* 案例:评委打分,六个或者更多个评委打分,去到一个最高分,一个最低分,求其他评委的平均值(当评委数量发生改变时不需要进行二次修改) 需求:定义一个数组,长度为6,循环获取输入的数据 定义方法获取数 ...
- windows安装oos遇到的坑 (汇总)
一.环境安装 -- 搭建域控服务器 1. 打开服务器管理器,添加角色和功能: 2.下一步: 3.下一步: 4.下一步 5.选择添加AD域服务,同时添加所需功能,下一步: 6.安装功能,下一步: 7. ...
- 使用Xtrabackup 备份mysql数据库
##创建逻辑卷 [root@node1 ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully create ...
- RabbitMQ Go客户端教程4——路由
本文翻译自RabbitMQ官网的Go语言客户端系列教程,本文首发于我的个人博客:liwenzhou.com,教程共分为六篇,本文是第四篇--路由. 这些教程涵盖了使用RabbitMQ创建消息传递应用程 ...
- 网络监听FTP明文口令实验
一. 开启环境 1.登录FTP服务器. 2.启动FTP服务器 (1)打开FTP服务器.点击最左面绿色按钮,启动ftp服务器. (2)可以看到以下变化:ftp服务器启动.显示"FTP服务在线& ...