последняя стабильная
    версия: 3.4.0rc1
    главная     скачать     документация     поддержка     форум     разработка

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

Releases

База знаний

Примеры конфигурации

 

Сбор статистики по протоколу SNMP


Начиная с версии NeTAMS 3.4.0 (build 3018) появилась возможность учета трафика путем опроса счетчиков SNMP удаленных устройств. Данная схема работает при наличии:
  • Коммутатора или маршрутизатора, имеющего работающий SNMP-агент и поддерживающий MIB-II (фактически, любое устройство поддерживает этот MIB).
  • Сервера UNIX, на котором установлены:
    • NeTAMS нужной версии
    • Пакет net-snmp версии 5
    • Perl-модули к net-snmp
    • Perl-модуль Net::Telnet
  • Настроенного скрипта addon/snmp2netams.pl
  • Настроенного 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-счетчиков устройства.

Настройка


  1. В заголовке скрипта addon/snmp2netams.pl необходимо:

    @devices=("catalyst");
    Перечислить через запятую заключенные в кавычки имена (hostname) устройств, откуда вы хотите собирать статистику.

    $community="public";
    Коммьюнити для чтения.

    $netams_host="localhost";
    $netams_port=20001;
    $netams_login="admin";
    $netams_password="aaa";
    Параметры подключения к демону NeTAMS.

    $policy_name="ip";
    Имя политики учета, которая будет использоваться для счетчиков.

  2. Настроить NeTAMS на новый источник данных:
    service data-source 2
    type raw
    
  3. Настроить 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
    
  4. Протестировать скрипт и прописать его периодический запуск (раз в 5...15) минут в cron.

  5. Вы можете включить режим вывода отладочной информации сервисом 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%.

Рейтинг@Mail.ru