Nagios 3.x + NConf - настройка системы мониторинга Nagios 3.x и утилиты конфигурирования NConf

Версия для печатиОтправить другуPDF version

Nagios NConf

Понадобилось настроить систему мониторинга. Раньше пользовался с этой целью системой мониторинга Nagios 2.x, однако уже есть возможность воспользоваться 3 версией. В последней не только исправлены найденные ранее ошибки, добавлены новые макросы и многое другое, но и пересмотрен алгоритм сканирования, с целью устранить один из главных недостатков этой системы – медлительность при проверке больших сетей. В 2.х все тесты проходят практически последовательно, а в новой редакции задачи выполняются параллельно. Хотя вторая версия еще развивается, очевидно, что в будущем все силы будут брошены на третью ветку.

Проект возник в 2002 году, хотя первое время он был известен как NetSaint. Его лидером является программист Этан Галстад. Само слово Nagios, по информации на сайте www.nagios.org, – это рекурсивный акроним, который расшифровывается, как Nagios Ain't Gonna Insist On SainthoodNagios не собирается настаивать на святости») – намек на предыдущее название проекта. Функциональность расширяется за счет плагинов и аддонов, большая часть из которых доступна на странице закачки.

Общеобразовательная часть завершена, приступаем к установке. Установка будет выполнена из системы портов:

# cd /usr/ports/net-mgmt/nagios && make install clean && rehash

Автоматически устанавливаются плагины, расширяющие основной функционал системы.

Также, во время установки система предлагает создать пользователя и групу nagios. Советую воспользоваться данным предложением.

По завершении установки советую ознакомиться с инструкциями, котрые вывел Nagios после установки:

**********************************************************************
 
 Enable Nagios in /etc/rc.conf with the following line:
 
   nagios_enable="YES"
 
 Configuration templates are available in /usr/local/etc/nagios as
 *.cfg-sample files.  Copy them to *.cfg files where required and
 edit to suit your needs.  Documentation is available in HTML form
 in /usr/local/www/nagios/docs.
 
 If you don't already have a web server running, you will need to
 install and configure one to finish off your Nagios installation.
 When used with Apache, the following should be sufficient to publish
 the web component of Nagios (modify the allow list to suit):
 
   <Directory /usr/local/www/nagios>
     Order deny,allow
     Deny from all
     Allow from 127.0.0.1
     php_flag engine on
     php_admin_value open_basedir /usr/local/www/nagios/:/var/spool/nagios/
   </Directory>
 
   <Directory /usr/local/www/nagios/cgi-bin>
     Options ExecCGI
   </Directory>
 
   ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
   Alias /nagios/ /usr/local/www/nagios/
 
**********************************************************************
 

 Приступаем к выполнению предписаний... Добавим в rc.conf загрузку Nagios:

# echo '# Nagios' >> /etc/rc.conf
# echo 'nagios_enable="YES"' >> /etc/rc.conf

Добавляем в конфигурационный файл Apache (/usr/local/etc/apache22/httpd.conf) следующий блок:

# ***************************************** #

Alias /nagios/ "/usr/local/www/nagios/"

<Directory /usr/local/www/nagios/>
        Order deny,allow
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/etc/nagios/.htpasswd.nagios
        Require valid-user
</Directory>

<Directory /usr/local/www/nagios/cgi-bin/>
        Options ExecCGI
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/etc/nagios/.htpasswd.nagios
        Require valid-user
</Directory>

# ***************************************** #

Поскольку указана необходимость авторизации, добавим пользователя в указанный файл авторизации:

# htpasswd -c /usr/local/etc/nagios/.htpasswd.nagios username
New password:
Re-type new password:
Adding password for user username

Обратите внимание на ключ "-с" - он указывает на необходимость создания файла авторизации. При последующем добавлении пользователей этот ключ не указываем.

Примечание: необходима поддержка обработки cgi-скриптов. В секции <IfModule mime_module> должна быть расскоментирована строка "AddHandler cgi-script .cgi".

