Документация по NetAms

Документация связанная с установкой, настройкой и работой пользовательского ПО
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: Команды "show XXX"

Сообщение Raven » 13 май 2010, 14:12

Команды "show XXX"

Различные команды show выдают информацию о состоянии NeTAMS, статистике по трафику, и прочее. Они не сохраняются в конфигурационном файле и предназначены для "разового" исполнения вручную, скриптами или веб-интерфейсом.


show config [unsecure] [oids]
Выдает текущий конфигурационный файл.
Параметр unsecure заставляет заменять в выводимом файле все пароли звездочками, что делает публикацию конфигурационного файла в HTML более безопасной. Сервис html вызывает именно "show config unsecure"
Параметр oids заставляет выводить ID объектов, вместо их имен.

show connections
Выдает список текущих соединений с программой. Пример:

Код: Выделить всё

      NAME |     ID |     IDLE |  CONNECTED |         ADDR |     PERMIT
<internal> | 000001 |    6m33s |     17m24s |      0.0.0.0 |        all
  conn0009 | 000009 |       0s |         1s |    127.0.0.1 |        all
show users
Выдает список зарегистрированных пользователей. Пример:

Код: Выделить всё

   OID | MODE |       NAME |            REAL NAME |     PERMIT
01327B |    U |      anton |                Anton |        all
show schedule
Выдает список активных в системе задач. Пример:

Код: Выделить всё

   OID | INTERVAL   |    LEFT | ACTION
08FFFF | hourly-    |    2564 | html
0841B7 | at-23:15   |    7074 | shutdown
0879E2 | 5min       |     294 | show version
show units
[
syspolicy [whereset]
email
hash
name XXX
mac [whereset]
unit_type
]

Выдает список всех юнитов. Пример:

Код: Выделить всё

    TYPE |    OID |       NAME | NLP |     PARENT | PARAMS
    host | 0246E8 |        srv |     |         <> | IP: 195.208.209.5
    host | 022EB1 |         an |     |         <> | IP: 195.208.209.20
Если указан параметр name XXX, выводятся данные только для указанного юнита. Если указан параметр syspolicy, выдается таблица текущих системных политик:

Код: Выделить всё

   OID |       NAME |  SYSPOLICY 
057545 |         AA | 
0346E8 |         vm | sys-deny-money
Если задано show units syspolicy whereset, то в выводимом списке присутствуют только те юниты, у которых что-то установлено (НЕ sys-allow или sys-none).
Для unit_type=user|host|cluster|group|net выводятся только юниты обозначенного типа. Для show units users active будут выводиться только юниты типа user, имеющие ненулевой IP-адрес.
Если указан параметр email, выводятся адреса электронной почты (для тех юнитов, для которых это установлено). Если указан параметр mac выводится таблица заданных IP- и MAC-адресов. Наконец, show units hash выдает состояние хранилища юнитов:

Код: Выделить всё

Units HASH: size=4095, 15 units hashed, 15 nodes used, max chain= 1
show processor
Выдает информацию о состоянии очередей внутри сервиса processor

show alerter
Выдает информацию об очереди сообщений к почтовой отправке

show monitor
Выдает информацию о работе сервисов monitor

show version
Информация о выполняемом процессе NeTAMS, его версия и другие системные параметры. Наиболее важная диагностическая команда.

show list [full] [name XXX | OID YY]
Выдает список всех юнитов с указанием политик учета и фильтрации. Если указан юнит (по имени или OID), выдает информацию только для него. Если указан параметр full, выводит также данные о текущем состоянии счетчиков по политикам и flow/hour/day/week/month. Пример:

Код: Выделить всё

show list full name linux

