Задача
Показывать график по трафику от/к одного BGP пира при условии того, что сессия с ним устанавливается в одном vlan с другими BGP сессиями до других BGP пиров.
Отрисовать график загрузки по интерфейсу не выход, т.к. помимо нужного трафика будет присутствовать еще и трафик с другими BGP пирами.
Решение
В недрах гугла нашлось упоминание про mac accounting.
Суть данной технологии — ведение учета трафика в байтах и фреймах, ушедшего/пришедшего с определенного мак адреса.
Как по итогу оказалось сделать это нет так сложно.
Имеем Juniper M7i, для включения на физическом интерфейсе достаточно сделать следующее:
Войдем в режим конфигурации:
root@juniper> configure
Добавим в конфигурацию:
[edit]
root@juniper# set interfaces ge-0/0/1 gigether-options ethernet-switch-profile mac-learn-enable
после чего в конфигурации интерфейса появится новая секция, посмотрим:
[edit]
root@juniper.# show interfaces ge-0/0/1
ge-0/0/1 { ................... gigether-options { ethernet-switch-profile { mac-learn-enable; } } .................... }
Перед коммитом проверим все ли в порядке:
[edit]
root@juniper# commit check
Если все в порядке и ошибок нет, то можно применять:
[edit]
root@juniper# commit comment «Enabling mac accounting»
Примечание:
mac accounting нельзя включить на встроенном гигабитном интерфейсе M7i и 10-портовом гигабитном контроллере.
На этом конфигурация Juniper закончена. Что дальше ? А дальше нам нужно как то получить данные для MRTG, те данные по которым и будет строиться график.
Это и оказалось сложнее всего, а именно нахождение необходимых OID’ов где можно забрать нужные нам данные.
Вот алгоритм их нахождения:
1. Получаем номер SNMP-индекса интерфейса (это может быть как сам физический интерфейс так и vlan (802.1q) на этом физическом интерфейсе), получаем на основе прописанного на интерфейсе IP-адреса, например 1.1.1.1 (в нашем случае IP-адрес находится на vlan):
.1.3.6.1.2.1.4.20.1.2.1.1.1.1 = INTEGER: 208
2. Получаем мак-адрес нужного нам BGP пира, например с IP-адресом 1.1.1.2, зная индекс интерфеса (исходя из п.1 это 208):
.1.3.6.1.2.1.4.22.1.2.208.1.1.1.2 = STRING: 0:e0:81:b6:3c:1b
Он нам понадобится далее, но в десятичном виде: 0.224.129.182.60.27
3. Теперь нам нужен номер vlan за которым находится BGP пир. Мы ессно его знаем исходя из конфига девайса и можем посмотреть так (зная номера его индекса исходя из п.1 это 208):
.1.3.6.1.2.1.2.2.1.2.208 = STRING: ge-0/0/1.994
Т.к. на физическом интерфейсе у нас действительно присутствует vlan с id 994 на котором висит IP-адрес 1.1.1.1.
4. после чего нам нужно будет получить SNMP-индекс физического ge-0/0/1, например вот так в тупую:
snmpwalk -v2c -c RO-Community JUNIPER_CONTROL_IP .1.3.6.1.2.1.2.2.1.2 | grep 'ge-0/0/1$'
Видим:
.1.3.6.1.2.1.2.2.1.2.180 = STRING: ge-0/0/1
5. И вот теперь, на основе всех полученных данных, мы можем составить финальные OID’ы для построение графика MRTG:
Первый OID это входящий трафик (HCInOctets):
.1.3.6.1.4.1.2636.3.23.1.1.1.3.180.994.0.224.129.182.60.27 = Counter64: 174250
Второй OID это исходящий трафик (HCOutOctets):
.1.3.6.1.4.1.2636.3.23.1.1.1.5.180.994.0.224.129.182.60.27 = Counter64: 86433120
После чего мы уже можем сделать конфиг для MRTG:
Title[peer_m7i]: 1.1.1.2 BGP peer
MaxBytes[peer_m7i]: 125000000
Target[peer_m7i]: .1.3.6.1.4.1.2636.3.23.1.1.1.3.180.994.0.224.129.182.60.27&.1.3.6.1.4.1.2636.3.23.1.1.1.5.180.994.0.224.129.182.60.27:RO-Community@JUNIPER_CONTROL_IP
З.Ы. На Juniper серии MX mac accounting включается немного по другому:
[edit] protocols { l2-learning { mac-statistics; } }
Ссылки
- Включение MAC Address Accounting
- Браузер OID’ов Juniper
- Скрипт для cisco
- Включение MAC Accounting на Juniper MX-серии
- Для инфы: Source Class Usage
З.Ы.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !
Автор: Панфилов Алексей (lehis(at) subnets.ru)
Похожие статьи:
- Не найдено
Добавить комментарий
Вам следует авторизоваться для размещения комментария.