다음 오류가 발생합니다.
Error: Could not find any host matching '$HOSTNAME$' (config file '/usr/local/nagios/etc/servers/example.com.cfg', starting on line 136)
Error: Failed to expand host list '$HOSTNAME$' for service 'HTTP' (/usr/local/nagios/etc/servers/example.com.cfg:136)
내 호스트/서비스 정의:
define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name example.com
alias example.com
address 127.0.0.1
}
###############################################################################
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################
# Define an optional hostgroup for Linux machines
define hostgroup{
hostgroup_name linux-servers ; The name of the hostgroup
alias Linux Servers ; Long name of the group
members example.com ; Comma separated list of hosts that belong to this group
}
내 템플릿:
# 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
check_interval 5 ; Check the service every 5 minutes under normal conditions
retry_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 http
check_command check_http
notifications_enabled 0
service_description HTTP
host_name $HOSTNAME$
register 0
}
define service{
use local-service,http ; Name of service template to use
# host_name example.com
}
이것은 특별한 일을 하지 않는 꽤 기본 Nagios입니다. $HOSTNAME$을(를) 잘못 사용하고 있는 걸까요? 복사-붙여넣기 등은 물론이고 호스트 이름에 대한 변수를 얻을 수 있다면 좋을 것 같습니다. :)
감사합니다!
답변1
당신이 정의했기 때문에템플릿( register 0
), 실행되는 호스트 또는 호스트 그룹을 지정해서는 안 됩니다. use
나중에 템플릿을 사용하여 호스트 또는 호스트 그룹에 대한 검사를 지정할 때 이 작업을 수행하게 됩니다. 귀하의 예에서 확장된 최소한의 예는 다음과 같습니다.
define service{
name http-template
check_command check_http
notifications_enabled 0
service_description HTTP
register 0
}
define service{
use http-template
host example.com
}