Проверяем синтаксис конфигурационного файла, и если все в порядке, перезапускаем Apache:

# apachectl configtest
Syntax OK
# apachectl graceful

Теперь можно проверить, обрабатывает ли веб-сервер запросы. Для этого необходимо подключиться по адресу http://ip_servera/nagios/

Должно отобразиться окно авторизации, а после успешной авторизации - главное окно мониторинговой системы:

Nagios

Теперь можно пойти двумя путями. Первый - отредактировать конфигурационные файлы Nagios вручную, второй - установить интерфейс конфигурирования. Ввиду админской лени, остановимся на втором варианте.

Для Nagios второй ветки я использовал Fruity. Но, поскольку решил перейти на 3 ветку Nagios, то и интерфейс конфигурирования протестируем какой-то новый.

Выбор пал на Nconf (Enterprise Nagios configurator) - дополнение для конфигурирования Nagios, написанное на PHP. В портах Nconf не был обнаружен, поэтому идем на страницу проекта и ищем последнюю версию для загрузки. На момент написания статьи - это была версия NConf 1.2.6 от 26.11.2009.

# cd /usr/local/www
# wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz

Распакуем архив и сделаем владельцем файлов и каталогов пользователя www:

# tar -xzf nconf-1.2.6-0.tgz
# chown -R www:www nconf

Добавим в конфигурационный файл Apache еще один блок:

Alias /nconf/ "/usr/local/www/nconf/"
<Directory /usr/local/www/nconf/>
        Order deny,allow
        Allow from all
        AuthName "Nagios configurator Access"
        AuthType Basic
        AuthUserFile /usr/local/etc/nagios/.htpasswd.nagios
        Require valid-user
</Directory>

Соответственно, "передергиваем" Apache:

# apachectl configtest
Syntax OK
# apachectl graceful

Пора ознакомиться с требованиями и особенностями инсталляции. Все описано в файле /usr/local/www/nconf/README. Требования следующие:

NConf system requirements:

    * Apache webserver
    * PHP 5 or higher, php-mysql, php-ldap (only if using LDAP auth)
    * MySQL 5.0.2 or higher (with InnoDB)
    * Perl 5.6 or higher, perl-DBI, perl-DBD-MySQL
    * Nagios 3.x or Icinga 0.8x (binary necessary for testing generated config)

php.ini settings:

    * short_open_tag = On
    * register_globals = Off
    * magic_quotes_gpc = Off

Теперь по очереди...

* Apache webserver.

# pkg_info | grep apache
apache-2.2.16       Version 2.2.x of Apache web server with prefork MPM.

Apache - установлен. Пропускаем.

* PHP 5 or higher, php-mysql.

# pkg_info | grep php

php52-5.2.14        PHP Scripting Language
php52-bz2-5.2.14    The bz2 shared extension for php
php52-ctype-5.2.14  The ctype shared extension for php
php52-curl-5.2.14   The curl shared extension for php
php52-dom-5.2.14    The dom shared extension for php
php52-filter-5.2.14 The filter shared extension for php
php52-gd-5.2.14     The gd shared extension for php
php52-gettext-5.2.14 The gettext shared extension for php
php52-hash-5.2.14   The hash shared extension for php
php52-iconv-5.2.14  The iconv shared extension for php
php52-json-5.2.14   The json shared extension for php
php52-mbstring-5.2.14 The mbstring shared extension for php
php52-mcrypt-5.2.14 The mcrypt shared extension for php
php52-mhash-5.2.14  The mhash shared extension for php
php52-mysql-5.2.14  The mysql shared extension for php
php52-openssl-5.2.14 The openssl shared extension for php
php52-pcre-5.2.14   The pcre shared extension for php
php52-session-5.2.14 The session shared extension for php
php52-simplexml-5.2.14 The simplexml shared extension for php
php52-snmp-5.2.14   The snmp shared extension for php
php52-sockets-5.2.14 The sockets shared extension for php
php52-spl-5.2.14    The spl shared extension for php
php52-xml-5.2.14    The xml shared extension for php
php52-zip-5.2.14    The zip shared extension for php
php52-zlib-5.2.14   The zlib shared extension for php
phpMyAdmin-3.3.6    A set of PHP-scripts to manage MySQL over the web

