nagios本身不提供监控mongodb的服务,需要安装插件

已经有大神写好的插件nagios_plugin-mongodb

地址https://github.com/mzupan/nagios-plugin-mongodb

记录下如何使用

首先在监控机上切换到脚本所在目录

cd /usr/local/nagios/libexec

git clone git://github.com/mzupan/nagios-plugin-mongodb.git

cd nagios-plugin-mongodb

pip isntall requirements

这样就安装好了脚本,主要是其中的check_mongodb.py

该脚本用python写的,需要安装python中的pymongo库,上一部的requirements里面就有pymongo所以已经安装好了

接下来就是重头戏配置文件

编辑command.cfg文件

vim /usr/local/nagios/etc/objects/command.cfg

在最后加入以下内容具体的指令什么意思可以切换到脚本文件下执行./check_mongodb.py --help来查看

# 'check_mongodb' command definition
define command {
command_name check_mongodb
command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -u $ARG5$ -P $ARG6$ -D
} define command {
command_name check_mongodb_database
command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -d $ARG5$ -u $ARG6$ -P $ARG7$ -D
} define command {
command_name check_mongodb_collection
command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -d $ARG5$ -c $ARG6$ -u $ARG7$ -P $ARG8$ -D
} define command {
command_name check_mongodb_replicaset
command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -r $ARG5$ -u $ARG6$ -P $ARG7$ -D
} define command {
command_name check_mongodb_query
command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -q $ARG5$ -u $ARG6$ -P $ARG7$ -D
}

-H 是主机地址-A是操作-P是端口-u用户名-p密码

把上面的HOSTADDRESS换乘ARG1,其他的也要依次换掉

接着编辑你的被监控机的配置文件

加入

 Define a service to check Mongodb on the remvoe machine

define service{
use generic-service
host_name vm_test
service_description check_mongodb_connect_99
check_command check_mongodb!10.0.0.99!connect!!!!username!password
}
define service{
use generic-service ; Name of service template to use
host_name vm_test
service_description check_mongodb_connections_99
check_command check_mongodb!10.0.0.99!connections!!!!username!password
}
define service{
use generic-service ; Name of service template to use
host_name vm_test
service_description check_mongodb_memory_99
check_command check_mongodb!10.0.0.99!memory!!!!username!password
}
define service{
use generic-service ; Name of service template to use
host_name vm_test
service_description check_mongodb_rep_state_99
check_command check_mongodb!10.0.0.99!replset_state!!!!username!password
}
define service{
use generic-service ; Name of service template to use
host_name vm_test
service_description check_mongodb_database_exam_99
check_command check_mongodb_database!10.0.0.99!database_size!!!!test!username!password

基本就配置好了

最重要的一步,检查配置文件是否正确

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

正确的话重启下nagios和nrpe,记得监控机防火墙开启27017端口

以上是直接通过执行脚本来操作mongodb

还可以利用nrpe来进行监控

把监控机的配置文件改一下

 Define a service to check Mongodb on the remvoe machine

define service{
use generic-service
host_name vm_test
service_description check_mongodb_connect
check_command check_nrpe!check_mongodb_connect
}

在被监控机上修改nrep.cfg文件

command[check_mongodb_connect]=/usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.py -H 10.0.0.99 -A connect -P  -W  -C  -u username -p password

重启nrpe和nagios即可

nagios监控mongodb的更多相关文章

  1. Nagios监控mongodb分片集群服务实战

    1,监控插件下载 Mongodb插件下载地址为:git clone git://github.com/mzupan/nagios-plugin-mongodb.git,刚開始本人这里没有安装gitpu ...

  2. nagios监控redis

    nagios是非常强大的监控工具,但是它本身没有监控redis的功能 但是网上有很多大神写了监控redis的插件,比较热门的使用perl写的check_redis.pl 但是由于我们监控mongodb ...

  3. Nagios监控平台搭建

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

  4. nagios二次开发(四)---nagios监控原理和nagios架构简介

    nagios监控原理 下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明: 1.nagios通过nsca进行被动监控.那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传 ...

  5. 烂泥:nagios监控单网卡双IP

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司的业务有几台服务器存放在IDC机房中,说是双线路.但是我看到网卡的配置是单网卡双IP的形式.如下: 而公司这边的线路是联通的IP,如下: nagio ...

  6. Nagios监控ganglia的指标

    这是nagios与ganglia整合的一部分内容 . 通常我们会把ganglia的监控发送给一个主机,我们可以在这个主机上执行nc localhost 8649 可以获取到所有发往这个主机的信息,以x ...

  7. [工具开发] keepalived使用nagios监控脚本

    最近在做开发和办公环境的高可用,采用的是keepalived:keepalived基于Linux内核支持的LVS,既能实现高可用,又能实现负载均衡,非常实用. keepalived监控服务状态时可以用 ...

  8. 一步步实现Nagios监控linux主机及飞信报警

    一步步实现Nagios监控linux主机及飞信报警 上篇文章介绍了在linux主机上架设nagios监控服务,并对windows主机进行服务状态变化的监控,这次我们继续上次内容.      首先实现n ...

  9. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

随机推荐

  1. CVE-2016-6662 利用条件

    首先执行SET GLOBAL 需要超级用户权限,所以利用条件要么用户本身是超级用户要么用户有trigger权限,通过创建trigger,由超级用户触发SET GLOBAL. 然而MYsql有个通过fi ...

  2. 设置session过期时间

    1如下是登录注册和记住密码的功能: # -*- coding: utf-8 -*- def cms_login(request): if request.method == 'GET': return ...

  3. mysql六:索引原理与慢查询优化

    一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句 ...

  4. linux内核分析笔记----中断和中断处理程序【转】

    转自:http://www.cnblogs.com/hanyan225/archive/2011/07/17/2108609.html 中断还是中断,我讲了很多次的中断了,今天还是要讲中断,为啥呢?因 ...

  5. codevs 1018 [noip 2000 提高] 单词接龙

    题目链接:http://codevs.cn/problem/1018/ 题目描述 Description 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母, ...

  6. Linux下文件的三个时间意义及用法

    Linux下文件的三个时间参数: (1)modification time(mtime):内容修改时间        这里的修改时间指的是文件的内容发生变化,而更新的时间. (2)change tim ...

  7. 请求参数中的"+"号为什么会丢失,如何保证参数完整

    最近在开发中碰见一个问题,后端代码调用接口,在请求端参数没有任何问题,但是当接口接收到参数时,其中的加号全部变为了空格. 在查阅资料后发现是URLDecoder方法的问题,以下是URLDecoder的 ...

  8. location.href、location.assign和location.replace的区别

    在写跳转页面的时候遇到个有意思的问题,RT的三个均能用来写跳转,总结了下它们之间的区别. 1.window.location.href=“url”;      改变url地址. location.hr ...

  9. logging 日志两种使用方法(转)

    下面我们使用代码logging的代码来说明: 使用baseConfig()函数对 logging进行 简单的 配置: import logging; # 使用baseConfig()函数,可选参数有f ...

  10. [BZOJ 1794] Linear Garden

    Link: BZOJ 1794 传送门 Solution: IOI2008官方题解:传送门 要求序号,其实就是算字典序比其小的序列个数 从而使用数位$dp$的思想来解题,关键在于维护序列要$balan ...