nagios check_mongodb插件监控mongodb

当在生产环境下使用某种服务时,相应的监控措施也应当完善起来,来检测服务是否正常和获取相关信息是很有必要的。

下面来说说使用nagios-plugin-mongodb来监控mongodb数据库。https://github.com/mzupan/nagios-plugin-mongodb

1. 下载check_mongodb nagios插件

2. 安装Mongo Python驱动

需要先安装EPEL源。参见《CentOS / RHCE 可供使用的yum》。

或者自己下载源码包编译。

或通过python easy_install来安装。

3. check_mongodb.py 说明

Nagios MongoDB监控插件的所有动作:

通过参数-A来传递下列任一动作。这些动作有:’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’, ‘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’

4. 定义nagios command

5. 创建监控项

5.1 Check Connection 需要监控集群中每台mongodb实例。

5.2 Check Percentage of Open Connections 检查空闲连接率

5.3 Check Replication Lag 检测复制延迟

5.4 Check Replication Lag Percentage 检查复制滞后百分比。如果检查达到100%的话就需要完全重新同步。

5.5 Check Memory Usage 检查内存使用情况

5.6 Check Mapped Memory Usage 检查mongodb映射内存使用情况

5.7 Check Lock Time Percentage 检查锁定时间百分比。如果有锁定时间通常意味着数据库已经超载。

5.8 Check Average Flush Time 检查平均刷新时间。如果平均刷新时间高就意味着数据库存在大量写。

5.9 Check Last Flush Time 检查最后刷新时间。如果最后刷新时间高就意味着服务器可能存在IO压力,需要更换更快的磁盘。

5.10 Check status of mongodb replicaset 检查的MongoDB replicaset状态

5.11 Check status of index miss ratio 检查索引命中失败率。如果该值高,需要考虑添加索引了。

5.12 Check number of databases and number of collections

5.13 Check size of a database 检查数据库的大小。跟踪数据增长率。

5.14 Check index size of a database 检查数据库的索引大小

5.15 Check index size of a collection 检查一个集合的索引大小

5.16 Check the primary server of replicaset 检查replicaset的主服务器

5.17 Check the number of queries per second 检查每秒查询数量。这将检查服务器上每秒查询数量,类型有:query|insert|update|delete|getmore|command

5.18 Check Primary Connection

5.19 Check Collection State 检测集合状态

转载请注明来自运维生存时间: http://www.ttlsa.com/html/4188.html