Error: Service has no hosts and/or service_description
今天配置nagios的时候,遇到一个报错,颇为头疼了一段时间,特此记录。
环境:centos6.5 nagiso 4.0.8
故障现象:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.0.8
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-12-2014
License: GPL
Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Error: Service has no hosts and/or service_description (config file ‘/usr/local/nagios/etc/objects/templates.cfg‘, starting on line 188)
Error processing object config files!
***> One or more problems was encountered while processing the config files...
Check your configuration file(s) to ensure that they contain valid
directives and data defintions. If you are upgrading from a previous
version of Nagios, you should be aware that some variables/definitions
may have been removed or modified in this version. Make sure to read
the HTML documentation regarding the config files, as well as the
‘Whats New‘ section to find out what has changed.
问题原因:
# vim templates.cfg
# Local service definition template - This is NOT a real service, just a template!
define service{
name local-service ; The name of this service template
use generic-service ; Inherit default values from the generic-service definition
max_check_attempts 4 ; Re-check the service up to 4 times in order to determine its final (hard) state
normal_check_interval 5 ; Check the service every 5 minutes under normal conditions
retry_check_interval 1 ; Re-check the service every minute until a hard state can be determined
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
define service{
name dkdh-service
check_interval 5
retry_interval 1
max_check_attempts 4
check_command check-host-alive ; Default command to check if routers are "alive"
check_period 24x7
process_perf_data 0
retain_nonstatus_information 0
contact_groups dkdhadmins
notification_interval 5
notification_period 24x7
notification_options w,u,c,r
register 0
}
上面红色字体的配置项,一开始没有写,添加之后解决。
故障分析:
该配置项的含义 DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!可以看出该配置项主要是判断是否该服务是模板,一般在该配置文件我们都建为模板,不作为实际使用的服务。由其他地方调用。如果不配置默认值可能是1(待验证)会认为这个是要启动的服务,但是找不到关联的主机,所以报错。
如有错误请斧正。