OID: 0B23C6 Name: linux      Type: user     Parent: AA        
 SYST policy is not set
   FW policy list is empty
 ACCT policy: OID    NAME       CHECK        MATCH       
              04643F ssh        90           36          
 23.07.2004 15:29:10 flow       in: 6008         out: 5016        
 01.07.2004 00:00:00 month      in: 796845       out: 1743907     
 19.07.2004 00:00:00 week       in: 734782       out: 1646080     
 23.07.2004 00:00:00 day        in: 99493        out: 134673      
 23.07.2004 15:00:00 hour       in: 36000        out: 42936       
              04643C ip         90           90          
 23.07.2004 15:29:10 flow       in: 6008         out: 5016        
 01.07.2004 00:00:00 month      in: 912887       out: 5242340     
 19.07.2004 00:00:00 week       in: 912887       out: 5242340     
 23.07.2004 00:00:00 day        in: 608190       out: 3436092     
 23.07.2004 15:00:00 hour       in: 107783       out: 127231      
show policy
Выводит список зарегистрированных политик учета и фильтрации трафика. Пример:

Код: Выделить всё

TYPE |    OID |            NAME | PARAMS
acct | 14643C |          all-ip | target: proto ip
acct | 14643D |        all-icmp | target: proto icmp
acct | 14753D |             tcp | target: proto tcp
acct | 14754D |             ant | target: units oid 022EB1
acct | 146EFF |         russian | target: file /etc/ru-networks.txt
acct | 146EFE |           local | target: file /etc/loc-prefix.txt
acct | 146634 |            gate | target: units oid 0246E8
show quota [oid ID | name XXX | list]
Выводит текущее состояние системы проверки квот, для указанного по имени или OID юнита или для всех юнитов для которых включена проверка квот. В случае параметра list только перечисляет "включенные" юниты. Пример:

Код: Выделить всё

QUOTA: QQQ      policy all-ip   set sys-deny-quota
 UNIT 056255    (AA)    SYST:   ACCT is NOT present
 UNIT 0246E8    (avm)   SYST:   ACCT is present
  HOUR   in: 0, quota 300, ratio 0.00% -> [+]
  HOUR  out: 0, quota 800, ratio 0.00% -> [+]
  TOTAL out: 22932, quota 2.00G, ratio 0.00% -> [+]

QUOTA: AAA      policy tcp      set sys-local-quota
 UNIT 0246E8    (avm)   SYST:   ACCT is NOT present
Для каждой квоты проверяется список всех юнитов, на которые указанная квота распространяется. для тех юнитов, у которых установлена соответствующая квоте политика учета (acct-policy), проверяются текущие значения счетчиков и сравниваются с установленными для квоты. в приведенном выше примере ничего квоту не нарушает.

Код: Выделить всё

QUOTA: QQQ      policy all-ip   set sys-deny-quota
 UNIT 056255    (AA)    SYST:   ACCT is NOT present
 UNIT 0246E8    (avm)   SYST: sys-deny-quota    ACCT is present
  HOUR   in: 420, quota 300, ratio 140.00% -> [-]
  HOUR  out: 420, quota 800, ratio 52.50% -> [+]
  TOTAL out: 23352, quota 2.00G, ratio 0.00% -> [+]

QUOTA: AAA      policy tcp      set sys-local-quota
 UNIT 0246E8    (avm)   SYST: sys-deny-quota    ACCT is NOT present
В данном состоянии система проверки квот обнаружила превышение и выставила для юнита avm системную политику sys-deny-quota. юнит заблокирован по превышению лимита на входящий за час трафик, о чем свидетельствует знак [-]

show login
Выводит текущие значения параметров юнитов, активных в данный момент для сервиса логинов.

Код: Выделить всё

avm1 (0246E8) opened 14 sec. ago, last used -1 sec. ago
   absolute timeout at 106 sec, inactivity at -1 sec.
anb1 (022EB1) opened 6 sec. ago, last used -1 sec. ago
   absolute timeout at 114 sec, inactivity at -1 sec.
show stat unit UNIT_NAME PREFIX to now POINTS
Выводит таблицу значений счетчиков для заданного юнита за заданный промежуток времени
unit UNIT_NAME - имя юнита или его OID
PREFIX - указатель интервала времени, может быть W или M
to now - просто слова, пока не используются
POINTS - сколько строк будет в создаваемой таблице (влияет на точность), пока не используется. В данный момент информация берется из записей "H" таблицы summary БД, поэтому для недельной статистики получается 7*24=168 строк, для месячной 30*24=720 строк.
Формат вывода:

