设为首页 收藏本站
查看: 1346|回复: 0

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

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-6-19 09:10:30 | 显示全部楼层 |阅读模式
网上有很多关于nagios 监控mongodb 的介绍,但是无一例外,手工执行 python 能获取客户端的值,nagios 监控界面上面显示null, 针对该问题,本人用shell 脚本重新封装了部分监控选项,让nagios 能正常监控mongodb 服务器
如果想了解nagios 监控mongodb的部署过程,请点击:

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

安装pymongotar -xvzfpymongo-1.9.tar.gz
cd pymongo-1.9
pythonsetup.py install

检查是否安装pymongo[iyunv@P-masternagios-plugin-mongodb]# 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 看是否能正常运行,如下显示说明正常运行
[iyunv@P-masternagios-plugin-mongodb]# ./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 服务器的配置文件:
[iyunv@P-masternagios-plugin-mongodb]# 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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-78703-1-1.html 上篇帖子: Linux系统搭建Nagios监控平台 下篇帖子: linux下搭建nagios监控 null 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表