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. 转:Android 调试桥(adb)是多种用途的工具

    转自:http://my.oschina.net/xuwa/blog/1574 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态. 可以通过下列几种方法加入 ...

  2. doxygen使用

    前言 下面主要讲解linux下Doxygen命令行实现html文档生成的操作,当然也有界面版本操作方式,linux下安装doxygen-gui即可通过doxywizard开启界面操作,windows下 ...

  3. Selenium IDE安装和检查获取的控件路径技巧

    来源:http://www.jianshu.com/p/0ea2dc83549f 从学习Selenium 开始,都是自己写脚本,后来得知有个插件Selenium IDE可以录制脚本,也懒得用了,觉得自 ...

  4. js中的数组(类)的相加

    var wcf=[1,2,3,4,5] console.log(wcf[4]) var wcf1=[7,8,9,10,11] var wcf2=wcf+wcf1 console.log(wcf2) c ...

  5. Redis 源码走读(二)对象系统

    Redis设计了多种数据结构,并以此为基础构建了多种对象,每种对象(除了新出的 stream 以外)都有超过一种的实现. redisObject 这个结构体反应了 Redis 对象的内存布局 type ...

  6. (五)mysql表操作和约束条件

    (1)表基本操作 1)创建表 create table 表名(字段 数据类型 约束条件) mysql> create table student1(id int,name varchar(50) ...

  7. magento 开启模板路径提示

    1.进入后台system->configuration->,选择main Website 2.advanced->developer中,将Debug中的Template Path H ...

  8. String.Format,DateTime日期时间格式化

    DateTime dt = DateTime.Now;//2010年10月4日 17点05分            string str = "";            //st ...

  9. [Baltic2003] Gem

    [Baltic2003]Gem Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 501  Solved: 320[Submit][Status][Discu ...

  10. BZOJ 1878 [SDOI2009]HH的项链(扫描线+树状数组)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1878 [题目大意] 给出一个数列,给出m个查询,每次查询一个区间中不相同的数字个数 [ ...