Код: Выделить всё

parse: unit avm1 [W] to->now <2>
avm1 0246E8 0 1028781390 2
all-ip all-icmp tcp 
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
...
Выводится строка с именем юнита, строка со списком политик (через пробел) и блок из 168 или 720 строк, в каждой из которых 2*число_политик цифр, первая и вторая соответственно значения счетчиков in и out для каждой из политик последовательно, для каждого часа.

Код: Выделить всё

show perf filename [header]
Выводит информацию о занятости системных ресурсов программой. полезно при оценке производительности и поиске ошибок. рекомендуется запускать через планировщик через заданные промежутки времени.
filename - имя текстового файла, куда будет записываться информация
header - ключевое слово, заставляющее программу пересоздать файл статистики и записать в начало его заголовок
Пример работы:
После старта программы набрать

Код: Выделить всё

show perf /var/tmp/perflog.txt header 
Создастся файл с именем /var/tmp/netams-perflog.txt, содержащий строки вида:

Код: Выделить всё

NeTAMS version 3.1(1677) root@srv / Sat Sep 6 13:01:18 MSD 2003
TOD RTM STM LOAD RES LOOP AVG
Задать команду планировщика вида

Код: Выделить всё

schedule time 10min action "show perf /var/tmp/perflog.txt" 
Каждый час будут добавляться строки вида:

Код: Выделить всё

"06.09.2003 13:02:52.9493 50 0.609774 1.20 2896" 

Код: Выделить всё

show health
Выводит информацию о загрузке сервера (CPU), относительном объеме свободного места на разделах, где хранится база данных и где создаются HTML-страницы. Эти сведения попадают также в отчеты сервиса HTML, чтобы администратор мог вовремя заметить о проблемах с сервером.

Код: Выделить всё

Current system load:  2%, HTML files folder free disk space: 45%, 
	Primary storage folder free disk space: 75%
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: Команды rotate

Сообщение Raven » 13 май 2010, 14:13

Команды rotate


rotate log
Перемещает лог-файл в файл с расширением, указывающим на время ротации: "%Y-%m-%d_%H:%M" и открывает новый.

Поддерживается также совместная работа с newsyslog. NeTAMS понимает получение сигнала -1 (SIGHUP) и перезакрывает свой лог.
При старте демона с параметром -l автоматически создается PID-файл /var/run/netams.pid. Необходимо добавить следующую строчку в /etc/newsyslog.conf, чтобы архивировать файл /var/log/netams.log:

Код: Выделить всё

/var/log/netams.log  600  7  100  *  J  /var/run/netams.pid
rotate monitor N
Для сервиса monitor:N, в случае если используется monitor to file, перемещает файл мониторинга в новый с расширением, указывающем на время ротации: "%Y-%m-%d_%H:%M" и открывает новый.
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: Утилита netamsctl

Сообщение Raven » 13 май 2010, 14:15

Утилита netamsctl

При инсталляции утилита 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"
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: Управление базой данных

Сообщение Raven » 13 май 2010, 14:17

Управление базой данных

В дистрибутиве находится простой скрипт очистки БД: addon/mysql_rotate.pl

Можно настроить автоматическую или ручную очистку быстрорастущих таблиц raw и monitor при помощи этих нехитрых SQL-команд:

Код: Выделить всё

delete from raw \
  where t_to < unix_timestamp(date_add(now(), interval -6 MONTH));

delete from monitor \
  where time < unix_timestamp(date_add(now(), interval -6 MONTH));
При этом удаляются записи, которым более полугода.

Надо отметить, что таблица summary растет достаточно медленно, и при нынешних ценах на дисковую память можно не особо беспокоиться.

