Я перехожу с Nagios 3.2.3 на 4.02, и у меня появляется неконкретное сообщение об ошибке: Есть ли способ получить более подробную информацию из Nagios Core? Из приложенного вывода об ошибке я не понимаю, что может быть не так, и даже какой файл .cfg является виновником.
/usr/local/nagios/bin/nagios -vvvvvv /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.0.2
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 11-25-2013
License: GPL
Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'...
Processing object config file '/etc/nagios/objects/contacts.cfg'...
Processing object config file '/etc/nagios/objects/escalations.cfg'...
Processing object config file '/etc/nagios/objects/timeperiods.cfg'...
Processing object config file '/etc/nagios/objects/templates.cfg'...
Processing object config file '/etc/nagios/objects/signal-hosts.cfg'...
Processing object config file '/etc/nagios/objects/servicechecks.cfg'...
Processing object config file '/etc/nagios/objects/passivechecks.cfg'...
Processing object config file '/etc/nagios/objects/websites/aws1-checkwebservices.cfg'...
Processing object config file '/etc/nagios/objects/websites/aws2-checkwebservices.cfg'...
Processing object config file '/etc/nagios/objects/websites/awscabot-checkwebservices.cfg'...
Processing object config file '/etc/nagios/objects/others.cfg'...
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.
Включить вывод отладки и установите уровень 2 или 3 (DEBUGL_FUNCTIONS и DEBUGL_CONFIG).
(Посмотрев на источник, моя первоначальная мысль о том, что это проблема с разрешениями, была неправильной; есть конкретное сообщение об ошибке для проблем «не удается прочитать объектный файл».)
Если в отладочных выводах нет ничего полезного, вы можете попробовать запустить его через strace
. Если это не вариант или бесполезен, вам придется немного взломать источник, чтобы получить больше информации.
Если вы действительно хотите это сделать:
Ваша ошибка является очень общей, вызванной (base/nagios.c
строки 435-438):
/* read object config files */
result = read_all_object_data(config_file);
if(result != OK) {
printf(" Error processing object config files!\n\n");
Эта функция (в base/config.c
) просто устанавливает флаг опции, а затем вызывает read_object_config_data()
, который возвращает общую ОШИБКУ.
Эта функция (в common/objects.c
) действительно просто звонки xodtemplate_read_config_data
.
Настоящая работа выполняется в xodtemplate_read_config_data
(в xdata/xodtemplate.x
). Поэтому, если вы хотите добавить дополнительный вывод отладки, вероятно, вам следует это сделать.