C PHP тоже все в порядке.

* MySQL 5.0.2 or higher (with InnoDB).

# pkg_info | grep mysql
mysql-client-5.1.50_1 Multithreaded SQL database (client)
mysql-server-5.1.50 Multithreaded SQL database (server)
php52-mysql-5.2.14  The mysql shared extension for php

MySQL 5.1... Все в порядке.

* Perl 5.6 or higher, perl-DBI, perl-DBD-MySQL.

# pkg_info | grep perl
p5-GD-2.45          A perl5 interface to Gd Graphics Library version2
p5-GD-Graph-1.44.01_4 Graph plotting module for perl5
perl-5.10.1_2       Practical Extraction and Report Language

Perl установлен, а вот perl-DBI и perl-DBD-MySQL необходимо доустановить.

* Nagios 3.x or Icinga 0.8x.

# pkg_info | grep nagios
nagios-3.2.2_1      Extremely powerful network monitoring system
nagios-plugins-1.4.15_1,1 Plugins for Nagios

Ну, и Nagios... Конечно же установлен.

Выполним установку perl-DBI:

# cd /usr/ports/databases/p5-DBI && make install clean && rehash

Аналогично выполним установку perl-DBD-MySQL. Поскольку у меня версия MySQL v.5.1.50, то устанавливать буду p5-DBD-mysql51:

# cd /usr/ports/databases/p5-DBD-mysql51 && make install clean && rehash

Теперь проверяем настройки PHP. У меня все опции соответствовали требуемым. Кстати, проверить настройки PHP можно следующим образом. Создадим файл info.php следующего содержания:

# cat /usr/local/www/nconf/info.php

<?php
          phpinfo();
?>
 

Чтобы просмотреть настройки PHP, необходимо в браузере войти на следующий адрес: http://ip_servera/nconf/info.php.

Условия выполнены... Приступим к инсталляции. Можно выполнить все действия, описанные в README. А можно запустить скрипт установки:  http://ip_servera/nconf/INSTALL.php.

Скриншоты установки:

Проверка системных требований.

NConf

 Шаг 1. Конфигурация базы данных.

Предварительно создадим саму базу данных и пользователя с необходимыми правами.

# mysql -u root -p
Enter password:
mysql> CREATE DATABASE nconf;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL ON `nconf`.* TO 'nconf'@'localhost' IDENTIFIED BY 'nconf_user_pass_here';
Query OK, 0 rows affected (0.04 sec)

Теперь заполним необходимые поля и жмем "Next"

NConf

Таблицы созданы успешно...

NConf

Шаг 2. Конфигурирование.

Необходимо указать правильный путь к бинарнику Nagios - /usr/local/bin/nagios

NConf

Шаг 3. Настройка аутентификации.

Без аутентификации. Кто имеет доступ к Nagios, тот имеет доступ и к NConf (настройки Apache).

NConf

Шаг 4. Завершение установки.

Необходимо удалить инсталяционные файлы и директории:

# rm -R /usr/local/www/nconf/INSTALL
# rm /usr/local/www/nconf/INSTALL.php
# rm -R /usr/local/www/nconf/UPDATE
# rm /usr/local/www/nconf/UPDATE.php

NConf

Результат.

Если все прошло успешно, в результате имеем установленный NConf.

NConf

 

Конфигурирование NConf

Для начала советую побродить по меню для знакомства с возможностями... Можно обнаружить, что некоторые базовые настройки уже добавлены. Уже мониторится локальный хост.

Добавим в мониторинг коммутатор с IP-адресом 10.10.0.2 и изменим некоторые параметры... Теперь все по очереди.

Hosts

