说明: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 }
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 ]