次のエラーが発生します。
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
}