Если вы делаете бизнес при помощи NeTAMS и целостность данных критична, рекомендую подумать о резервном копировании. Это можно сделать следующими средствами:
Поставить в сервер два жестких диска, и организовать аппаратный или программный RAID. Это не спасет, если упадет ОС (придется тратить время на переустановку), разрушится или случайно сотрется содержимое файловой системы или кто-то грохнет базу, или сервер украдут;
Организовать автоматическое резервное копирование базы через mysqldump/mysqlhotcopy, на соседний сервер или удаленный компьютер;
Средствами NeTAMS писать одновременно в два хранилища:

Код: Выделить всё

service processor
...
storage 1 all
storage 2 summary
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: Простейший файл конфигурации

Сообщение Raven » 13 май 2010, 14:18

Простейший файл конфигурации

Код: Выделить всё

#NeTAMS version 3.1(1205.408) compiled by root@avm
#configuration built Thu Aug  8 09:03:53 2002
#begin
#global variables configuration
debug none
user name admin real-name Admin password aaa email root@localhost permit all

#services configuration

service server 0
login local
listen 20001
max-conn 6

service processor 0
lookup-delay 60
flow-lifetime 180
policy name ip target proto ip          
policy name www target proto tcp port 80 81 8080 3128
policy name mail target proto tcp port 25 110         
restrict all pass local pass
unit group name CLIENTS acct-policy ip www mail
unit host name server ip 192.168.0.1 acct-policy ip www mail
unit user name client1 ip 192.168.0.10 parent CLIENTS 
	email client1@domain.ru acct-policy ip www mail
unit net name LAN ip 192.168.0.0/24 acct-policy ip www mail

service storage 1
type mysql
accept all

service data-source 1
type libpcap
source xl1
rule 11 "ip"

service quota 0
policy ip
notify soft <owner> 
notify hard <owner> admin
notify return <owner>

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost

service html 0
path /usr/local/www/stat
language en
run 5min
htaccess yes
client-pages all
url http://192.168.0.1/stat/

#end
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: NeTAMS на PC-маршрутизаторе

Сообщение Raven » 13 май 2010, 14:20

NeTAMS на PC-маршрутизаторе

В большинстве случаев схема подключения PC-роутера к сети следующая: в компьютере имеются две сетевые карты, одна из них ведет в локальную сеть офиса или домашней сети, другая к провайдеру Интернет. Между сетевыми интерфейсами настроена маршрутизация и (возможно) трансляция адресов. Необходимо учитывать трафик пользователей, и при необходимости блокировать некоторым из них доступ во внешнюю сеть.

Изображение

Оставим процедуру установки и настройки операционной системы, MySQL, Apache, маршрутизацию, трансляцию адресов и прочее на совести администратора. Будем считать, что все (кроме учета трафика) уже работает. Программа NeTAMS скачана, скомпилирована, исполняемые файлы переписаны куда надо, но конфигурационного файла еще нет.

Допустим, что внутренний адрес интерфейса eth1 сервера 192.168.0.1, сетевая маска 255.255.255.0. Компьютеры внутренней сети могут иметь адреса с 192.168.0.2 по 192.168.0.254, в то время как реально пока установлены только три компьютера с адресами .10, .11 и .12.

Необходимо считать общий трафик, трафик только до российских сетей, и весь HTTP-трафик.
Конфигурационный файл /etc/netams.cfg выглядит следующим образом:

Код: Выделить всё

debug none
user name admin real-name Vasya_Pupkin 
	password aaa email root permit all
schedule time daily action "send report 
	to admin on LAN on NETWORK+"

service server 0
login local
listen 20001
max-conn 6

service processor 0
lookup-delay 20
flow-lifetime 120
policy name ip target proto ip
policy name www target proto tcp ports 80 
policy name rus target file /etc/ru-networks.txt
restrict all drop local pass
unit group name NETWORK acct-policy ip tcp !rus
unit net name LAN ip 192.168.0.0 mask 255.255.255.0 
	no-local-pass acct-policy ip tcp !rus
unit host name server ip 192.168.0.1 parent NETWORK 
	acct-policy ip tcp !rus
unit user name petya ip 192.168.0.10 parent NETWORK password abc 
	acct-policy ip tcp !rus
unit user name fedya ip 192.168.0.11 parent NETWORK password def 
	acct-policy ip tcp !rus
