nagios 监控 mongodb 解决nagios界面显示null 问题

网上有很多关于nagios 监控mongodb 的介绍,但是无一例外,手工执行 python 能获取客户端的值,nagios 监控界面上面显示null, 针对该问题,本人用shell 脚本重新封装了部分监控选项,让nagios 能正常监控mongodb 服务器

如果想了解nagios 监控mongodb的部署过程,请点击:

http://www.2cto.com/database/201410/341855.html

https://github.com/mzupan/nagios-plugin-mongodb/blob/master/README.md

实现原理:

利用shell 脚本 获取 check_mongodb.py 的 值,然后传给nagios 实现nagios 警告

系统环境变量:

centos5.8 64bit

python2.4.3

pymongo  1.9

安装pymongo

tar -xvzfpymongo-1.9.tar.gz

cd pymongo-1.9

pythonsetup.py install

检查是否安装pymongo

[[email protected]]# python

Python2.4.3 (#1, Feb 22 2012, 16:05:45)

[GCC4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2

Type"help", "copyright", "credits" or"license" for more information.

>>>import pymongo

>>>pymongo.version

‘1.9‘

>>>import sys

>>>sys.exit()

mv  nagios-plugin-mongodb-bycsc.zip  /usr/local/nagios/libexec/

unzip nagios-plugin-mongodb-bycsc.zip

chown -Rnagios:nagios  /usr/local/nagios/libexec/nagios-plugin-mongodb

chmod -R755  /usr/local/nagios/libexec/nagios-plugin-mongodb

执行check_mongodb.py 看是否能正常运行,如下显示说明正常运行

[[email protected]]# ./check_mongodb.py -h

。。。省略

-c COLLECTION, --collection=COLLECTION

Specify the collectionto check

-T SAMPLE_TIME, --time=SAMPLE_TIME

Time used to samplenumber of pages faults

nagios服务配置:

1.nagios 服务器root 账户 定时任务配置:

具体参数请参考:/usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh脚本

*/10 * * * *  /usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh  10.0.8.17 ALL 30000

*/10 * * * * /usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh  10.0.8.18 ALL 30000

*/10 * * * * /usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh  10.0.8.19 ALL 30000

利用定时任务,把以上服务器的状态检查结果重定向到/tmp文件夹下

2.nagios 服务器端 配置文件配置

commands 配置文件:

vi  /usr/local/nagios/etc/objects/commands.cfg  添加:

definecommand {

command_name    check_mongodb

command_line   /usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh  ‘$HOSTADDRESS$‘  ‘$ARG1$‘ ‘$ARG2$‘

}

命令解说:

/usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh    IP地址  监控选项  端口

check_mongodb.py监控选项可以有如下:

usage:check_mongodb.py [options]

check_mongodb.py:error: option -A: invalid choice: ‘memordfd‘ (choose from ‘connect‘,‘connections‘, ‘replication_lag‘, ‘replication_lag_percent‘, ‘replset_state‘,‘memory‘, ‘memory_mapped‘, ‘lock‘, ‘flushing‘, ‘last_flush_time‘,‘index_miss_ratio‘, ‘databases‘, ‘collections‘, ‘database_size‘,‘database_indexes‘, ‘collection_indexes‘, ‘collection_size‘, ‘queues‘, ‘oplog‘,‘journal_commits_in_wl‘, ‘write_data_files‘, ‘journaled‘, ‘opcounters‘,‘current_lock‘, ‘replica_primary‘, ‘page_faults‘, ‘asserts‘,‘queries_per_second‘, ‘page_faults‘, ‘chunks_balance‘, ‘connect_primary‘,‘collection_state‘, ‘row_count‘, ‘replset_quorum‘)

目前check_mongodb.sh只是配置了 ‘connect‘  ‘connections‘ replset_state ‘memory‘ 选项

可以参考 README.md 列子进行配置!

测试配置:

在nagios 账户下运行命令检查mongodb服务器:(nagios账户下面执行)

su -nagios

# su  - nagios

$/usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh 10.0.8.19memory 30000

OK -Memory Usage: 0.04GB resident, 0.78GB virtual, 0.08GB mapped, 0.16GBmappedWithJournal

如显示以上结果,则通过

编写nagios 服务器端 mongodb 服务器的配置文件:

[[email protected]]# cat  /usr/local/nagios/etc/objects/server-8-17.cfg

definehost{

use           linux-server

host_name               server-8-17

alias                   server-8-17

address                 10.0.8.17

}

defineservice{

use             generic-service

host_name       server-8-17

service_description     SSH

check_command   check_ssh

}

......省略其他配置文件

#检测mongodb服务的连接时间

defineservice{

use             generic-service

host_name       server-8-17

service_description     check mongodb connect 30000

check_command            check_mongodb!connect!30000

}

#检查mongodb的连接数

defineservice{

use             generic-service

host_name       server-8-17

service_description     check mongodb connections 30000

check_command            check_mongodb!connections!30000

}

#检查mongodb内存使用率

defineservice{

use             generic-service

host_name       server-8-17

service_description     check mongodb memory 30000

check_command           check_mongodb!memory!30000

}

#mongo复制的状态

defineservice{

use             generic-service

host_name       server-8-17

service_description     check mongodb replset state 30000

check_command           check_mongodb!replset_state!30000

}

#检查mongodb复制完成的百分比率确保primary和standby的time是一致的

defineservice{

use             generic-service

host_name       server-8-17

service_description     check mongodb replication lag 30000

check_command           check_mongodb!replication_lag!30000

}

备注:

检查筏值 请在/usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh 里面配置 -W -C 参数

上传 自带脚本 /usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.sh

时间: 2024-10-31 00:59:15

nagios 监控 mongodb 解决nagios界面显示null 问题的相关文章

nagios监控mongodb

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-mongod

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

1,监控插件下载 Mongodb插件下载地址为:git clone git://github.com/mzupan/nagios-plugin-mongodb.git,刚开始本人这里没有安装gitpub环境,找网友草根帮忙下载的,之后上传到了csdn资源页面,新的下载地址为:http://download.csdn.net/detail/mchdba/8019077 2,添加新的mongodb监控命令 因为mongodb服务是和mysql从库公用一台物理机,之前已经做了基础nagios以及mys

Nagios 监控mongodb

随着mongodb的广泛使用监控mongodb的业务现在已经变得十分重要了现在我们就来讨论一下nagios中mongodb的监控方法. 一:下载nagios-plugin-mongodb插件. 下载地址 https://github.com/mzupan/nagios-plugin-mongodb 二:把下载压缩包中的check_mongodb.py插件上传至nagios服务器. 把插件放置在nagios的libexec目录下如图 注意添加权限 # chown nagios.nagios che

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

nagios监控原理 下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明: 1.nagios通过nsca进行被动监控.那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传数据到nagios监控系统中.这种监测方式提高了实时性(出现问题的时候,被监测的服务器可以及时上传数据通知nagios,从而使管理员可以尽快作出处理,而不用像主动监测中一样,非要等到下一个监测周期才能获知被监测服务器的状态).NSCA就是可以实现Nagios被动监测的一个程序.目前所知道的,只能通过

Nagios 监控系统架设全攻略

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知.Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人

Nagios 监控系统架设全攻略(一)

最近一段时间在研究Nagios监控系统,然后网上搜索查看很多的资料,借鉴与各位大虾的经验,整理记录一下自己安装记录. Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营

Nagios 监控mysql服务器详细实现过程

1.NRPE介绍 NRPE是Nagios的一个功能扩展,它可在远程Linux/Unix主机上执行插件程序.通过在远程服务器上安装NRPE插件及Nagios插件程序来向Nagios监控平台提供该服务器的本地情况,如CPU负载,内存使用,磁盘使用等.这里将Nagios监控端称为Nagios服务器端,而将远程被监控的主机称为Nagios客户端. Nagios监控远程主机的方法有多种,其方式包括SNMP,NRPE,SSH,NCSA等.这里介绍其通过NRPE监控远程Linux主机的方式. NRPE(Nag

nagios监控实用教程

nagios监控实用教程 Nagios作为开源网络监视工具,它不但可以有效的监控内存.流量.数据库使用情况.它还可以Windows.Linux主机状态.本专题收录了有关Nagios监控相关文章,供大家参考学习. 标签:nagios nagios监控 监控工具 阅读量:26196收藏量:8 文章标题 阅读评论 作者 nagios网卡流量监控 trffic.sh 51/0 anyue0072017-04-26 nagios搭建(二):nagios监控windows主机 1203/0 fantefei

监控三剑客之Nagios

Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务和主机,但是其自身并不包括这些功能,所有的监控.检测功能都是通过各种插件来完成的.启动nagios后,它会周期性的自动调用插件去检测服务器状态,同时nagios会维持一个队列,所有插件返回的状态信息都进入队列,nagios每次都从队首读取信息,进行处理后,再把状态结果通过web显示出来.这就是被动模