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 ...
随机推荐
- SQLMAP-Tamper之较为通用的双写绕过
前言 21年省决赛的SQLITE注入就是用的双写绕过,当时是手搓代码打的,这几天想起来了,寻思着写个tamper试试. 一开始以为很简单,后来才发现有很多要注意的点,折磨了挺久. 等弄完才明白为什么s ...
- 全量、增量数据在HBase迁移的多种技巧实践
作者经历了多次基于HBase实现全量与增量数据的迁移测试,总结了在使用HBase进行数据迁移的多种实践,本文针对全量与增量数据迁移的场景不同,提供了1+2的技巧分享. HBase全量与增量数据迁移的方 ...
- LGP5279题解
这题好牛逼啊... 虽然说也是 DP 套 DP,但是感觉比 TJOI 那题高明到哪里去了( 我们先考虑如何计算期望.如果设 \(f_i\) 为拿到 \(i\) 张牌后胡的方案数,这个并不是很好做,因为 ...
- 【基础】工作中常用的linux命令,经常会被面试官问到
前言 面试经常会问到一些Linux操作命令,下面就工作中常用的和面试问的频率较高的命令做详细描述. 常用命令 修改密码:passwd 用户名 切换用户名:su 用户名 查看当前路径:pwd 调整路径: ...
- 使用Resource文件实现应用程序多语言
写在前面: 1.创建资源文件 资源文件命名规则为:文件名(自定义)+cultrueInfo.Name+.resx后缀名 如:A.en-US.resx A.zh-CN.resx 这样命名应用程序代码会根 ...
- Centos7.x环境下 安装Diszz
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.背景 Discuz 是基于PHP网页,在 Linux 和 windows 两平台均可部署的论坛工具.本实验带你基于 CentOS 快速搭建属于 ...
- Vtune工具简介
VTune是 Intel 提供的一个强大的应用程序性能分析软件,VTune Amplifier XE 2011 集成了Intel VTune Performance Analyzer 和 Thread ...
- python+pytest接口自动化(10)-session会话保持
在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢? 上一篇文章我们介绍了Cookie绕过登录,其实这就是保持登录状态的方法之一. 另外一种方式则是通过 ...
- corn计划周期任务
corn计划任务 1.计划任务有四种方式 cron ...
- FOC中的电流采样
电流采样是FOC的基础,具体有电流传感器采样.电阻采样,电阻采样以其简单低成本的应用广泛使用. 电阻法采样有单电阻采样.双电阻采样.三电阻采样. 一. 单电阻采样 单电阻采用分时采样,在一个PWM周期 ...