A-A+

nagios的命令接口

2008年11月25日 编程开发 暂无评论 阅读 1 次
 
 
 

在一个复杂的nagios监控系统中,需要提供一些灵活的接口来对主机或者服务控制。如:当某台主机down机,需要禁用对改主机的检测;再如某个服务暂时进行维护,需要禁用对服务的检测等等。使用nagios自带的命令接口需要登录才能控制相关的主机和服务,我做了一个简单的CGI程序来处理这些命令(这些CGI需要放到apache的cgi-bin下,放到nagios的cgi-bin目录下需要身份认证)。

以下列出一些常用的命令:

一、主机命令:

格式:http://IP/cgi-bin/cmd_host?cmd_name=命令名称&host=主机名

1、禁用该主机的主动检查:

cmd_nameDISABLE_HOST_CHECK

host:主机名

 

2、启用该主机的主动检查:

cmd_nameENABLE_HOST_CHECK

host:主机名

 

3、禁用该主机的通知

cmd_nameDISABLE_HOST_NOTIFICATIONS

host:主机名

 

4、启用该主机的通知

cmd_nameENABLE_HOST_NOTIFICATIONS

host:主机名

 

5、禁用该主机上的所有服务通知

cmd_nameDISABLE_HOST_SVC_NOTIFICATIONS

host:主机名

 

6、启用该主机上的所有服务通知

cmd_nameENABLE_HOST_SVC_NOTIFICATIONS

host:主机名

 

7、禁用该主机上的所有服务检查

cmd_nameDISABLE_HOST_SVC_CHECKS

host:主机名

 

8、启用该主机上的所有服务检查

cmd_nameENABLE_HOST_SVC_CHECKS

host:主机名

 

9、禁用该主机接受被动检查

cmd_nameDISABLE_PASSIVE_HOST_CHECKS

host:主机名

 

10、启用该主机接受被动检查

cmd_nameENABLE_PASSIVE_HOST_CHECKS

host:主机名

 

 

二、服务命令

格式:http://IP/cgi-bin/cmd_svc?cmd_name=命令名称&host=主机名&service=服务名

1、禁用该服务的主动检查

cmd_nameDISABLE_SVC_CHECK

host:主机名

service:服务名

 

2、启用该服务的主动检查

cmd_nameENABLE_SVC_CHECK

host:主机名

service:服务名

 

3、停止接受该服务的被动检测结果

cmd_nameDISABLE_PASSIVE_SVC_CHECKS

host:主机名

service:服务名

 

4开始该服务的接受被动检查

cmd_nameENABLE_PASSIVE_SVC_CHECKS

host:主机名

service:服务名

 

5、禁用该服务的通知

cmd_nameDISABLE_SVC_NOTIFICATIONS

host:主机名

service:服务名

 

6启用该服务通知

cmd_nameENABLE_SVC_NOTIFICATIONS

host:主机名

service:服务名

 

下面的文件是所用到的CGI脚本,用法是将这些源码放到apache的cgi-bin目录下进行编译:

gcc -o cmd_host cmd_host.c

gcc -o cmd_svc cmd_svc.c

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录