gul_tech: (Default)
[personal profile] gul_tech
Публиковать скрипт на 50 строчек, конечно, смешно, но учитывая, что это скрипт на SLAX, надеюсь, что не засмеёте. Потому что пользователей JunOS по моим представлением гораздо больше, чем тех, кто пишет скрипты. Ну и написание/отладка существенно сложнее, чем perl или bash (по крайней мере, для меня).

В общем, скрипт - выводит "show bgp sum" в несколько другом формате и с дополнительной информацией. Формат - по одной строке на каждый пир (после поднятия IPv6 обычный "show bgp sum" стал рисовать пиров в две строки, из-за чего не получалось использовать "| match ..."); кроме того, для каждого пира пишет его группу и description. Длина выводимых строк около 100, соответственно, желательно, чтобы у терминала тоже строки были длиннее 80 символов. Может, кому пригодится. Скрипт.

Скрипт надо положить в /var/db/scripts/op/ и в конфиге прописать "set system scripts op file show-bgp-sum.slax", после чего будет работать команда "op show-bgp-sum".

UPD:
ver 0.2 - Process groups inheritance, support route-instances (заменил первую версию на эту)
ver 0.2.1 - Show advertised prefix count - Cougar 20100513
ver 0.2.2 - Added local interface name
ver 0.3 - Get additional info by "show bgp group", not from config (based on 0.2.1)
ver 0.3.1 - Add local interface information

Если информация о локальных интерфейсах не нужна, версии 0.3.1 и 0.2.2 использовать смысла нет, лучше вместо них брать 0.3 или 0.2.1.
Версии 0.3 и 0.3.1 не требуют прав чтения конфигурации пользователем. Соответственно, корректно отрабатывают случаи использования commit-scripts. Но при этом не показывают информацию про route-instance (только bgp group).
Версии 0.2.1 и 0.2.2 работают чуть медленнее, чем 0.2, т.к. делают дополнительный запрос (get-bgp-neighbor).
Версия 0.3.1 работает несколько медленнее, чем 0.3 по той же причине.
Что быстрее - 0.2.x или 0.3.x - в разных случаях по-разному.

Выбирайте наиболее подходящий для вас вариант. :) Лично я у себя использую 0.2.2 с выброшенной оттуда работой с bgp instances (для ускорения, я их не использую).

Date: 2010-04-22 01:40 pm (UTC)
From: [identity profile] sha90w.livejournal.com
Наверное имеет смысл выложить на wiki: http://juniper.cluepon.net/index.php/Op_Scripts

Date: 2010-05-12 12:31 pm (UTC)
From: [identity profile] gul-kiev.livejournal.com
Thx, выложил.

Date: 2010-04-22 08:01 pm (UTC)

Date: 2010-05-04 10:32 pm (UTC)
From: [identity profile] http://openid.version6.net/cougar (from livejournal.com)
Nice.. Needs some additional work to show groups if neighbors are not configured under main config but in groups and applied then.

Date: 2010-05-12 07:45 am (UTC)
From: [identity profile] gul-kiev.livejournal.com
Fixed, thanks for the report.
There is updated version by the link, please test it.

Unfortunately show configuration cannot display both commit script results and groups inheritance together (PR 519304). So, now transient changes are ignored, and groups will not be displayed if such part of configuration is a result of commit-script. If it's important, trere is possible workaround, but it can only be used by users that have access to edit the full configuration, and only when there is no pending candidate configuration changes that need to be committed. In this case, I suppose, time of the script processing will be increased. I hope this workaround is not needed.

Date: 2010-05-06 09:00 am (UTC)
From: [identity profile] mtima.livejournal.com
Здорово! Спасибо!

Правда, если нейбор внутри routing instance, группу не кажет :(

Date: 2010-05-12 07:33 am (UTC)
From: [identity profile] gul-kiev.livejournal.com
Fixed. Сейчас по ссылке лежит новая версия. Показывает группу и instance (если не master).
Надо бы проверить. Там получилось довольно-таки существенное дополнение.

Сразу могу сказать, что если в разных route-instances описаны одинаковые пиры, то скрипт в них запутается, может показать неправильные instance/group. Если это важно, могу попробовать как-то обойти (но это, скорее всего, получится за счёт увеличения времени работы скрипта - в выводе "show bgp summury" instance не указывается, по крайней мере, для пиров, которые в дауне, поэтому скрипт просто ищет каждого пира по всем instances).

Date: 2010-05-12 07:50 am (UTC)
From: [identity profile] mtima.livejournal.com
Работает, спасибо :)

Date: 2011-02-22 11:07 am (UTC)
From: [identity profile] spectrvm.livejournal.com
Спасибо! Но logical-routers он не поддерживает, если я правильно понял?

Date: 2011-02-22 01:33 pm (UTC)
From: [identity profile] gul-kiev.livejournal.com
Да, не поддерживает. Я их не использую.
Но по идее не должно быть сложно добавить их поддержку.

Date: 2011-07-20 06:52 am (UTC)
From: [identity profile] graykite.livejournal.com
А какой из них показывает количество анонсируемых префиксов, имя группы и интерфейс для раутинг-инстансов? Или никакой?

Date: 2011-07-20 12:23 pm (UTC)
From: [identity profile] gul-kiev.livejournal.com
Название группы показывают все версии.
0.2.2 показывает максимум информации: и кол-во анонсируемых префиксов, и локальный интерфейс, и routing-instance. Недостатком этой версии является более медленная работа по сравнению с 3.x и необходимость прав чтения конфига.
Единственное - лучше не делать одинаковые пиры в разных routing-instances, иначе скрипт в них запутается.

Date: 2011-07-21 07:44 am (UTC)
From: [identity profile] graykite.livejournal.com
Попробовал. У меня не показывает в раутинг инстансах типа виртуал-раутер колво анонсов и имя интерфейса :(

Date: 2011-07-21 09:07 am (UTC)
From: [identity profile] gul-kiev.livejournal.com
Странно, у меня показывает, только что проверил.
А какая железка и какая версия junos?
Пришлите в приват или на email из GUL-RIPE вывод команд
"show bgp summary | display xml"
"show config routing-instance ... protocols bgp | display xml"
(разумеется, без паролей) и собственно вывод скрипта. Попробую разобраться, что там к чему.

Date: 2011-07-21 09:18 am (UTC)
From: [identity profile] graykite.livejournal.com
отослал на почту

Date: 2011-07-21 07:51 am (UTC)
From: [identity profile] graykite.livejournal.com
И еще не показывет инстанс и группу для IPv6 пиров. :(

Date: 2011-07-21 08:49 am (UTC)
From: [identity profile] gul-kiev.livejournal.com
Может быть, в адресе нейбора затесались большие буквы вместо маленьких?
По (недавно вышедшему) rfc буквы должны быть маленькими, чтобы было однозначное текстовое соответствие, но ещё не весь софт это принял, и иногда пир текстовым поиском не находится из-за несоответствия регистра символов или из-за того, что сокращение "::" применено к разным частям адреса.

Date: 2011-07-21 09:17 am (UTC)
From: [identity profile] graykite.livejournal.com
да вроде нет, маленькие

Profile

gul_tech: (Default)
gul_tech

December 2020

S M T W T F S
  12345
6789101112
13141516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 16th, 2026 05:06 pm
Powered by Dreamwidth Studios