Имеем по умолчанию в наличии 4 хоста для мониторинга:

NConf

Мониторится из них только один - localhost, остальные отключены. Поскольку необходимо добавить коммутатор, то я не буду добавлять новый хост, а отредактирую присутствующий в примере linksys-srw224p.

Жмем "Edit" и правим до следующего состояния:

NConf

Сохраняем изменения. Удаляем неактивные хосты и добавляем мониторинг необходимых сервисов для каждого оставшегося хоста. Для коммутатора я оставил только check_ping, а для сервера набор сервисов был следующий:

NConf services

Переходим на закладку Hostgroups.

Hostgroups

На этой закладке я добавил еще одну групу устройств - voip, а linux-servers переименовал в unix-servers. Также, зайдя в hostgroup name - switches, добавил свой комутатор.

Contacts

На этой вкладке отредактировал существующего пользователя nagiosadmin на свои контактные данные:

NConf

Самая примитивная конфигурация готова...

Теперь пора внести некоторые изменения в Nagios. Скопируем предложенные *-sample файлы в файлы конфигурации:

# cd /usr/local/etc/nagios
# cp cgi.cfg-sample cgi.cfg
# cp nagios.cfg-sample nagios.cfg
# cp resource.cfg-sample resource.cfg

Теперь необходимо отредактировать файл nagios.cfg. Необходимо обнаружить все входжения в файл строк, которые начинаются на cfg_dir и cfg_file и удалить либо закомментировать их. Вместо удаленных строк необходимо добавить такие:

cfg_dir=/usr/local/etc/nagios/global
cfg_dir=/usr/local/etc/nagios/Default_collector

Создадим каталог, куда будуть импортироваться конфигурационные файлы:

# mkdir /usr/local/etc/nagios/import

Теперь отредактируем скрипт переноса конфигурации, который идет в комплекте с NConf. В результате получим:

# cat /usr/local/www/nconf/ADD-ONS/deploy_local.sh

#!/bin/sh

OUTPUT_DIR="/usr/local/www/nconf/output/"
NAGIOS_DIR="/usr/local/etc/nagios/"
TEMP_DIR=${NAGIOS_DIR}"import/"
CONF_ARCHIVE="NagiosConfig.tgz"

if [ ! -e ${TEMP_DIR} ] ; then
mkdir -p ${TEMP_DIR}
fi

if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then
cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}
tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}
/usr/local/etc/rc.d/nagios reload
fi

exit

Добавим в /etc/crontab такую строку:

* * * * * root /bin/sh /usr/local/www/nconf/ADD-ONS/deploy_local.sh

Перезапустим cron, чтобы изменения вступили в силу:

# killall -HUP cron

Кстати, необходимо также скопировать файлы изображений для их корректного  отображения:

# cp -r /usr/local/www/nconf/img/logos /usr/local/www/nagios/images/

Теперь сгенерируем конфигурационные файлы Nagios-а,  нажав в NConf на ссылку Generate Nagios config. В результате имеем в каталоге /usr/local/www/nconf/output/ архив с конфигурационными файлами. Осталось подождать минуту-две (чтобы запустился скрипт /usr/local/www/nconf/ADD-ONS/deploy_local.sh) и запустить Nagios:

# sh /usr/local/etc/rc.d/nagios start
Performing sanity check of nagios configuration: OK
Starting nagios.

Переходим на web-интерфейс Nagios наблюдаем примерно такую картину:

Nagios

Теперь дело за малым - добавить необходимые хосты и указать сервисы для мониторинга. Базовая настройка закончена.

 

