天天看点

Nagios 监控mongodb

 随着mongodb的广泛使用监控mongodb的业务现在已经变得十分重要了现在我们就来讨论一下nagios中mongodb的监控方法。

一:下载nagios-plugin-mongodb插件。

  下载地址

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

二:把下载压缩包中的check_mongodb.py插件上传至nagios服务器。

  把插件放置在nagios的libexec目录下如图

  注意添加权限

1

2

<code># chown nagios.nagios check_mongodb.py</code>

<code># chmod a+x check_mongodb.py</code>

三:测试check_mongdb.py插件是否能用。

<code># ./check_mongodb.py --help</code>

 若是能够正常现实帮助选项则插件能够正常使用若显示no module named pymongo信息则要为系统安装pymongo模块。

四:下载安装pymongo。    

  下载最新的pymongo2.7.1

<code># wget --no-check-certificate https://pypi.python.org/packages/source/p/pymongo/pymongo-2.7.1.tar.gz</code>

  安装pymongo  

3

<code># tar -zxvf pymongo-2.7.1.tar.gz</code>

<code># cd pymongo-2.7.1</code>

<code># python setup.py install</code>

五:使用check_mongodb.py插件测试mongodb连接。        

  如图

六:配置nagios。

 配置命令

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<code># vi /usr/local/nagios/etc/objects/commands.cfg</code>

<code>######check_mongodb########</code>

<code>define </code><code>command</code> <code>{</code>

<code>    </code><code>command_name    check_mongodb</code>

<code>    </code><code>command_line    $USER1$</code><code>/check_mongodb</code><code>.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ </code>

<code>}</code>

<code>    </code><code>command_name    check_mongodb_database</code>

<code>    </code><code>command_line    $USER1$</code><code>/check_mongodb</code><code>.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -d $ARG6$</code>

<code>    </code><code>command_name    check_mongodb_collection</code>

<code>    </code><code>command_line    $USER1$</code><code>/check_mongodb</code><code>.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -d $ARG6$ -c $ARG7$</code>

<code>    </code><code>command_name    check_mongodb_replicaset</code>

<code>    </code><code>command_line    $USER1$</code><code>/check_mongodb</code><code>.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -r $ARG6$</code>

<code>    </code><code>command_name    check_mongodb_query</code>

<code>    </code><code>command_line    $USER1$</code><code>/check_mongodb</code><code>.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -q $ARG6$</code>

 配置服务(以下分别监控连接,空闲连接,内存使用,复制集状态,库大小)

23

24

25

26

27

28

29

30

31

32

<code># vi /usr/local/nagios/etc/objects/localhost.cfg</code>

<code>######check_mongodb##########</code>

<code>define service{</code>

<code>        </code><code>use                             linux-service        </code>

<code>        </code><code>host_name                       10.0.1.103</code>

<code>        </code><code>service_description             check_mongodb_connect_54</code>

<code>        </code><code>check_command            check_mongodb!10.0.1.54!connect!27017!2!4</code>

<code>        </code><code>}</code>

<code>  </code><code>define service{</code>

<code>        </code><code>use                             linux-service         ; Name of service template to use</code>

<code>        </code><code>service_description             check_mongodb_connections_54</code>

<code>        </code><code>check_command                   check_mongodb!10.0.1.54!connections!27017!70!80</code>

<code>        </code><code>service_description             check_mongodb_memory_54</code>

<code>        </code><code>check_command                   check_mongodb!10.0.1.54!memory!27017!20!28</code>

<code>        </code><code>service_description             check_mongodb_rep_state_54</code>

<code>        </code><code>check_command                   check_mongodb!10.0.1.54!replset_state!27017!0!0</code>

<code>        </code><code>service_description             check_mongodb_database_exam_54</code>

<code>        </code><code>check_command                   check_mongodb_database!10.0.1.54!database_size!27017!300!500!exam</code>

七:测试语法重读nagios配置

<code># /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</code>

 若无错误重读配置

<code># service nagios reload</code>

八:查看nagios监控页面验证结果。

  如图所示监控配置完成。

  可根据需求配置添加mongodb的各项监控指标内存数据库等。

本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1852743,如需转载请自行联系原作者