unit user name masha ip 192.168.0.12 parent NETWORK password ghi 
	acct-policy ip tcp !rus
storage 1 all

service storage 1
type mysql

service data-source 1
type libpcap
source eth1
rule 11 "ip"

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server 127.0.0.1

service html 0
path /var/www/traffic
language en
run 5min
htaccess yes
client-pages all
Полезно разобрать весь конфигурационный файл по строчкам.

1 debug none
2 user name admin real-name Vasya_Pupkin password
aaa email root permit all
3 schedule time daily action "send report to admin on LAN on NETWORK+"
Этими командами настраивается сервис main, причем явно писать "service main" не нужно. Вначале отключается вывод всей отладочной информации - это нужно для уменьшения размера лог-файла. Далее, заводится пользователь системы NeTAMS, имеющий в ней административные права (permit all). Указанный пароль "aaa" потом будет храниться в зашифрованном виде. На адрес "root" будут отсылаться уведомления о трафике. Третьей строкой планируется отсылка ежедневных уведомлений о трафике пользователю admin на адрес root@, по юнитам LAN и NETWORK (вместе со всеми входящими в группу юнитами).

Пустая строка за номером 4 отделяет настройки разных сервисов (в данном случае main и server)

5 service server 0
6 login local
7 listen 20001
8 max-conn 6
Этими командами настраивается сервис server, который обеспечивает подключение администратора и скриптов к работающему экземпляру NeTAMS по протоколу telnet. Входящие соединения принимаются только на локальный адрес 127.0.0.1, порт 20001, и возможно не более шести одновременных соединений. Согласно предыдущим строкам, подключиться сможет только один пользователь с логином "admin" и паролем "aaa" - других просто нет.

9
Пустая строка, отделяет команды сервисов server и processor друг от друга.

10 service processor 0
11 lookup-delay 20
12 flow-lifetime 120
13 policy name ip target proto ip
14 policy name www target proto tcp ports 80
15 policy name rus target file /etc/ru-networks.txt
16 restrict all drop local pass
Настраивается главный сервис - processor. В строках 10 и 11 задаются параметры, как часто будет проверяться списки юнитов и откладываться записи в базу данных. Для большинства задач указанные значения параметров оптимальны. Три следующие строки задают политики, по которым будет идти учет трафика. Политика "ip" задает весь IP-трафик, "www" - только тот, который идет по порту TCP 80, "rus" - тот, который получается при совпадении адресов с таблицей русских сетей, содержащейся в файле префиксов /etc/ru-networks.txt. Изначально этот файл идет в дистрибутиве NeTAMS, в каталоге addon/. Последняя, 16-ая строка определяет, как поступать с пакетами, которые прошли через учет по списку юнитов и совпали (или не совпали) с каким-либо юнитом. Указанная конфигурация пропускает пакеты, которые принадлежат имеющимся в конфигурационном файле юнитам, и не пропускает остальные. Полезно использовать именно указанное сочетание, т.к. это поможет не пускать в сеть "незаконные" компьютеры.

17 unit group name NETWORK acct-policy ip tcp !rus
18 unit net name LAN ip 192.168.0.0 mask 255.255.255.0
no-local-pass acct-policy ip tcp !rus
19 unit host name server ip 192.168.0.1 parent NETWORK
acct-policy ip tcp !rus
20 unit user name petya ip 192.168.0.10 parent NETWORK
password abc acct-policy ip tcp !rus
21 unit user name fedya ip 192.168.0.11 parent NETWORK
password def acct-policy ip tcp !rus
22 unit user name masha ip 192.168.0.12 parent NETWORK
password ghi acct-policy ip tcp !rus
Здесь определяются юниты, или учётные объекты. В начале создается группа, которая будет родительской по отношению к включенным в нее юнитам. Затем следует юнит, обозначающий всю подсеть. Далее, идут юниты, представляющие отдельные компьютеры. Для каждого юнита указан одинаковый набор политик учета, обратите внимание на флаг inverse, в виде знака "!", для политики "rus". Для юнита LAN указан также параметр no-local-pass, который заставляет считать не-локальными все пакеты, принадлежащие сети, и не описанные для других юнитов - этим мы отсекаем "неизвестные подключения". Для последних трех юнитов указан также пароль, который может быть использован для доступа к индивидуальной статистике в виде HTML-страниц.