Примечания:

  1. Внес изменения в файл /usr/local/etc/nagios/nagios.cfg. Изменил параметр date_format. Новое значение - euro.
     
  2. Чтобы Nagios "обрел голос", необходимо расскоментировать следующие строки в файле /usr/local/etc/nagios/cgi.cfg:
    - host_unreachable_sound=hostdown.wav
    - host_down_sound=hostdown.wav
    - service_critical_sound=critical.wav
    - service_warning_sound=warning.wav
    - service_unknown_sound=warning.wav
    Также необходимо разместить сами файлы в каталоге /usr/local/www/nagios/media/. А скачать файлы можно по следующим ссылкам:
    - critical.wav
    - hostdown.wav
    - warning.wav
     
  3. В дефолтной конфигурации можна наблюдать вот такие сообщения о нехватке прав доступа:
    Nagios
    "Лечится" это назначением прав доступа к определенным разделам в файле /usr/local/etc/nagios/cgi.cfg. Я же, не заморачиваясь, разрешил полный доступ всем авторизованым пользователям:
     

    # cat /usr/local/etc/nagios/cgi.cfg | grep authorized

    authorized_for_system_information=*
    authorized_for_configuration_information=*
    authorized_for_system_commands=*
    authorized_for_all_services=*
    authorized_for_all_hosts=*
    authorized_for_all_service_commands=*
    authorized_for_all_host_commands=*
    #authorized_for_read_only=user1,user2

    # sh /usr/local/etc/rc.d/nagios reload

     

  4. Рекомендую также включить "Passive Checks".
    В NConf в разделе "Nagios Servers" отображаем "Nagios-collectors", нажав кнопку "Show" напротив этого параметра. Далее необходимо отредактировать доступный сервер "Default Nagios" и параметр "passive checking" устанавливаем в значение "1".
    Сохраняем изменения и жмем "Generate Nagios config".
     
  5. Есть возможность изменить периодичность ротации логов. За периодичночсть ротации логов отвечает параметр log_rotation_method в файле /usr/local/etc/nagios/nagios.cfg. Доступные значения:
    - n - none - не выполнять ротацию логов
    - h - hourly - ротация выполняется каждый час
    - d - daily - ежедневная ротация (в полночь, каждый день)
    - w - weekly - еженедельно (в полночь, в ночь с субботы на воскресенье)
    - m - monthly - ежемесячно (в полночь последнего дня месяца).
    Установил у себя еженедельную ротацию логов: log_rotation_method=w
     
  6. В настройках по умолчанию, уведомления на почту не приходят. Причина - ошибочные пути к мыльнику.
    "Лечится" это очень просто. Необходимо вывести список "Misccommands". Нас интересуют такие "misc command name":
    notify-host-by-email
    notify-service-by-email
    Их значения по умолчанию такие:

    notify-host-by-email: 
    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

    notify-service-by-email:

     /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

    Все что нам нужно - это изменить путь с /bin/mail на /usr/bin/mail. Ну и дать команду "Generate Nagios config".

 

Ваша оценка: Нет Средняя: 4.8 (11 голосов)

Спасибо за полезную статью.

Спасибо за полезную статью.

Наваял то шо

Художнико

Наваял то шо смог.

Пасибко, что оценили. Кста, если есть чем "поделиться" - бросай на мыло, опубликую.

Очепятка Alias "/nagios/

Очепятка

Alias "/nagios/ /usr/local/www/nagios/"  изменить на

Alias /nagios/ "/usr/local/www/nagios/"

Таки да :) Пасибко, исправил.

Таки да :)

Пасибко, исправил.

Скрипт не работает тот

