Erro de configuração do Nagios: “Token ou declaração inesperada no arquivo” durante a verificação antes do voo

1

Estou usando o Nagios 3.2.3 no CentOS 6.5. Tudo durante install e make ocorreu sem problemas. Eu transferi meus arquivos conf, fiz as alterações apropriadas e fiz um teste pré-voo contra o meu arquivo nagios.cfg. No meu arquivo nagios.cfg, eu uso cfg_dir=/usr/local/nagios/etc/conf.d e, em seguida, deixo o Nagios pesquisar recursivamente por esse diretório.

A saída de /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg mostra o seguinte:

Website: http://www.nagios.org
Reading configuration data...
    Read main config file okay...
Processing object config directory '/usr/local/nagios/etc/conf.d'...
Processing object config directory '/usr/local/nagios/etc/conf.d/hostgroups.d'...
Processing object config file '/usr/local/nagios/etc/conf.d/hostgroups.d/hostgroups.cfg'...
Processing object config directory '/usr/local/nagios/etc/conf.d/commands.d'...
Processing object config file '/usr/local/nagios/etc/conf.d/commands.d/commands.cfg'...
Processing object config directory '/usr/local/nagios/etc/conf.d/templates.d'...
Processing object config file '/usr/local/nagios/etc/conf.d/templates.d/templates.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/templates.d/printer.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/templates.d/switch.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/templates.d/timeperiods.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/templates.d/windows.cfg'...
Processing object config directory '/usr/local/nagios/etc/conf.d/objects'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/previews-indexes-qa.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/contacts.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/restart_cb_sites.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/hudson-slave01.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/ipc-qa.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/russellreynolds.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/lr.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/objects/ts-01.cfg'...
Processing object config file '/usr/local/nagios/etc/conf.d/cgi.cfg'...
Error: Unexpected token or statement in file '/usr/local/nagios/etc/conf.d/cgi.cfg' on line 15.
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.

Então, eu verifico o arquivo cgi.cfg na linha 15, que aponta para meu main_config_file=

#################################################################
#
# CGI.CFG - Sample CGI Configuration File for Nagios 3.4.4
#
# Last Modified: 06-17-2009
#
#################################################################


# MAIN CONFIGURATION FILE
# This tells the CGIs where to find your main configuration file.
# The CGIs will read the main and host config files for any other
# data they might need.

main_config_file=/usr/local/nagios/etc/nagios.cfg //line 15 here


# PHYSICAL HTML PATH
# This is the path where the HTML files for Nagios reside.  This
# value is used to locate the logo images needed by the statusmap
# and statuswrl CGIs.

physical_html_path=/usr/local/nagios/share

O nagios.cfg está propositalmente fora do diretório conf.d /. O caminho listado também está correto:

[root@ip-172-31-46-232 conf.d]# locate nagios.cfg
/usr/local/nagios/etc/nagios.cfg
    
por bbraun17 13.10.2014 / 18:12

2 respostas

1

Depois de falar com @mdpc, eu verifiquei a documentação do Nagios. Não está claro nem na sua cara, mas diz isso:

By default, Nagios expects the CGI configuration file to be named cgi.cfg and located in the config file directory along with the main config file.

Eu movi o cgi.cfg e o nagios.cfg de volta para o mesmo diretório e ele passou bem. Tentei novamente a verificação antes do voo e encontrei o mesmo erro exato, mas sobre o meu arquivo resource.cfg . Movido o arquivo de configuração para o mesmo diretório com os arquivos cgi e nagios e foi bem.

Agora, meu conteúdo de diretório de /usr/local/nagios/etc/ inclui:

  • conf.d / # contém subdiretórios categorizados de arquivos cfg
  • cgi.cfg
  • nagios.cfg
  • resource.cfg

O que é realmente frustrante é que em nenhum lugar na documentação do Nagios ele declara explicitamente que o arquivo cgi.cfg, nagios.cfg e resource.cfg precisam estar todos no mesmo diretório.

Obrigado pelas sugestões, pessoal.

    
por 13.10.2014 / 19:58
1

Eu experimentei o mesmo problema - e descobriu-se que o problema não era que os arquivos tivessem que estar em um caminho específico, mas ao contrário - eu estava tentando usar um arquivo resource.cfg de um caminho que também era digitalizados usando a definição cfg_dir - o que resultou em um erro como $USERX$=xxx starts with an invalid token no que diz respeito às definições de objeto no nagios!

Por outro lado, quando incluí resource.cfg de outro caminho, tudo funcionou bem!

Espero que isso ajude alguém tentando descobrir isso: -)

    
por 07.04.2016 / 18:02