说明:monitor.example.com该域名是做内部监控使用,不能提供给外部访问,所以使用htpasswd命令对根目录做了访问限制。


1,使用默认的本地配置无法正常监控http服务

-bash-4.1$ cat localhost.cfg
define service{
        use                             local-service
        host_name                       localhost
        service_description             HTTP
        check_command                   check_http
        notifications_enabled           0
        }

wKiom1OYI_WziWDMAAH1P9CwQkI057.jpg

2,监控需要验证的http服务:

创建nagios验证帐号和密码:
[root@monitor ~]# /data1/server/apache/bin/htpasswd /data1/server/nagios/etc/htpasswd nagios:nagios
[root@monitor ~]# su - nagios
-bash-4.1$ cd etc/objects/
定义新命令check_http_auth
-bash-4.1$ vim commands.cfg
#添加下面内容
define command{
        command_name    check_http_auth
        command_line    $USER1$/check_http -H monitor.example.com -a nagios:nagios
        }
:wq

./check_http -h#通过-h获取帮助,获得check_http_auth命令的参数 

-bash-4.1$ vim localhost.cfg
define service{
        use                             local-service         ; Name of service template to use
        host_name                       localhost
        service_description             HTTP
        check_command                   check_http_auth#将check_http修改为新命令check_http_auth
        notifications_enabled           0
        }

切换到root用户,重启nagios:

[root@monitor ~]# service nagios restart
Stopping nagios:                                           [  OK  ]
Starting nagios:                                           [  OK  ]

wKioL1OYJGOxpGjsAAIkUjL8gog020.jpg