Читаем Документация NetAMS полностью

Если процесс закончится по команде «kill» или «shutdown», то перезапуска не произойдет и скрипт закончит работу.

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

<p>Утилита netamsctl</p>

При инсталляции утилита netamsctl переписывается в (обычно) /usr/local/sbin

Что это такое?

netamsctl — примитивный telnet–клиент, позволяющий передать одну или несколько команд для работающего netams. Он работает через обычный TCP–сокет. Открывается соединение, отправляется команда, получается и выводится на экран ответ сервера.

Зачем это нужно, когда все можно сделать и через telnet?

Вам не надо все время вводить логин–пароль для авторизации, указывать имя хоста и порт. Эта информация берется из файла .netamsctl.rc

Вызов netamsctl с нужной командой можно поместить, например, в cron, в вашу любимую самописную программу, в sudo–скрипт для исполнения секретаршей–блондинкой.

Как настроить?

После сборки, исполняемая программа netamsctl находится в netams/src, пример настроек .netamsctl.rc в netams/addon

make install копирует программу в /usr/local/sbin, однако .netamsctl.rc не трогается

Ваше дело — положить этот файл в один из каталогов:

• ~/.netamsctl.rc (домашний каталог пользователя, который будет запускать)

• .netamsctl.rc (там, где находится исполняемый файл)

• /usr/local/etc/.netamsctl.rc

• /etc/.netamsctl.rc

Отредактируйте этот файл, прописав там верные значения логина, пароля, хоста (по умолчанию — localhost) и TCP–порта (по умолчанию — 20001), словом то же самое, что вы используете для повседневного управления через Telnet

Не забудьте отнять права у этого файла на чтения «кому не надо»:

chmod 600 .netamsctl.rc

Проверяем:

src/netams–l

netamsctl «show version»

Не забывайте, что возможно задать на исполнение сразу несколько команд, если разделить их комбинацией "&&". Это крайне полезно, если необходимо передать команду какому–нибудь сервису:

netamsctl «service processor && unit host name pupkin sys–deny && exit»

<p>Часто задаваемые вопросы</p>

• Какие пакеты мне нужно поставить, чтобы NeTAMS заработал?

• Все зависит от комбинации желаемых data–source и storage. В общем виде список пакетов для Linux приведен тут. Для FreeBSD ничего дополнительного помимо SQL и веб–сервера ставить не надо.

• Как мне создать базу и таблицы SQL?

• Специально создавать базу данных не нужно (MySQL). NeTAMS сам создаст ее при первом старте; таблицы с данными (raw и summary) будут создаваться, когда пойдет реальный трафик и начнется учет. Для Postgres вы можете создать таблицы вручную (они лежат в каталоге addon/), для Oracle вы ДОЛЖНЫ создать схему вручную (addon/oracle/).

• При компиляции не нашелся SQL. Как быть?

• Обычно, при сборке, скрипт configure.sh сканирует набор системных каталогов в поиске клиентских библиотек и заголовочных файлов. При этом на консоль выводится что–то вроде:

freebsd–vm:~/netams#make

/bin/sh configure.sh

##########################################################

## Configuring NeTAMS for build targets… ##

FreeBSD operating system…

With FreeBSD 5.XX, will have netgraph module…

Will have MYSQL support

[ /usr/local/lib/mysql /usr/local/include/mysql ]

Will have POSTGRESQL support

[ /usr/local/lib /usr/local/include ]

Will have BILLING service

Will have DEBUG flag set

Will have RADIUS support

Will have private portion of Makefile

## Configuration file was built. ##

##########################################################

К сожалению, стандартного места для таких библиотек нет, ваш конкретный дистрибутив может ставить программы куда угодно (особенно славится этим Linux), в связи с чем configure.sh может не найти библиотеки и при старте программа само–выключится с сообщением:

parse: registering storage: 1

parse: using storage:2 as source for READ and STAT requests

parse: creating service storage:1

parse: storage type is unknown

В таком случае вам необходимо вручную добавить соответствующие пути в верхние строки (начало) файла configure.sh, и пересобрать программу через:

make distclean && make

• Как мне блокировать трафик, если я использую libpcap?

• В общем случае — никак. Библиотека libpcap позволяет только слушать проходящий мимо интерфейса трафик. Все возможность блокировки через fw–policy или sys–policy работают ТОЛЬКО при наличии «перехватывающего» сервиса data–source, например IPFW или iptables/IPQ. Вы также можете написать свой скрипт (де)блокировки, который будет вызываться сервисом processor каждый раз, когда изменяется состояние системной политики юнита (см. документацию и пример).

• Почему бы не хранить конфигурацию в SQL?

Перейти на страницу:

Похожие книги