Page 1 of 3
HTTP service gets CRITICAL, bad configuration?
Posted: Mon Aug 31, 2015 10:01 pm
by reynierpm
Hi there, I am compiled and installed Nagios and I didn't setup anything else. After start Nagios and goes to web interface I can see HTTP service is getting CRITICAL flag and service is up and running. I think I am missing something on the configuration but I don't know where to look - for the right documentation - or what to change in configuration files. At localhost.cfg I can see this service definition:
Code: Select all
# Define a service to check HTTP on the local machine.
# Disable notifications for this service by default, as not all users may have HTTP enabled.
define service{
use local-service ; Name of service template to use
host_name localhost
service_description HTTP
check_command check_http
notifications_enabled 0
}
Then at commands.cfg I have this:
Code: Select all
# 'check_http' command definition
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
What is missing here?
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Tue Sep 01, 2015 9:02 am
by hsmith
reynierpm wrote:Hi there, I am compiled and installed Nagios and I didn't setup anything else. After start Nagios and goes to web interface I can see HTTP service is getting CRITICAL flag and service is up and running. I think I am missing something on the configuration but I don't know where to look - for the right documentation - or what to change in configuration files. At localhost.cfg I can see this service definition:
Code: Select all
# Define a service to check HTTP on the local machine.
# Disable notifications for this service by default, as not all users may have HTTP enabled.
define service{
use local-service ; Name of service template to use
host_name localhost
service_description HTTP
check_command check_http
notifications_enabled 0
}
Then at commands.cfg I have this:
Code: Select all
# 'check_http' command definition
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
What is missing here?
What OS did you install Nagios on?
What version of Nagios did you install?
What does the return of a
service httpd status look like?
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Tue Sep 01, 2015 9:00 pm
by reynierpm
hsmith wrote:
What OS did you install Nagios on?
What version of Nagios did you install?
What does the return of a service httpd status look like?
What OS did you install Nagios on? => CentOS 6.7
What version of Nagios did you install? => Nagios Core 4.1.1
What does the return of a
service httpd status look like?[/quote] => httpd (pid 24075) is running...
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Wed Sep 02, 2015 9:32 am
by hsmith
reynierpm wrote:hsmith wrote:
What OS did you install Nagios on?
What version of Nagios did you install?
What does the return of a service httpd status look like?
What OS did you install Nagios on? => CentOS 6.7
What version of Nagios did you install? => Nagios Core 4.1.1
What does the return of a
service httpd status look like? => httpd (pid 24075) is running...
What's SELinux up to?
Try issuing a
getenforce.
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Wed Sep 02, 2015 9:37 am
by reynierpm
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Wed Sep 02, 2015 9:44 am
by hsmith
What do the permissions on your /usr/local/nagios/libexec directory look like? ls -l /usr/local/nagios/libexec
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Wed Sep 02, 2015 9:48 am
by reynierpm
Here:
Code: Select all
# ls -l /usr/local/nagios/libexec
total 5800
-rwxr-xr-x 1 nagios nagios 180378 Aug 31 20:53 check_apt
-rwxr-xr-x 1 nagios nagios 2309 Aug 31 20:53 check_breeze
-rwxr-xr-x 1 nagios nagios 183255 Aug 31 20:53 check_by_ssh
lrwxrwxrwx 1 root root 9 Aug 31 20:53 check_clamd -> check_tcp
-rwxr-xr-x 1 nagios nagios 138601 Aug 31 20:53 check_cluster
-r-sr-xr-x 1 root nagios 177049 Aug 31 20:53 check_dhcp
-rwxr-xr-x 1 nagios nagios 178225 Aug 31 20:53 check_dig
-rwxr-xr-x 1 nagios nagios 195820 Aug 31 20:53 check_disk
-rwxr-xr-x 1 nagios nagios 9348 Aug 31 20:53 check_disk_smb
-rwxr-xr-x 1 nagios nagios 194726 Aug 31 20:53 check_dns
-rwxr-xr-x 1 nagios nagios 87302 Aug 31 20:53 check_dummy
-rwxr-xr-x 1 nagios nagios 3542 Aug 31 20:53 check_file_age
-rwxr-xr-x 1 nagios nagios 6375 Aug 31 20:53 check_flexlm
lrwxrwxrwx 1 root root 9 Aug 31 20:53 check_ftp -> check_tcp
-rwxr-xr-x 1 nagios nagios 283767 Aug 31 20:53 check_http
-r-sr-xr-x 1 root nagios 183262 Aug 31 20:53 check_icmp
-rwxr-xr-x 1 nagios nagios 147251 Aug 31 20:53 check_ide_smart
-rwxr-xr-x 1 nagios nagios 15238 Aug 31 20:53 check_ifoperstatus
-rwxr-xr-x 1 nagios nagios 13386 Aug 31 20:53 check_ifstatus
lrwxrwxrwx 1 root root 9 Aug 31 20:53 check_imap -> check_tcp
-rwxr-xr-x 1 nagios nagios 6947 Aug 31 20:53 check_ircd
-rwxr-xr-x 1 nagios nagios 159764 Aug 31 20:53 check_load
-rwxr-xr-x 1 nagios nagios 6595 Aug 31 20:53 check_log
-rwxr-xr-x 1 nagios nagios 22730 Aug 31 20:53 check_mailq
-rwxr-xr-x 1 nagios nagios 145337 Aug 31 20:53 check_mrtg
-rwxr-xr-x 1 nagios nagios 146574 Aug 31 20:53 check_mrtgtraf
-rwxr-xr-x 1 nagios nagios 159034 Aug 31 20:53 check_nagios
lrwxrwxrwx 1 root root 9 Aug 31 20:53 check_nntp -> check_tcp
-rwxr-xr-x 1 nagios nagios 181138 Aug 31 20:53 check_nt
-rwxr-xr-x 1 nagios nagios 184885 Aug 31 20:53 check_ntp
-rwxr-xr-x 1 nagios nagios 176682 Aug 31 20:53 check_ntp_peer
-rwxr-xr-x 1 nagios nagios 172223 Aug 31 20:53 check_ntp_time
-rwxr-xr-x 1 nagios nagios 213167 Aug 31 20:53 check_nwstat
-rwxr-xr-x 1 nagios nagios 8926 Aug 31 20:53 check_oracle
-rwxr-xr-x 1 nagios nagios 161573 Aug 31 20:53 check_overcr
-rwxr-xr-x 1 nagios nagios 185006 Aug 31 20:53 check_ping
lrwxrwxrwx 1 root root 9 Aug 31 20:53 check_pop -> check_tcp
-rwxr-xr-x 1 nagios nagios 188874 Aug 31 20:53 check_procs
-rwxr-xr-x 1 nagios nagios 158327 Aug 31 20:53 check_real
-rwxr-xr-x 1 nagios nagios 9642 Aug 31 20:53 check_rpc
-rwxr-xr-x 1 nagios nagios 1465 Aug 31 20:53 check_sensors
-rwxr-xr-x 1 nagios nagios 191184 Aug 31 20:53 check_smtp
-rwxr-xr-x 1 nagios nagios 156774 Aug 31 20:53 check_ssh
-rwxr-xr-x 1 nagios nagios 144169 Aug 31 20:53 check_swap
-rwxr-xr-x 1 nagios nagios 171082 Aug 31 20:53 check_tcp
-rwxr-xr-x 1 nagios nagios 159349 Aug 31 20:53 check_time
lrwxrwxrwx 1 root root 9 Aug 31 20:53 check_udp -> check_tcp
-rwxr-xr-x 1 nagios nagios 169685 Aug 31 20:53 check_ups
-rwxr-xr-x 1 nagios nagios 139395 Aug 31 20:53 check_uptime
-rwxr-xr-x 1 nagios nagios 137241 Aug 31 20:53 check_users
-rwxr-xr-x 1 nagios nagios 2995 Aug 31 20:53 check_wave
drwxr-xr-x 4 nagios nagios 4096 Aug 31 20:45 eventhandlers
-rwxr-xr-x 1 nagios nagios 132332 Aug 31 20:53 negate
-rwxr-xr-x 1 nagios nagios 127118 Aug 31 20:53 urlize
-rwxr-xr-x 1 nagios nagios 1949 Aug 31 20:53 utils.pm
-rwxr-xr-x 1 nagios nagios 2791 Aug 31 20:53 utils.sh
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Wed Sep 02, 2015 9:59 am
by hsmith
What's the output of this when done from the command line?
/usr/local/nagios/libexec/check_http -H localhost
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Wed Sep 02, 2015 10:10 am
by reynierpm
hsmith wrote:What's the output of this when done from the command line?
/usr/local/nagios/libexec/check_http -H localhost
I've some VirtualHost defined on this server so here are my tests:
run the command above
Code: Select all
# /usr/local/nagios/libexec/check_http -H localhost
HTTP CRITICAL: HTTP/1.1 500 Internal Server Error - 801 bytes in 0.002 second response time |time=0.001728s;;;0.000000 size=801B;;;0
Change my VirtualHost to this:
Code: Select all
<VirtualHost *:80>
ServerName admin.qa.pdone.com
ServerAlias api.qa.pdone.com
ServerAlias share.qa.pdone.com
DocumentRoot /var/www/html/mt020415-00-pdonereptool/web
<Directory /var/www/html/mt020415-00-pdonereptool/web>
# enable the .htaccess rewrites
AllowOverride All
Order allow,deny
Allow from All
</Directory>
ErrorLog /var/log/httpd/pdone_error.log
LogFormat "%h %l %t \"%r\" \"%{X-PDONE-SESSION-ID}i\" %>s %b" common
CustomLog /var/log/httpd/pdone_access.log common
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
ServerAlias xxx.xxxx.xxxx.xxx
DocumentRoot /var/www/html
<Directory /var/www/html>
# enable the .htaccess rewrites
AllowOverride All
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
Tried the same command again:
Code: Select all
# /usr/local/nagios/libexec/check_http -H localhost
HTTP WARNING: HTTP/1.1 403 Forbidden - 5159 bytes in 0.002 second response time |time=0.001546s;;;0.000000 size=5159B;;;0
I should check for this domains "admin.qa.pdone.com, api.qa.pdone.com, share.qa.pdone.com" I think, if they are alive then all should be good right? My concern around this is what happen if DNS fails and HTTP service still up & running, on this case check for HTTP server at localhost will be better, right?
Re: HTTP service gets CRITICAL, bad configuration?
Posted: Wed Sep 02, 2015 10:17 am
by jdalrymple
Can you try to create an empty file /var/www/html/index.html and see if that resolves your problem?
**Edit**
To expand on what I asked, by default you will get 403 forbidden when running check_http against localhost in a CentOS box because directory listing is forbidden and you have no index file. If you create the file it will change the behavior of the system. It's a common occurrence that a base install of Nagios on base CentOS will have the problem you described if there is no index file in /var/www/html.