23 storage 1 all
Указывает сервису processor на необходимость сохранять статистику в хранилище, описанном сервисом storage за номером 1. При этом запить будет идти в обе таблицы одновременно - raw и summary.

25 service storage 1
26 type mysql
Определяет хранилище для статистики. Тип хранилища - MySQL, для доступа к базе будут использованы стандартные настройки: имя пользователя root, пустой пароль, работающий на той же машине SQL-сервер (подключение через unix socket). Имя базы данных - netams.

27 service data-source 1
28 type libpcap
29 source eth1
30 rule 11 "ip"
Определяет, каким образом данные о трафике будут попадать в NeTAMS. Для этого будет использован интерфейс eth1 (ОС Линукс), и будет захвачен весь IP-трафик, проходящий через него (механизм libpcap, на базе которого сделан, например, tcpdump). Номер правила, "11", в данном случае смысла не несет.

32 service alerter 0
33 report oid 06100 name rep1 type traffic period day detail simple
34 smtp-server 127.0.0.1
Для того чтобы пользователи и администратор могли получать уведомления о статистике по электронной почте, настраивается сервис alerter и указывается тип отчета, и адрес smtp-сервера (в данном случае это локальный компьютер, где выполняется NeTAMS). Проследите, чтобы на указанной машине был запущен и настроен на прием ваш sendmail/postfix/exim/etc. В настоящий момент тип отчета задать нельзя, и вместо этого придется писать всю 33ю строчку целиком.

36 service html 0
37 path /var/www/traffic
38 language en
39 run 5min
40 htaccess yes
41 client-pages all
Сервис html позволяет автоматически генерировать HTML-страницы с отчетами. Процесс netams будет автоматически создавать эти страницы раз в 5 минут и складывать их в каталог /var/www/traffic. При этом язык страниц – английский (другого пока нет). Будет создаваться как администраторская часть дерева страниц, так и клиентская. Доступ к статистике будет защищен паролем (на администраторскую – admin:aaa, клиентам – их логины-пароли). Если настроить апач так:

Код: Выделить всё

ServerName http://www.company.ru
<Directory /var/www/traffic>
	Options FollowSymLinks ExecCGI Indexes
	AllowOverride All
</Directory>
Alias /stat/ /var/www/traffic/
то администратор получит доступ по ссылке http://www.company.ru/stat/ , а Федя по ссылке http://www.company.ru/stat/clients/fedya/ (спросится федин логин-пароль)
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: Cisco (Netflow)

Сообщение Raven » 13 май 2010, 14:24

Cisco (Netflow)

Маршрутизаторы производства Cisco Systems, в современных версиях операционной системы IOS, поддерживают новый метод управления маршрутизацией пакетов, называемый NetFlow. Помимо всего прочего, он дает возможность собирать информацию о статистике и передавать ее внешнему устройству для обсчета. Более подробная информация о NetFlow содержится тут. Маршрутизатор посылает UDP-пакеты со статистикой на некий IP-адрес/порт, где NeTAMS может собрать информацию и обработать ее. Фильтрация трафика в таком случае невозможна, так как пересылку данных осуществляет внешнее устройство. О конкретной настройке netflow export можно почитать тут.

Помимо роутера Cisco, поток данных Netflow может слать один их множества существующих коллекторов: fprobe, ng_netflow, flowprobe, ipfw2netflow, ulog2netflow. Последние три входят в комплект поставки NeTAMS.

Приведем пример команд маршрутизатора:

Код: Выделить всё

ip cef
!
ip flow-cache timeout inactive 60
ip flow-cache timeout active 10
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
ip route-cache flow
!
ip flow-export version 5
ip flow-export destination 192.168.1.254 20001
Обработчик data-source в конфигурационном файле NeTAMS настраивается следующим образом:

