Netmond V2. Инсталляция

Этот раздел поясняет как установить Netmond в Вашу систему.


Системные требования

Перед тем как собрать и установить Netmond убедитесь что в Вашем Unix уже установлены следующие компоненты:

  • ANSI C компилятор, например gcc или egcs
  • Генератор синтаксических анализаторов, например yacc или bison
  • Генератор лексических анализаторов, например lex или flex

Во многих операционных системах эти компоненты уже имеются, например в BSD/OS, FreeBSD и Linux это штатные утилиты, а вот для Solaris может потребоваться их дополнительная установка.


Загрузка дистрибутива

Дистрибутив Netmond свободно распространяется в Интернете и может быть найден в публичном FTP каталоге <ftp://ftp.nsk.su/pub/RinetSoft/>.

Дистрибутив Netmond распространяется в исходных текстах в виде tar.gz архива следующего вида:

netmond-X.Y-Z.tgz
где X.Y номер текущей версии и Z наименование пересмотренного и исправленного издания в пределах данной версии.
netmond-X.Y.tgz
в данном случае наименование переиздания Z просто опущено для краткости, считается что оно самое последнее в данной версии.

Например, чтобы получить самое свежее переиздание версии 2.1 нужно загрузить файл <ftp://ftp.nsk.su/pub/RinetSoft/netmond-2.1.tgz>.

После загрузки файла скопируйте его в Ваш рабочий каталог и распакуйте, например с помощью следующей shell-команды:

gunzip -c netmond-2.1.tgz | tar -xvf -

В текущем каталоге будет создана директория netmond-2.1-Z, где Z это наименование данного переиздания.
Вам нужно зайти в этот каталог. Теперь все готово для сборки Netmond.

Альтернативные форматы распространения Netmond могут быть также доступны, например в формате Linux RPM. Но настоящим документом это не охвачено.


Выбор конфигурации

Прежде всего убедитесь что Вы находитесь в каталоге с исходными текстами нужной Вам версии Netmond, например просмотрев следующие файлы:

PACKAGE
содержит наименование пакета исходных текстов, например netmond.
VERSION
содержит полный номер версии включая переиздание, например 2.1-b9.
README и README.NOW
краткое описание пакета, оперативные уточнения и примечания.
CHANGES
вся история основных модификаций по мере увеличения версии, описание новых возможностей и текущих исправлений.

Далее запустите на выполнение скрипт, который попытается определить все необходимые опции автоматически и создаст в текущем каталоге файлы Makefile и config.h необходимые для последующей компиляции Netmond в Вашей операционной системе:

./configure

Если Вы не уверены в правильности определения некоторых параметров автоматически, то можете указать их предварительно в явной форме в соответствующих переменных окружения. Используя Bourne-совместимый shell это можно сделать например так:

CC=cc CFLAGS=-O LIBS=-lposix LDFLAGS=-static ./configure

По-умолчанию, configure-скрипт предполагает что последующая установка программы будет производиться в поисковый каталог /usr/local/bin, однако Вы можете изменить это с помощью аргумента --prefix, описание всех опций можно вызвать указав аргумент --help.

Помимо стандартных, configure-скрипт может также принимать следующие дополнительные аргументы:

--enable-debug=MODE
собрать в режиме отладки, где MODE это debug, trace, memory или all. ВНИМАНИЕ: эта возможность предназначена только для разработчиков, не следует использовать без необходимости!
--with-dmalloc
собрать с dmalloc библиотекой (Debug Malloc) для обширного дебага в распределении памяти.
--without-pthread
собрать без использования POSIX Threads, в этом случае Netmond будет использовать системный вызов fork() там где это необходимо.
ВНИМАНИЕ: Вы можете использовать эту возможность, если не уверены в правильной реализации pthreads в Вашей операционной системе.

На этом этапе Вы можете ознакомиться с содержимым только что полученного файла config.h на предмет требуемой Вам конфигурации и проверить правильность системно-зависимых определений.


Компиляция и установка

Убедитесь в правильности содержимого файла Makefile и поправте его при необходимости. Если он отсутствует, то значит Вы забыли выполнить configure-скрипт.

Запустите процесс сборки Netmond с помощью команды:

make

Предупреждений и ошибок быть не должно. В текущем каталоге должен появиться выполняемый файл с именем netmond. Протестируйте его запустив:

./netmond -v

Для установки программы необходимо стать root-ом. Процесс установки инициируется командой:

make install

При этом выполняемый файл netmond будет скопирован в поисковый каталог, обычно это /usr/local/bin, и образцовый файл конфигурации netmon.conf в системный каталог /etc. Последний Вам предстоит тщательно настроить прежде чем запускать программу.

Хотя, в принципе, установка не требуется, netmond может работать с любого места, главное что-бы он нашел файл конфигурации (см. опции командной строки).


Запуск

Прежде чем запустить Netmond необходимо настроить его конфигурацию. По-умолчанию конфигурация считывается из файла /etc/netmon.conf.

Как правило, Netmond запускается из системного файла /etc/rc.local в момент начального старта операционной системы. Netmond можно запускать только после того, как смонтируется файловая система, на которой расположен каталог RootDir; после старта сети и запуска syslogd(8).

Следует иметь ввиду, что процесс Netmond в первое время после запуска порождает интенсивный трафик в сети - он производит первоначальный опрос сразу всех основных обьектов, индексирует интерфейсы роутеров и т.п.

Следующие несколько строк можно добавить в конец файла /etc/rc.local для запуска Netmond:

if [ -f /etc/netmon.conf -a -f /usr/local/bin/netmond ]; then
/usr/local/bin/netmond ; echo -n "netmond "
fi

Netmond работает с правами запустившего его пользователя и никогда не модифицирует их в процессе своей работы. Если он запущен не с правами root, то он будет не способен работать с ICMP и открывать локальные порты ниже 1024. Netmond должен иметь права на запись в каталог RootDir.

Строка запуска Netmond имеет следующий формат:

netmond [ -c file ] [ -C ] [ -v ] [ -w sec ]
-c file
Путь к альтернативному файлу конфигурации Netmond. По-умолчанию /etc/netmon.conf.
-C
Проверка синтаксиса файла конфигурции. На stderr будет выведена диагностика ошибки или на stdout рабочая конфигурация.
Программа завершится со статусом 1 при ошибке и 0 когда ошибок нет.
-v
Распечатать номер текущей версии, опций компиляции и завершиться.
-w sec
Период встроенного watchdog таймера в секундах. По-умолчанию собственная проверка запускается раз в 10 минут, 0 - выключает watchdog.

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

netmond -c /path/file.conf -C | more

По этой команде будет произведена проверка конфигурации и сделана подробная распечатка результатов ее интерпретации, либо выведено сообщение об ошибке.

В процессе работы программа реагирует на следующие внешние сигналы:

SIGALRM
Однократно выполнить функцию встроенного watchdog.
SIGHUP
Перечитать текущий файл конфигурации.
SIGINT и SIGTERM
Нормальное завершение работы программы.

© 1998-2002, Rinet Software