Perl API
Perl API
NeTAMS представляет собой достаточно гибкий инструмент учета трафика и установки некоторых ограничений на работу пользователей. Круг задач, которые можно решить с использованием данной программы, чрезвычайно широк, и у каждого администратора есть свои пожелания по организации работы программы и тому, как она взаимодействует с пользователями. Для облегчения задачи настройки и использования NeTAMS под ваши конкретные задачи был создан интерфейс в виде ряда функций, который позволяет управлять программой и получать от нее данные из ваших написанных самостоятельно Perl–скриптов и CGI–программ.
Для применения интерфейса вы должны включить в начало вашей программы строку:
require «netams_api.pl»
Вот список функций, которые определены в этом интерфейсе:
• $result=netams_login($hostname, $port, $username, $password); — осуществляет соединение с программой, используя указанные параметры. Если $result начинается со слов «Welcome», то соединение прошло успешно
• netams_send($command); — отправляет команду $command на исполнение
• $result=netams_read(); — считывает в переменную $result результат выполнения команды
• $result=netams_readline(); — то же самое, но программа ожидает вывода признака конца строки (перевод строки, " »). использовать не рекомендуется
• netams_logout(); — осуществляет разрыв соединения.
Вот список идущих с программой скриптов, которые можно применять на практике или рассматривать как примеры программирования общения с NeTAMS:
• netams_example.cgi — выводит результат выполнения команды show version в виде cgi–программы. после небольшой модификации превращается в утилиту командной строки.
• login.cgi — интерфейс к сервису login.
• netams_graph.cgi — программа, динамически создающая картинки в формате PNG с графическим отображением статистики для заданного юнита и всех его политик учета, за последние неделю или месяц. параметры вызова (метод GET):
• unit=UNIT_NAME — обязательный параметр, определяет имя юнита, для которого будет рисоваться картинка
• policy=POLICY_NAME — имя политики, которая будет отображаться. при отсутствии параметра policy будут отрисованы все активные политики.
• prefix=PREFIX — буква, определяющая временной период графика, W (неделя) или M (месяц) соответственно, по умолчанию =W
• nolegend=FLAG — при любом установленном значении запрещает отрисовку легенды с отображением цвета, которым будет отрисовываться данные о политике.
• Данный скрипт использует модули GD.pm и библиотеку libgd. Для FreeBSD вам надо выполнить что–то вроде cd /usr/ports/graphics/p5–GD ; make install. В текущем каталоге необходимо иметь файл lucon.ttf, это TrueType–шрифт Lucida Console из дистрибутива Windows XP.