Код: Выделить всё

service data-source 1
type netflow
source 192.168.1.1
listen 20001
Предполагается, что UDP-пакеты NetFlow идут с маршрутизатора, имеющего IP-адрес 192.168.1.1, и поступают на локальный UDP-порт номер 20001 (его и слушает NeTAMS).

ВАЖНО!
По определению, NetFlow учитывает только входящий на роутер трафик. Это вызывает проблемы учета при использовании трансляции адресов. Действительно, пакеты от машин внутренней сети приходят на роутер и учитываются верно, но обратные ответы извне поступают с адресом dst внешнего интерфейса. Поскольку трансляция адресов происходит после учета, то статистика всего входящего трафика будет содержать сумму всего трафика, пришедшего на адрес внешнего интерфейса, и нули для адресов внутренней локальной сети. Для корректного учета, вам необходимо использовать policy routing. Установленная на роутере операционная система должна поддерживать эту функцию. Вот пример конфигурации для Cisco 2514:

Код: Выделить всё

ip cef
!
interface Loopback0
ip address 192.168.10.1 255.255.255.0
ip route-cache policy
ip route-cache flow
!
interface Ethernet0
ip address 195.200.200.1 255.255.255.0
ip nat outside
ip route-cache policy
ip route-cache flow
ip policy route-map MAP
!
interface Ethernet1
ip address 192.168.1.1 255.255.255.0
ip nat inside
ip route-cache policy
ip route-cache flow
!
ip nat inside source list 1 interface Ethernet0 overload
ip classless
ip flow-export version 5
ip flow-export destination 192.168.1.254 20001
!
access-list 1 permit 192.168.1.0 0.0.0.255
access-list 101 permit ip any 192.168.1.0 0.0.0.255
route-map MAP permit 10
match ip address 101
set interface Loopback0
При использовании заруливания трафика через раутмап на CPU (loopback) Cisco довольно сильно грузиться CPU, что может существенно занизить производительность устройства начиная с IOS 12.3x в IOS добавились фичи позволяющие избавиться от ненужной нагрузки на CPU маршрутизатора.
Называется фича: Egress NetFlow Accounting
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Документация по NetAms: Startup-скрипт

Сообщение Raven » 13 май 2010, 14:25

Startup-скрипт

В дистрибутиве идут два стартап-скрипта, netams-startup.sh и netams-startup-failover.sh. Зачем?

Первый выглядит как обычный стартап-скрипт для процессов-демонов UNIX, и не содержит никаких настроек. Его можно использовать для эпизодических запусков.

Второй, который failover, позволяет:
  • Указать пути до исполняемых и конфигурационных файлов
    Указать параметры отладки и имя лог-файла
    Отслеживать момент окончания (смерти/выхода) процесса netams, и в зависимости от причины предпринимать различные действия.
    Если процесс закончился аварийно, то будет:
    Сохранен старый лог-файл
    Если есть core-файл, то сохранится также gdb ... bt full для последующего разбирательства
    Процесс netams будет запущен снова
    Если процесс закончится по команде "reload", он будет перезапущен.

    Если процесс закончится по команде "kill" или "shutdown", то перезапуска не произойдет и скрипт закончит работу.
Если процесс закончится, и будет обнаружено, что за последние несколько секунда он заканчивался часто, то скрипт остановит свою работу, т.к. подобные симптомы обычно вызваны ошибкой в конфигурационном файле.
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Gen1us2k
Модератор
Модератор
Сообщения: 771
Зарегистрирован: 02 мар 2010, 16:13

Re: Документация по NetAms

Сообщение Gen1us2k » 13 май 2010, 18:37

пяяяяяпеееец длинный документаций %)
Изображение
Home: Windows Heaven
Home: Debian 6
For Servers: Debian || RHEL Based || Gentoo || FreeBSD
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Документация по NetAms

Сообщение Raven » 13 май 2010, 20:07

А то! Вот почему и не запрещаю пока оверпостинг! *BOYAN*
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «Документация *nix»