JunoScripts
Apr. 22nd, 2010 03:33 pmПубликовать скрипт на 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 (для ускорения, я их не использую).
В общем, скрипт - выводит "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 (для ускорения, я их не использую).
no subject
Date: 2010-04-22 01:40 pm (UTC)no subject
Date: 2010-05-12 12:31 pm (UTC)no subject
Date: 2010-04-22 08:01 pm (UTC)no subject
Date: 2010-05-04 10:32 pm (UTC)no subject
Date: 2010-05-12 07:45 am (UTC)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.
no subject
Date: 2010-05-06 09:00 am (UTC)Правда, если нейбор внутри routing instance, группу не кажет :(
no subject
Date: 2010-05-12 07:33 am (UTC)Надо бы проверить. Там получилось довольно-таки существенное дополнение.
Сразу могу сказать, что если в разных route-instances описаны одинаковые пиры, то скрипт в них запутается, может показать неправильные instance/group. Если это важно, могу попробовать как-то обойти (но это, скорее всего, получится за счёт увеличения времени работы скрипта - в выводе "show bgp summury" instance не указывается, по крайней мере, для пиров, которые в дауне, поэтому скрипт просто ищет каждого пира по всем instances).
no subject
Date: 2010-05-12 07:50 am (UTC)no subject
Date: 2011-02-22 11:07 am (UTC)no subject
Date: 2011-02-22 01:33 pm (UTC)Но по идее не должно быть сложно добавить их поддержку.
no subject
Date: 2011-07-20 06:52 am (UTC)no subject
Date: 2011-07-20 12:23 pm (UTC)0.2.2 показывает максимум информации: и кол-во анонсируемых префиксов, и локальный интерфейс, и routing-instance. Недостатком этой версии является более медленная работа по сравнению с 3.x и необходимость прав чтения конфига.
Единственное - лучше не делать одинаковые пиры в разных routing-instances, иначе скрипт в них запутается.
no subject
Date: 2011-07-21 07:44 am (UTC)no subject
Date: 2011-07-21 09:07 am (UTC)А какая железка и какая версия junos?
Пришлите в приват или на email из GUL-RIPE вывод команд
"show bgp summary | display xml"
"show config routing-instance ... protocols bgp | display xml"
(разумеется, без паролей) и собственно вывод скрипта. Попробую разобраться, что там к чему.
no subject
Date: 2011-07-21 09:18 am (UTC)no subject
Date: 2011-07-21 07:51 am (UTC)no subject
Date: 2011-07-21 08:49 am (UTC)По (недавно вышедшему) rfc буквы должны быть маленькими, чтобы было однозначное текстовое соответствие, но ещё не весь софт это принял, и иногда пир текстовым поиском не находится из-за несоответствия регистра символов или из-за того, что сокращение "::" применено к разным частям адреса.
no subject
Date: 2011-07-21 09:17 am (UTC)