Nagios variável $ HOSTNAME $ na definição de serviço

1

Eu recebi o seguinte erro:

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)

Minha definição de host / serviço:

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
        }

Meu modelo:

    # 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
        }

É um Nagios bastante padronizado, não fez nada de especial com ele. Estou usando $ HOSTNAME $ errado ou algo assim? Seria legal se eu conseguisse uma variável para o nome do host, e muito menos copiasse colando etc :)

Obrigado!

    
por Florius 26.04.2018 / 22:07

1 resposta

0

Como você está definindo um modelo ( register 0 ) , você não deve especificar o host ou host para que ele seja executado; você faria isso quando, posteriormente, use o modelo especificasse uma verificação em relação a um host ou grupo de hosts. Aqui está um exemplo mínimo, ampliado do seu:

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
}
    
por 14.05.2018 / 15:52

Tags