NAGIOS API

在一个复杂的nagios监控系统中,需要提供一些灵活的接口来对主机或者服务控制。如:当某台主机down机,需要禁用对改主机的检测;再如某个服务暂时进行维护,需要禁用对服务的检测等等。使用nagios自带的命令接口需要登录才能控制相关的主机和服务,我做了一个简单的CGI程序来处理这些命令(这些CGI需要放到apache的cgi-bin下,放到nagios的cgi-bin目录下需要身份认证)。
以下列出一些常用的命令:
一、主机命令:
格式:
http://IP/cgi-bin/cmd_host?cmd_name=命令名称&host
=主机名
1、禁用该主机的主动检查:
cmd_name:DISABLE_HOST_CHECK
host:主机名

2、启用该主机的主动检查:
cmd_name:ENABLE_HOST_CHECK
host:主机名

3、禁用该主机的通知
cmd_name:DISABLE_HOST_NOTIFICATIONS
host:主机名

4、启用该主机的通知
cmd_name:ENABLE_HOST_NOTIFICATIONS
host:主机名

5、禁用该主机上的所有服务通知
cmd_name:DISABLE_HOST_SVC_NOTIFICATIONS
host:主机名

6、启用该主机上的所有服务通知
cmd_name:ENABLE_HOST_SVC_NOTIFICATIONS
host:主机名

7、禁用该主机上的所有服务检查
cmd_name:DISABLE_HOST_SVC_CHECKS
host:主机名

8、启用该主机上的所有服务检查
cmd_name:ENABLE_HOST_SVC_CHECKS
host:主机名

9、禁用该主机接受被动检查
cmd_name:DISABLE_PASSIVE_HOST_CHECKS
host:主机名

10、启用该主机接受被动检查
cmd_name:ENABLE_PASSIVE_HOST_CHECKS
host:主机名


二、服务命令
格式:
http://IP/cgi-bin/cmd_svc?cmd_name=命令名称&host
=主机名&service=服务名
1、禁用该服务的主动检查
cmd_name:DISABLE_SVC_CHECK
host:主机名
service:服务名

2、启用该服务的主动检查
cmd_name:ENABLE_SVC_CHECK
host:主机名
service:服务名

3、停止接受该服务的被动检测结果
cmd_name:DISABLE_PASSIVE_SVC_CHECKS
host:主机名
service:服务名

4、开始该服务的接受被动检查
cmd_name:ENABLE_PASSIVE_SVC_CHECKS
host:主机名
service:服务名

5、禁用该服务的通知
cmd_name:DISABLE_SVC_NOTIFICATIONS
host:主机名
service:服务名

6、启用该服务通知
cmd_name:ENABLE_SVC_NOTIFICATIONS
host:主机名
service:服务名

posted @ 2016-01-04 09:42  marcwang  阅读(1995)  评论(0编辑  收藏  举报