• Настроенного data–source … type raw
Принципы работы
Скрипт addon/snmp2netams.pl опрашивает перечисленные в его заголовке SNMP–устройства, используя заданное значение community. Запрашиваются имена интерфейсов и значения 64–битных счетчиков байт, прошедших через интерфейс:
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName =
= 1.3.6.1.2.1.31.1.1.1.1
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCInOctets =
= 1.3.6.1.2.1.31.1.1.1.6
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCOutOctets =
= 1.3.6.1.2.1.31.1.1.1.10
Полученная таблица преобразуется в формат, приемлемый для команды rawdata сервиса data–source. При этом имя юнита составляется из имени устройства, дефиса и имени интерфейса:
rawdata unit name catalyst1–fa0/1 policy ip
in 1234567 out 7654321 incremental
Название политики учета также задается в скрипте.
При помощи модуля Net::Telnet осуществляется подключение к демону netams, которому передаются команды rawdata. Использование параметра incremental приводит к корректному увеличению счетчиков учета netams (show lift full name catalyst1–fa0/1) при постоянном росте значений SNMP–счетчиков устройства.
Настройка
В заголовке скрипта addon/snmp2netams.pl необходимо:
@devices=(«catalyst»);
Перечислить через запятую заключенные в кавычки имена (hostname) устройств, откуда вы хотите собирать статистику.
$community=«public»;
Коммьюнити для чтения.
$netams_host=«localhost»;
$netams_port=20001;
$netams_login=«admin»;
$netams_password=«aaa»;
Параметры подключения к демону NeTAMS.
$policy_name=«ip»;
Имя политики учета, которая будет использоваться для счетчиков.
Настроить NeTAMS на новый источник данных:
service data–source 2
type raw
Настроить SNMP–устройство для того, чтобы оно могда отдавать статистику по протоколу SNMP. Допустим, что на сервере с адресом 192.168.0.1 работают snmp2netams.pl и сам демон NeTAMS. Для коммутатора Cisco Catalyst его настройки выглядят так:
access–list 1 permit 192.168.0.1
snmp–server community public RO 1
snmp–server ifindex persist
Протестировать скрипт и прописать его периодический запуск (раз в 5…15) минут в cron.
Вы можете включить режим вывода отладочной информации сервисом data–source…raw этой командой:
debug ds_raw
В ответ можно будет наблюдать следующее:
|ds_raw: unit catalyst–fa0/01(004FE6) policy ip(023CAA)
in=1234567, out 7654321,
time=1147365439, type=2, ds=data–source:3
Подробнее об использовании data–source…raw смотрите тут.
Примечания
Дополнительные сведения о настройке протокола SNMP на коммутаторах Cisco Catalyst можно почитать тут. Часто задаваемые вопросы о поддержке SNMP на Cisco собраны тут.
Значения счетчиков SNMP снимаются по длине пакетов на 2 уровне OSI. Это значит, что в суммарную длину входят заголовки IP пакета, и Ethernet–кадра. Также будут учтены все IP и Ethernet броадкасты и мультикасты, коих может быть много. На практике расхождения показателей IP–счетчиков и SNMP– счетчиков могут достигать 30%.
По 10 правил и юнитов
Здесь собрана «лучшая десятка» наиболее интересных и полезных правил (политик) учета трафика, и 10 описаний различных юнитов. Этот документ поможет вам а) лучше понять механизм работы netams и б) наиболее правильным образом создать ваш конфигурационный файл для ваших задач.
политики учета трафика
Задаются в настройках сервиса processor, формат команды имеет вид:
policy { oid XXX | name NNNNN } target ….
• policy name ip target proto ip
• позволяет выделить весь IP–трафик. простейший случай, т.к. под это правило попадает все, что проходит через netams
• policy name www target proto tcp port 80 81 8080 3128
• определяет TCP–трафик по списку портов, фактически сюда попадет весь WWW–трафик
• policy name t_dns target proto tcp port 53 addr 1.2.3.4
• policy name u_dns target proto udp port 53 addr 1.2.3.4
• policy name extdns target policy–or t_dns u_dns
• если вам вдруг хочется посчитать трафик с/до определенного DNS–сервера, расположенного вне вашей сети и имеющего адрес 1.2.3.4, можно воспользоваться этим примером. для начала определите две политики, отдельно для UDP и TCP (DNS использует оба!), затем скомбинируйте их при помощи правила с логическим ИЛИ
• policy name remote target units oid 0ABCDF
• unit net oid 0ABCDF name remotelan ip 215.236.28.0/24
• если у вас есть удаленный офис, в котором работает подсеть 215.236.28.0/24, можно выделить весь