Скрипт не работает тот который конфиг с nconf в папку нагиоса скидывает. Не могу понять почему :(  Взял руками копирнул

 

Кстати пришлось еще сделать chown -R nagios:nagios /var/spool/nagios/  потому как при старте нагиоса ругалось что не может сделать в той папке nagios.log

У мну тоже сначала не

У мну тоже сначала не работал.

Покурил маны... Оказалось, что последовательность такая:

  1. Меняем в скрипте пути на необходимые
  2. Добавляем запуск скрипта в cron
  3. Перечитываем конфигурацию cron-а
  4. Настраиваем параметры, генерируем конфиг
  5. Вносим изменения, еще раз генерируем конфиг

После этого скрипт работает. Там стоит проверка, старый это архив, или другой. Соответственно, после того, как данные изменились, архив будет распакован по указанным путям. Сделано это для того, чтобы не "передергивать" nagios каждую минуту.

Спасиб. Завтра попробую. А

Спасиб. Завтра попробую. А случайно не знаешь может есть где-то в и-нете описание интерфейса cacti где там чего делается? 

Где в инете нарыть - не в

Где в инете нарыть - не в курсе. А сам не описал - времени как-то не было. Но за полчаса можно все осилить, если "подсказывают".

Вот здесь есть -

У тебя в начале скрипта

У тебя в начале скрипта стоит  #!/bin/sh  , а надо #!/usr/local/bin/bash  поэтому у меня скрипт и не работал. Точнее первая часть работала, а вторая

 

if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then
cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}
tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}
/usr/local/etc/rc.d/nagios reload
fi
 

нет )

 

 

to Studio

Спасибо. Щас посмотрю

Это уже в зависимости от

Это уже в зависимости от командного интерпретатора, который используется в системе.

Я лично использую tcsh, а все скрипты работают под sh.

При запуске

При запуске http://your_ip/nconf/INSTALL.php вылазила ошиибка - Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect. The script.... Решилась раскоментированием сроки session.save_path = "/tmp" в php.ini. Может кому пригодится.

Вот еще такая бяка вылазит при нажатии "Generate Nagios Config" - Could not execute generate_config script.
The file '/usr/local/www/nconf/bin/generate_config.pl' is not executable. В чем может быть бок?

PHP работает в режиме

PHP работает в режиме SAFE MODE, который некорректно настроен. Как вариант, вообще  отключить SAFE MODE. Добавьте в корневую директорию Nagios-а файл .htaccess такого содержания:

php_admin_flag safe_mode off

 

Не помогло... Помогло

Не помогло...

Помогло добавление в httpd.conf строчки "php_admin_flag safe_mode off" для директории "nconf"

Значит не разрешено

Значит не разрешено использование .htaccess.

Разрешить использование .htaccess можно, установив для директории опцию AllowOverride All.

Более подробно о .htaccess - здесь.

Спасибо за статью, настроил -

Спасибо за статью, настроил - все работает. Но ... Нет уведомления на почту, вначале нашел ошибку в  misccommands.cfg, в строке notify-host-by-email нужно было указать верный путь к mail, поправил :( все равно не отсылает уведомления, в логах nagios ничего, в maillog тоже (на сервере postfix). Куда копать? пробовал вместо обращения к mail вызов своего скрипта - глухо. Возможно у кого либо есть идеи по этому поводу

По умолчанию уведомления

По умолчанию уведомления отключены.

Включить можно следующим образом... Меню "Additional Items", пункт "Contacts", опция "Show". Редактируем контакт, и правим пункты "host notification options" и "service notification options". Убираем ключи "n" - эта опция обозначает " not notify", тоесть по своей сути отключает отправку уведомлений.

А можно как-то перетащить

А можно как-то перетащить старые конфиги (ручками созданые) в Nconf?

А то уж шибко влом почти сотню хостов заново забивать.. :(

А возможно как-то перетащить

А возможно как-то перетащить "старые" конфиги (те, что ручками были когда-то созданы)?

Уж шибко влом почти сотню "хостов" (у меня свитчи, в файле switch.cfg) забивать заново.. :(

Нет, не нашел такой

Нет, не нашел такой опции.

Для Nagios 2.x юзал веб-морду Fruity. Там была возможность импорта и экспорта конфигурационных файлов.

Импорт конфигов поддерживает

Импорт конфигов поддерживает nagiosql.

Приветствую всех! Автору

Приветствую всех! Автору большое спасибо за статью! Очень интересно и подробно расписано.
Помогите! столкнулся с проблемой - при попытке зайти на hostname/hconf/install.php мне говорят вот что:

дошел до автоустановки и вот...

оказывается, у меня не был установлен модуль php5-session
установил. теперь у меня заходит и на hostname/hconf/, и на hostname/hconf/install.php, показывает шапку страницы с приветствием... и на этом все.
полагаю, мне снова чего-то нехватает...
подскажите, как выяснить это.
спасибо за внимание.

 похоже, у меня еще не

 похоже, у меня еще не создана БД. подскажите, как проверить, все-ли установлено для установки?
Как узнать, имеется-ли поддержка innoDB, например? 
Спасибо еще раз.

Проверяю у себя таблицы и их

Проверяю у себя таблицы и их тип:

mysql> use nconf;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+---------------------+
| Tables_in_nconf |
+---------------------+
| ConfigAttrs         |
| ConfigClasses       |
| ConfigItems         |
| ConfigValues        |
| History             |
| ItemLinks           |
+---------------------+
6 rows in set (0.00 sec)
mysql> select engine from information_schema.tables where table_name='ConfigAttrs';
+--------+
| engine |
+--------+
| InnoDB |
+--------+
1 row in set (0.69 sec)

 

Можно  проверить типы

Можно  проверить типы поддерживаемых движков, выполнив запрос "show engines":

mysql> show engines;
+------------+---------+----------------------------------------------------------------+
| Engine     | Support | Comment                                                        |
+------------+---------+----------------------------------------------------------------+
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      |
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     |
| BerkeleyDB | NO      | Supports transactions and page-level locking                   |
| BLACKHOLE  | NO      | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE    | NO      | Example storage engine                                         |
| ARCHIVE    | NO      | Archive storage engine                                         |
| CSV        | NO      | CSV storage engine                                             |
| ndbcluster | NO      | Clustered, fault-tolerant, memory-based tables                 |
| FEDERATED  | NO      | Federated MySQL storage engine                                 |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          |
| ISAM       | NO      | Obsolete storage engine                                        |
+------------+---------+----------------------------------------------------------------+

 

1. Утилита называется

1. Утилита называется "nconf", а не "hconf".

2. Поскольку утилита не портирована, то полностью все зависимости не могу отследить. Список требований с на оф. сайте можете просмотреть по этой ссылке. PHP-модули, установленные на сервере, на котором работает nconf - перечислены в статье.

3. Было бы более правильно вопросы задавать на форуме, а не коментариями к статье

 спасибо, сейчас отправлюсь

 спасибо, сейчас отправлюсь на форум, дальше вас терроризировать.  =)

Здравствуйте. Есть сетка из

Здравствуйте. Есть сетка из примерно 200 свитчей, фпингер "обпинговывает" и выдает результаты раз в 10-15 минут. Хочется сократить время до 2-3 минуты, лучше воспользоваться nagios 2 или nagios 3 ?
Еще вопрос, в nagios есть возможность нарисовать карту свитчей?

Советую воспользоваться 3

Советую воспользоваться 3 версией. Там более "грамотно" работает пингование (если верить документации и отзывам).

Строить карты умеет как 2, так и третья версии. Примеры "построенных" через Nagios карт сети:

Карта сети

Карта сети

Начал устанавливать по вашей

Начал устанавливать по вашей статье. Дошел до Generate Nagios config и получа
Error accessing or executing Nagios / Icinga binary '/usr/local/www/nconf/bin/nagios'.
Cannot run the mandatory syntax check.

/usr/local/www/nconf/bin/nagios пустая.

И при запуске # /usr/local/etc/rc.d/nagios start
Performing sanity check of nagios configuration: FAILED

Nagios Core 3.2.3
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 10-03-2010
License: GPL

Website: hттp:ww.nagios.org
Reading configuration data...
Read main config file okay...
Processing object config directory '/usr/local/etc/nagios/global'...
Processing object config directory '/usr/local/etc/nagios/Default_collector'...
Read object config files okay...

Running pre-flight check on configuration data...

Checking services...
Error: There are no services defined!
Checked 0 services.
Checking hosts...
Error: There are no hosts defined!
Checked 0 hosts.
Checking host groups...
Checked 0 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Error: There are no contacts defined!
Checked 0 contacts.
Checking contact groups...
Checked 0 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 0 commands.
Checking time periods...
Checked 0 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors: 3

***> One or more problems was encountered while running the pre-flight check...

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.

/usr/local/etc/rc.d/nagios: WARNING: failed precmd routine for nagios

Вижу этот вопрос на форуме...

Вижу этот вопрос на форуме... И это правильно :)

Re: Вижу этот вопрос на форуме...

 скопировал конфиги руками и все работает )))

, спасибо автору за статью ,

желаю счастья и творческих успехов ! 

Пытаюсь поставить Nconf по

Пытаюсь поставить Nconf по этой статье.

Welcome to NConf setup

The pre-installation check will test your system for NConf.
 

Requirements

PHP 5.0 (or higher) -> 5.3.8 OK  
MySQL 5.0.2 (or higher) -> 5.1.60 OK  
PHP-MySQL support OK  
Perl 5.6 (or higher) -> FAILED

Хотя у меня версия перла 5.12 как победить?

Давайте для начала перейдем

Давайте для начала перейдем на форум - он для этого специально и создан...

Создайте новую тему и сразу же можете запостить вывод pkg_info | grep perl

Re: Пытаюсь поставить Nconf по

А  5.12 разве выше 5.6? Странные вопросы задаете

Re: Пытаюсь поставить Nconf по

Да, 5.12 выше, чем 5.6. Кста, в портах уже есть и 5.14.

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

Спасибо за файлы *.wav. В последней установке из пакета на Debian Squeeze их почему-то не оказалось.

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

Всем привет!

Подскажите, кто-нибудь пробовал прикрутить к кнопке-линку Generate Nagios config  скрипт копирования конфига в директорию нагиоса?

Т.е. скрипт

if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then
cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}
tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}
/usr/local/etc/rc.d/nagios reload
fi

запихать в обработчик нажатия Generate Nagios config

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

Нет, не пытался. Только запуск по cron-у.

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

А можете попробовать? Интересует реализация.

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

Сорри, но сейчас очень загружен. Даже статьи на сайт перестал публиковать в последнее время.

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

Понятно. Спасибо за ответ. Но если вдруг появится время и желание сделать такю приблуду, то дайте плиз знать.

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

Доброго дня , я новичок во freebsd 

подскажите пожалуйста

при выполнении скрипта

 * * * * * root /bin/sh /usr/local/www/nconf/ADD-ONS/deploy_local.sh

 
ошибка 
test: test: unexpected operator
 
содержимое скрипта 
 
 
#!/usr/local/bin/bash
 
OUTPUT_DIR="/usr/local/www/nconf/output/"
NAGIOS_DIR="/usr/local/etc/nagios/"
TEMP_DIR=${NAGIOS_DIR}"import/"
CONF_ARCHIVE="NagiosConfig.tgz"
if [ ! -e ${TEMP_DIR} ] ; then
mkdir -p ${TEMP_DIR}
fi
if [ ${OUTPUT_DIR}${CONF_ARCHIVE} -nt ${TEMP_DIR}${CONF_ARCHIVE} ] ; then
cp -p ${OUTPUT_DIR}${CONF_ARCHIVE} ${TEMP_DIR}${CONF_ARCHIVE}
tar -xf ${TEMP_DIR}${CONF_ARCHIVE} -C ${NAGIOS_DIR}
/usr/local/etc/rc.d/nagios reload
fi
exit
 
скрипт пробовал выполнять и с строчкой #!/bin/sh
та же ошибка
 

Re: Nagios 3.x + NConf - настройка системы мониторинга ...

Используйте /bin/sh

Попробуйте вручную запустить, а не через крон... Ошибка появляется?

Проверьте по максимуму возможные варианты, где могли допустить ошибку. Если проблема не решится - добро пожаловать на форум.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература

Бит - это байт минус налоги.