Лагатып JUNIPER NETWORKS 1Аркестрацыя NETCONF & YANG API
КіраўніцтваПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG APIАпублікавана
2023-07-07
РЭЛІЗ 4.2

Уводзіны

Мэта гэтага дакумента
У гэтай дакументацыі апісваецца, як інтэграваць Paragon Active Assurance з аркестратарам сеткавых службаў праз Control Center NETCONF & YANG API. Практычны эксampДаюцца асноўныя задачы, звязаныя з гэтым, у тым ліку: стварэнне і разгортванне віртуальных тэставых агентаў, запуск тэстаў і манітораў і атрыманне вынікаў гэтых дзеянняў.
У гэтым дакуменце бясплатна даступны кліент Python NETCONF ncclient выкарыстоўваецца ў ролі аркестратара.

Умоўнасці
У гэтым дакуменце выкарыстоўваюцца наступныя скарачэнні:

Абрэвіятура Сэнс
CLI Інтэрфейс каманднага радка
EM Менеджэр элементаў
ES Памылка Другая
Еўрапарламент Канчатковая кропка MEG (Maintenance Entity Group) (вызначэнне ITU-T Y.1731) або канчатковая кропка тэхнічнага абслугоўвання (вызначэнне Cisco)
НФВ Функцыя віртуалізацыі сеткі
NFVO Аркестратар віртуалізацыі сеткавых функцый
НСД Дэскрыптар сеткавай службы
RPC Выклік аддаленых працэдур
СЫПЦЬ Пратакол ініцыяцыі сеанса
SLA Пагадненне аб узроўні абслугоўвання
С-ВНФМ Спецыяльны менеджэр VNF
ВНФ Функцыя віртуальнай сеткі
vTA Віртуальны тэставы агент

Заўвагі па зваротнай сумяшчальнасці

У версіях 2.35.4/2.36.0 NETCONF & YANG API праверка некаторых запытаў была зроблена больш жорсткай, каб адпавядаць стандарту NETCONF. Гэта азначае, што кліенцкі код, заснаваны на старых версіях гэтага кіраўніцтва, цяпер можа быць адхілены.
Напрыкладample, у папярэднім прыкладзе Pythonampкода файла, атрыбут прасторы імёнаў не быў прадстаўлены. Цяпер прастора імёнаў павінна быць прадастаўлена ў XML-запыту кожны раз, калі вы хочаце змяніць рэсурс ConfD.

Перадумовы і падрыхтоўка

Ўстаноўка ConfD
ConfD (прадукт ад Tail-f) выкарыстоўваецца як пасярэднік паміж сістэмай Paragon Active Assurance і NETCONF. ConfD падключае канфігурацыю Paragon Active Assurance і аператыўныя даныя да NETCONF & YANG API.
ConfD павінен быць усталяваны разам з праграмным забеспячэннем Цэнтра кіравання, як апісана ў Кіраўніцтве па ўстаноўцы.

Праверка таго, што ConfD працуе
Каб пераканацца, што ConfD запушчаны і працуе, выканайце каманду
ssh -s @localhost -p 830 netconf
каб праверыць, што ConfD адказвае на порт 830. У камандзе, вызначаецца карыстальнікам netconf create
каманда ў Кіраўніцтве па ўстаноўцы, раздзел Усталёўка ConfD. Дайце пароль, вызначаны той жа камандай.
У вывадзе пераканайцеся, што модуль Цэнтра кіравання ўключаны. Выхад павінен змяшчаць наступны радок:
http://ncc.netrounds.com?module=netrounds-ncc&версія=2017-06-15

Сінхранізацыя базы дадзеных канфігурацыі з Цэнтрам кіравання

Нарэшце, нам трэба абнавіць базу дадзеных канфігурацыі праз NETCONF. Мы зробім гэта тут з дапамогай бібліятэкі Python пад назвай ncclient (кліент NETCONF). Аднак задача таксама можа быць выканана на іншай мове праграмавання, калі яна выкарыстоўвае пратакол NETCONF/YANG.
Роля ncclient - выступаць у якасці кліента ў адносінах да сервера ConfD, які размяшчае API NETCONF/YANG.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Цэнтр кіравання

Варта адзначыць, што ncclient ніякім чынам не звязаны з Цэнтрам кіравання (раней «Цэнтр кіравання Netrounds»), хоць назва пачынаецца з «ncc».
Вось як усталяваць ncclient:

Цяпер мы можам выканаць сінхранізацыю наступным чынам. Звярніце ўвагу, што гэта трэба рабіць на асобным кампутары, а не на самім серверы Цэнтра кіравання:

#
# НАТАТКА:
# Гэты скрыпт дзейнічае як кліент для ConfD, які працуе на серверы NCC.
# Ён будзе выкарыстоўваць NETCONF/YANG API для сувязі.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Цэнтр кіравання 1

УВАГА: Гэтая працэдура таксама патрабуецца кожны раз, калі тэставыя агенты былі ўсталяваны і зарэгістраваны незалежна ад NETCONF. Глядзіце заўвагу ў раздзеле «Заview аркестрацыі тэставага агента» на старонцы 17 для атрымання дадатковай інфармацыі.

Настройка некалькіх уліковых запісаў Paragon Active Assurance пад кантролем NETCONF

Прыведзеныя ніжэй дзеянні патрабуюцца толькі ў тым выпадку, калі вы жадаеце наладзіць дадатковыя ўліковыя запісы Paragon Active Assurance, якія будуць кантралявацца NETCONF, у дадатак да ўліковага запісу, наладжанага такім чынам у раздзеле «Устаноўка ConfD» Кіраўніцтва па ўсталёўцы.
Для кожнага такога ўліковага запісу дзейнічайце наступным чынам:

  • У Цэнтры кіравання ўвайдзіце ва ўліковы запіс і перайдзіце да Уліковы запіс > Дазволы.Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - уліковы запіс
  • Дадаць карыстальніка "confd@netrounds.com“, і дайце гэтаму карыстальніку ConfD дазвол адміністратара ў графічным інтэрфейсе, націснуўшы кнопку Запрасіць.Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - уліковы запіс 1
  • Сінхранізуйце базу дадзеных канфігурацыі з Цэнтрам кіравання, як апісана ў раздзеле «Сінхранізацыя базы дадзеных канфігурацыі з Цэнтрам кіравання» на старонцы 4.
    Цяпер вы павінны мець магчымасць кіраваць некалькімі ўліковымі запісамі Paragon Active Assurance з адным і тым жа карыстальнікам ConfD.

УВАГА: Як толькі вы пачнеце кіраваць уліковым запісам Paragon Active Assurance праз ConfD, вы НЕ павінны ўносіць змены ў гэты ўліковы запіс праз web Графічны інтэрфейс у дачыненні да любых функцый Paragon Active Assurance, якія знаходзяцца ў «канфігурацыі» (гл. раздзел «Функцыі, якія падтрымліваюцца ў Paragon Active Assurance» на старонцы 9). Калі вы гэта зробіце, сінхранізацыя будзе страчана.

Уводзіны ў NETCONF Orchestration API

Скончанаview

Старонні NFVO або аркестратар службы звычайна з'яўляецца кампанентам, які ініцыюе сеансы тэставання і маніторынгу з дапамогай API Цэнтра кіравання. Гэты аркестратар таксама атрымлівае агрэгаваныя вынікі вымярэнняў з дзеянняў тэставага агента. KPI прадукцыйнасці могуць быць атрыманы староннімі сістэмамі кіравання прадукцыйнасцю, у той час як падзеі, выкліканыя парушэннем парогавых значэнняў, устаноўленых у Цэнтры кіравання, могуць быць адпраўлены ў сістэмы кіравання няспраўнасцямі іншых вытворцаў.
Падводзячы вынік, малюнак ніжэй паказвае, як Paragon Active Assurance ўзаемадзейнічае з іншымі сістэмамі іншых вытворцаў у ландшафце OSS.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Завершанаview

  • NFVO/Service Orchestrator: даручае дыспетчару VNF разгарнуць vTA і наладзіць Paragon Active Assurance ў ланцужку абслугоўвання. Пасля актывацыі сэрвісу аркестрант выкарыстоўвае API для Цэнтра кіравання, каб запусціць тэсты актывацыі сэрвісу і атрымаць вынікі "прайшло/не прайшло". Калі тэсты пройдзены, аркестрант будзе выкарыстоўваць API для Цэнтра кіравання, каб пачаць актыўны маніторынг службы. Ключавыя паказчыкі эфектыўнасці маніторынгу бесперапынна здабываюцца аркестрантам або асобнай платформай кіравання прадукцыйнасцю.
  • Цэнтр кіравання: разгортвае, маштабуе і спыняе vTA паводле ўказанняў NFVO або аркестратара службы.
  • Сістэма кіравання прадукцыйнасцю або сістэма кіравання якасцю паслуг: счытвае KPI з актыўнага маніторынгу праз API Цэнтра кіравання.
  • Сістэма кіравання няспраўнасцямі: атрымлівае паведамленні NETCONF, SNMP або электронную пошту ад Цэнтра кіравання, калі парушаюцца SLA.

Вызначэнні паняццяў у Paragon Active Assurance

  • Тэставыя агенты: кампаненты, якія выконваюць вымярэнні (для тэстаў, а таксама для манітораў) у сістэме Paragon Active Assurance. Тэставыя агенты складаюцца з праграмнага забеспячэння з магчымасцю генераваць, атрымліваць і аналізаваць рэальны сеткавы трафік.
  • Тып тэставага агента, які абмяркоўваецца ў гэтым дакуменце, - гэта віртуальны тэставы агент (vTA), функцыя віртуальнай сеткі (VNF), разгорнутая на гіпервізары. Існуюць і іншыя тыпы тэставых агентаў.
  • У Paragon Active Assurance ёсць два асноўныя тыпы вымярэнняў: тэсты і маніторы.
  • Тэст: Тэст складаецца з аднаго або некалькіх этапаў, кожны з якіх мае абмежаваную працягласць. Крокі выконваюцца паслядоўна. Кожны крок можа цягнуць за сабой выкананне некалькіх задач адначасова.
  • Манітор: Манітор не мае вызначанай працягласці, але выконваецца бясконца. Як крок у тэсце, манітор можа выконваць некалькі адначасовых задач.
  • Шаблон: Калі Paragon Active Assurance кіруецца аркестрантам, тэсты і маніторы заўсёды выконваюцца з дапамогай шаблонаў, у якіх вызначаны тэст або манітор. Налады параметраў могуць быць перададзены ў якасці ўваходных дадзеных у шаблон падчас выканання.

Рабочы працэс для аўтаматызацыі
Час дызайну

Падчас распрацоўкі вы рыхтуеце вымярэнні, ствараючы шаблоны для тэстаў і манітораў у Paragon Active Assurance. Як гэта зрабіць, апісана ў главе «Шаблоны тэсціравання і маніторынгу» на старонцы 15.

Час выканання
Падчас выканання вы наладжваеце прылады і выконваеце фактычныя вымярэнні.

  • Надview усіх эксampлес дадзены знаходзіцца ў главе «Выхampаб кіраванні Paragon Active Assurance праз NETCONF & YANG API» на старонцы 15.
  • Пра тое, як разгарнуць і наладзіць тэставыя агенты, распавядаецца ў главе «НапрampLes: Test Agents” на старонцы 16.
  • Як імпартаваць элементы інвентара, такія як TWAMP адбівальнікаў і каналаў IPTV разглядаецца ў главе «ПрыкладampLes: Inventory Items” на старонцы 29.
  • Як наладзіць будзільнікі тлумачыцца ў главе «Прыкладampлес: Будзільнікі” на старонцы 35.
  • Пра тое, як запускаць тэсты і маніторы праз выкананне шаблонаў Paragon Active Assurance праз NETCONF, апісана ў раздзелах «Напр.amples: Tests” на старонцы 43 і “Exampлес: Маніторы» на старонцы 54.

Функцыі, якія падтрымліваюцца ў Paragon Active Assurance

Усе тыпы тэстаў і манітораў у Paragon Active Assurance можна ствараць і выконваць з дапамогай шаблонаў. Як гэта зрабіць, апісана ў даведцы праграмы ў раздзеле «Тэсты і маніторы» > «Стварэнне шаблонаў».

Стварэнне ўліковых запісаў Paragon Active Assurance зараз не падтрымліваецца; аднак для карыстальніка будуць настроены адзін або некалькі прадвызначаных уліковых запісаў.
У табліцах ніжэй падрабязна апісана, якія функцыі Paragon Active Assurance даступныя ў гэтым выпуску і як гэтыя функцыі прадстаўлены ў YANG.

Тлумачэнне канструкцый ЯН

Для зручнасці тут прыводзяцца азначэнні канструкцый ЯН, якія згадваюцца ў табліцы функцый.

  • Config (config=true): даныя канфігурацыі, неабходныя для пераўтварэння сістэмы з аднаго стану ў іншы.
  • Стан (config=false): Даныя аб стане: дадатковыя даныя аб сістэме, якія не з'яўляюцца данымі канфігурацыі, такія як інфармацыя пра статус толькі для чытання і сабраная статыстыка.
  • RPC: аддалены выклік працэдуры, які выкарыстоўваецца ў пратаколе NETCONF.
  • Апавяшчэнне: апавяшчэнні аб падзеях, якія адпраўляюцца з сервера NETCONF кліенту NETCONF.

Табліцы функцый Paragon Active Assurance, даступных для аркестроўкі
Рэсурс: Маніторынг
Шлях ЯН:/рахункі/рахунак/маніторы

Асаблівасць Падфункцыя ЯН канструкцыя
Стварыць/змяніць/выдаліць манітор На аснове шаблону манітора Канфігурацыя
Пуск/стоп манітора Канфігурацыя
Шаблоны манітора Спіс існуючых шаблонаў манітораў з уводам Дзяржава
Апавяшчэнні NETCONF Стан будзільніка зменены Апавяшчэнне
Сачыце за вынікамі Лічыльнік SLA/ES для верхняга ўзроўню (%)
Лічыльнік SLA/ES для ўзроўню задачы (%)
Дзяржава

У адрозненне ад тэстаў (параўнайце Рэсурс: Тэсты ніжэй), маніторы запускаюцца не з дапамогай RPC, а шляхам фіксацыі канфігурацыі манітора.
Рэсурс: Тэсты
Шлях YANG: /accounts/account/tests

Асаблівасць Падфункцыя ЯН канструкцыя
Пачаць тэст На аснове тэставага шаблону RPC
Кіраваць тэстамі Спіс тэстаў са статусам Дзяржава
Тэставыя шаблоны Спіс існуючых тэставых шаблонаў з уводам Дзяржава
Апавяшчэнні NETCONF Статус тэсту зменены Апавяшчэнне
Вынікі выпрабаванняў Атрымаць стан тэставага этапу (прайшло, не прайшло, памылка, ...) Дзяржава

Рэсурс: Тэставыя агенты
Шляхі ЯН:

  • /accounts/account/test-agents (канфігурацыя)
  • /accounts/account/registered-test-agents (штат)

Тэставыя агенты ў /accounts/account/test-agents - гэта тыя, якія канфігуруюцца ва ўліковым запісе. Толькі гэтыя тэставыя агенты могуць быць настроены і выкарыстаны ў тэстах і маніторах праз NETCONF аркестратарам.
Пасля таго як вы наладзілі тэставы агент і ён зарэгістраваўся ва ўліковым запісе, тэставы агент з'явіцца ў раздзеле /accounts/account/registered-test-agents. Вы можаце знайсці ўсе зарэгістраваныя тэставыя агенты з дапамогай каманды "атрымаць" у NETCONF (параўнайце главу Examples: Тэставыя агенты).
У раздзеле /accounts/account/registered-test-agents вы таксама можаце знайсці тэставыя агенты, якія яшчэ не былі настроены. Любыя такія тэставыя агенты павінны быць сканфігураваны перад іх выкарыстаннем.
У сцэнарыі аркестроўкі звычайна рэкамендуецца выконваць усю канфігурацыю ўліковага запісу Paragon Active Assurance праз NETCONF. Гэта гарантуе, што тэст-агенты і зарэгістраваныя тэст-агенты не разыходзяцца.

Асаблівасць Падфункцыя ЯН канструкцыя
Папярэдне стварыце тэставы агент на серверы Канфігурацыя
Наладзьце аўтаномны тэставы агент (Цэнтр кіравання адпраўляе канфігурацыю ў тэставы агент
калі выйдзе ў сетку)
Канфігурацыя
Выкарыстоўваць існуючыя/настроеныя знешне тэставыя агенты Выкарыстанне ў тэсце/маніторынгу Канфігурацыя
Налада інтэрфейсаў Канфігурацыя
Атрымаць статус Дзяржава
Наладзіць тэставы агент (толькі тэставая прылада) Наладзьце NTP Канфігурацыя
Налада мастоў Канфігурацыя
Наладзьце інтэрфейсы VLAN Канфігурацыя
Наладзьце ключы SSH Канфігурацыя
IPv6 Канфігурацыя
Камунальныя паслугі Перазагрузка RPC
Абнаўленне RPC
Апавяшчэнні NETCONF Інтэрнэт-статус зменены Апавяшчэнне
Статус Атрымаць стан сістэмы (працягласць, выкарыстанне памяці,
сярэдняя загрузка, версія)
Дзяржава

Рэсурс: Інвентар
Шлях ЯН: /accounts/account/twamp-адбівальнікі

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Завершанаview 1Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Завершанаview 2Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Завершанаview 3

Падтрымліваюцца магчымасці NETCONF

Табліца ніжэй паказвае на IETF RFC, якія апісваюць магчымасці NETCONF, якія выкарыстоўваюцца ў мэтах аркестрацыі Paragon Active Assurance.

  • ietf-netconf.yang
  • IETF RFC 6241, Пратакол канфігурацыі сеткі (NETCONF), https://tools.ietf.org/html/rfc6241
  • Адзіным падтрымліваемым метадам апрацоўкі памылак з'яўляецца адкат у выпадку памылкі.
  • Адзінае сховішча дадзеных, якое падтрымліваецца, - гэта праца з магчымасцю запісу.
  • ietf-netconf-notifications.yang
  • IETF RFC 5277, апавяшчэнні аб падзеях NETCONF, https://tools.ietf.org/html/rfc5277

Шаблоны тэсціравання і маніторынгу
Шаблоны для тыпаў тэстаў і манітораў неабходна наладжваць уручную праз карыстацкі інтэрфейс Paragon Active Assurance. Як гэта зрабіць, апісана ў даведцы праграмы ў раздзеле «Тэсты і маніторы» > «Стварэнне шаблонаў».

Exampпадрабязнасці аб кіраванні Paragon Active Assurance праз NETCONF & YANG API

Мяркуецца, што ў наступных раздзелах прыдатныя шаблоны тэстаў і манітораў былі вызначаны ў адпаведнасці з інструкцыямі ў раздзеле «Шаблоны тэстаў і манітораў» на старонцы 15.

Інструменты, якія выкарыстоўваюцца ў Exampлес
Усе былыяampфайлы ў наступных раздзелах былі створаны з выкарыстаннем наступных бясплатна даступных інструментаў:

  • Pang: выкарыстоўваецца для візуалізацыі і прагляду мадэляў YANG.
  • Даступны па адрасе https://github.com/mbj4668/pyang (клон з git і запусціце python setup.py install).
  • Кліент Python NETCONF “ncclient”: выкарыстоўваецца для сувязі з Цэнтрам кіравання з дапамогай NETCONF.
  • Даступна на https://github.com/ncclient/ncclient (запусціце pip install ncclient).
    Мадэль даных netrounds-ncc.yang знаходзіцца ў /opt/netrounds-confd пасля ўсталявання ConfD у адпаведнасці з Кіраўніцтвам па ўсталёўцы).

Скончанаview ключавых выкананых задач

(Некаторыя дадатковыя задачы таксама прыведзены ў якасці прыкладаў далей.)

  • «Стварэнне і разгортванне новага тэставага агента» на старонцы 16
  • «Стварэнне прадметаў інвентара (напрыклад, адбівальнікаў)» на старонцы 29
  • “Наладжванне шаблонаў сігналаў трывогі і куды адпраўляць сігналы трывогі” на старонцы 35
  • “Стварэнне і запуск тэсту” на старонцы 45
  • «Атрыманне вынікаў тэсту» на старонцы 50
  • «Запуск манітора (уключае наладжванне будзільнікаў)» на старонцы 60
  • “Атрыманне стану SLA для манітора” на старонцы 67
  • «Праца з tags» на старонцы 71

ExampLes: Тэставыя агенты

Скончанаview аркестроўкі тэставага агента
Тэставыя агенты ў Paragon Active Assurance разглядаюцца як «канфігурацыя» ў кантэксце аркестроўкі. Гэта азначае, што стварэнне, кіраванне і выдаленне тэставых агентаў павінны выконвацца праз аркестратар і NETCONF, а не праз графічны інтэрфейс Paragon Active Assurance.
Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ЗначокВАЖНА: Калі тэставы агент усталяваны спецыялістам і зарэгістраваны ў Цэнтры кіравання без папярэдняга стварэння праз NETCONF & YANG API, тэставы агент не будзе існаваць у базе дадзеных канфігурацыі, і сістэма выйдзе з сінхранізацыі. Каб ConfD даведаўся аб тэставым агенте ў гэтым выпадку, неабходна выканаць новую сінхранізацыю з Цэнтрам кіравання, як падрабязна апісана ў раздзеле «Сінхранізацыя базы дадзеных канфігурацыі з Цэнтрам кіравання» на старонцы 4.

Арганізацыя віртуальных тэставых агентаў (vTA) павінна выконвацца ў наступныя этапы:

  1. Стварыце віртуальны тэставы агент, уключаючы канфігурацыю яго інтэрфейсу, выкарыстоўваючы інтэрфейс NETCONF & YANG для Цэнтра кіравання. Імя тэставага агента будзе яго унікальным ключом.
  2. Разгарніце vTA на платформе віртуалізацыі. Выконвайце інструкцыі ў інтэрактыўнай даведцы ў раздзеле Тэставыя агенты > Усталяванне. Базавая канфігурацыя інтэрфейсу, якая дазваляе vTA падключацца да Цэнтра кіравання, а таксама ўліковыя дадзеныя для аўтэнтыфікацыі прадастаўляюцца ў vTA з выкарыстаннем карыстальніцкіх даных воблака.
    Пасля таго, як vTA загрузіцца, ён аўтаматычна падключыцца да Цэнтра кіравання, выкарыстоўваючы зашыфраванае злучэнне OpenVPN. Апавяшчэнне NETCONF адпраўляецца, паколькі значэнне параметра test-agent-statuschange vTA цяпер зменена на «online».
    УВАГА: Паколькі імя vTA з'яўляецца яго ідэнтыфікатарам у Цэнтры кіравання, гэта імя павінна супадаць з назвай, вызначанай у Цэнтры кіравання ў «кроку 1» на старонцы 17.
  3. Пасля падключэння vTA і аўтэнтыфікацыі ў Цэнтры кіравання канфігурацыя інтэрфейсу перадаецца ў vTA. Гэта канфігурацыя інтэрфейсу, прадстаўленая ў «кроку 1» на старонцы 17, калі vTA быў створаны ў Цэнтры кіравання.
  4. Пасля таго, як vTA адслужыць сваю мэту, выдаліце ​​vTA.

Стварэнне і разгортванне новага тэставага агента

Спачатку нам трэба стварыць тэставы агент з дапамогай інтэрфейсу NETCONF & YANG для Цэнтра кіравання. Калі тэставы агент створаны такім чынам, сінхранізацыя з Цэнтрам кіравання не патрабуецца.
Мадэль YANG для тэставага агента паказана ніжэй. Яно атрымліваецца як выхад з каманды
pyang -f дрэва netrounds-ncc.yang
Поўная мадэль YANG прыведзена ў «Дадатку: Дрэвападобная структура поўнай мадэлі YANG» на старонцы 81, якая таксама змяшчае легенду, якая тлумачыць пагадненні, якія выкарыстоўваюцца ў гэтай і іншых ілюстрацыях мадэлі YANG у гэтым дакуменце.

Juniper NETWORKS NETCONF & YANG API Software -агентыJuniper NETWORKS NETCONF & YANG API Software -агенты 1Juniper NETWORKS NETCONF & YANG API Software -агенты 2

Мы выконваем наступныя крокі, якія падрабязна апісаны ў наступным:

  1. З самага пачатку дэма-версія ўліковага запісу Paragon Active Assurance не мае тэставых агентаў.
  2.  Тэставы агент пад назвай "vta1" ствараецца з дапамогай ncclient. На гэтым сtage, пакуль не існуе сапраўднага тэставага агента (гэта значыць, ён яшчэ не запушчаны).
  3. Тэставы агент разгортваецца ў OpenStack. (Разгортванне на гэтай платформе выбрана тут як адна з іншых магчымасцей.)
  4. Тэставы агент падключаецца да дэма-версіі ўліковага запісу Цэнтра кіравання і гатовы да выкарыстання.
    Крок 1: З самага пачатку, у «дэма-версіі» ўліковага запісу няма тэставых агентаў. Глядзіце скрыншот ніжэй з графічнага інтэрфейсу Цэнтра кіравання.Juniper NETWORKS NETCONF & YANG API Software -агенты 3Крок 2: Тэставы агент ствараецца ў Цэнтры кіравання з дапамогай кліента Python NETCONF «ncclient». Ніжэй прыведзены код ncclient для стварэння тэставага агента з адным фізічным інтэрфейсам з адрасам DHCP:

імпартаваць разбор аргументаў
з дыспетчара імпарту ncclient
парсер = argparse.ArgumentParser(апісанне='Тэставанне стварэння тэставага агента')
parser.add_argument('–host', help='Імя хаста, дзе знойдзены ConfD', патрабуецца=Праўда)
parser.add_argument('–port', help='Порт для падлучэння да ConfD', патрабуецца=True)
parser.add_argument('–username', help='Імя карыстальніка для падлучэння да ConfD', патрабуецца=True)
parser.add_argument('–password', help='Пароль да ўліковага запісу ConfD', патрабуецца=True)
parser.add_argument('–netrounds-account', help='Кароткая назва ўліковага запісу NCC', патрабуецца=Праўда)
parser.add_argument('–test-agent-name', help='Імя тэставага агента', патрабуецца=True)
аргументы = парсер.парсаванне_аргументаў()
з manager.connect(host=args.host, port=args.port, username=args.username,
пароль=args.password, hostkey_verify=False) як m:
# Стварыце тэставы агент у Цэнтры кіравання
xml = “””

Juniper NETWORKS NETCONF & YANG API Software -агенты 4)print m.edit_config(target='running', config=xml)

УВАГА: код, які папярэднічае manager.connect(…), апускаецца з наступных exampфрагменты кода.
NTP-сервер настроены на eth0, і eth0 таксама з'яўляецца інтэрфейсам кіравання (гэта значыць інтэрфейсам, які падключаецца да Цэнтра кіравання).
Прыкладанне тэставага агента зараз не дазваляе канфігураваць інтэрфейсы. Па гэтай прычыне, пачынаючы з версіі 2.34.0, можна апусціць канфігурацыю інтэрфейсу ў схеме YANG. Такім чынам, адпаведны XML у гэтым выпадку радыкальна спрошчаны:Juniper NETWORKS NETCONF & YANG API Software -агенты 5Пасля таго, як тэставы агент быў створаны, ён існуе ў базе дадзеных канфігурацыі і ў Цэнтры кіравання. Глядзіце скрыншот ніжэй інвентарызацыі тэставага агента, на якім паказаны тэставы агент «vta1»:

Juniper NETWORKS NETCONF & YANG API Software -агенты 6Крок 3: Надышоў час разгарнуць тэставы агент «vta1» у OpenStack.
Тэставы агент будзе выкарыстоўваць даныя карыстальніка воблачнай ініцыялізацыі для атрымання інфармацыі аб тым, як падключыцца да Цэнтра кіравання. У прыватнасці, тэкст дадзеных карыстальніка file мае наступнае змесціва (Звярніце ўвагу, што радкі #cloud-config і netrounds_test_agent павінны прысутнічаць, а астатнія радкі павінны быць з водступам):

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - халоднаеДля атрымання дадатковай інфармацыі, калі ласка, звярніцеся да дакумента Як разгарнуць віртуальныя тэставыя агенты ў OpenStack.
Пасля разгортвання агента тэставання і падключэння да Цэнтра кіравання канфігурацыя будзе перададзена з Цэнтра кіравання ў агент тэставання.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Cold 1

Крок 4: Тэст-агент зараз знаходзіцца онлайн ў Цэнтры кіравання і атрымаў сваю канфігурацыю. Тэставы агент гатовы да выкарыстання ў тэстах і маніторынгу. Глядзіце гэтыя раздзелы:

  • «Пачатак тэсту» на старонцы 45
  •  “Запуск манітора” на старонцы 60

Пералік тэставых агентаў у вашым уліковым запісе Paragon Active Assurance
Ніжэй эксample ncclient Код Python для пераліку тэставых агентаў ва ўліковым запісе Paragon Active Assurance:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Cold 2Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Cold 3Запуск гэтага кода дае наступны вынік:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Cold 4Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Cold 5

Выдаленне тэставага агента
Пасля завяршэння тэсту ў некаторых выпадках можа спатрэбіцца выдаліць тэставы агент.
Ніжэй прыведзены фрагмент кода, які паказвае, як гэта зрабіць з дапамогай ncclient:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - агент

Апавяшчэнні NETCONF
Ніжэй мы прадстаўляем просты прыкладampскрыпт для праслухоўвання ўсіх уваходных апавяшчэнняў NETCONF з Цэнтра кіравання. Гэтыя апавяшчэнні адпраўляюцца кожны раз, калі адбываюцца пэўныя падзеі, напрыклад, адключэнне тэставага агента ў аўтаномным рэжыме або завяршэнне тэсту, ініцыяванага карыстальнікам. На аснове інфармацыі, якая змяшчаецца ў апавяшчэннях, карыстальнікі могуць прызначаць аўтаматызаваныя наступныя дзеянні ў аркестратары.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - NETCONFКалі прыведзены вышэй скрыпт будзе выкананы, кліент NC прадставіць атрыманае апавяшчэнне ў структураваным XML. Глядзіце эксampВывад ніжэй, які паказвае, што тэставы агент нечакана адключаецца ад сеткі.



2017-02-03T15:09:55.939156+00:00</eventTime>
<test-agent-status-change xmlns=’http://ncc.netrounds.com'>
дэма
HW1
у аўтаномным рэжыме

Examples: Інвентарныя прадметы

Стварэнне (імпарт) і кіраванне прадметамі інвентара, такімі як TWAMP адбівальнікі і Y.1731 MEPs робіцца такім жа чынам, як і для тэставых агентаў. Ніжэй прыведзены код XML і NETCONF для вызначэння такіх аб'ектаў у Paragon Active Assurance праз API NETCONF & YANG і для атрымання спісаў вызначаных элементаў.

Стварэнне TWAMP Адбівальнік

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - TWAMPПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - TWAMP 1

Стварэнне Y.1731 MEP

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - малюнакСтварэнне IPTV канала

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -TWAMP 3

Стварэнне хоста Ping

Juniper NETWORKS NETCONF & YANG API Software -HostПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - хост 1

Стварэнне ўліковага запісу SIP

Juniper NETWORKS NETCONF & YANG API Software -Рахунак Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - уліковы запіс 1

Атрыманне прадметаў інвентара
Ніжэй прыведзены код Python для атрымання ўсіх элементаў інвентара, вызначаных ва ўліковым запісе. (Усе тыпы элементаў інвентара выбіраюцца тут за адзін раз, каб пазбегнуць паўтарэння ў дакуменце. Натуральна, любую падмноства элементаў інвентара можна атрымаць, прапусціўшы некаторыя з радкоў ва ўліковым запісе ніжэй.)

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Элементы

Запуск гэтага кода дае наступны вынік:Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Элементы 1Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Элементы 2

Examples: Будзільнікі

Шаблоны сігналаў трывогі і звязаныя з імі элементы (менеджэры SNMP, спісы электроннай пошты сігналізацыі) ствараюцца і кіруюцца такім жа чынам, што і элементы інвентара. У гэтай главе змяшчаецца код XML і NETCONF для вызначэння такіх аб'ектаў у Paragon Active Assurance праз NETCONF & YANG API і для атрымання спісаў вызначаных элементаў.
Спісы электроннай пошты сігналізацыі
Стварэнне спіса паведамленняў электроннай поштыПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Элементы 3Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Элементы 4

Атрыманне ўсіх спісаў электроннай пошты для трывогПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Элементы 5

Менеджэры SNMP
Стварэнне дыспетчара SNMPПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Элементы 6Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Элементы 7

Атрыманне ўсіх кіраўнікоў SNMPПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - SNMPПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - SNMP 1

Шаблоны будзільнікаў
Стварэнне шаблона будзільнікаПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ШаблоныПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 1

Атрыманне ўсіх шаблонаў будзільнікаўПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 2Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 3

Exampфайлы: Ключы SSH

Вы можаце дадаць адкрытыя ключы SSH да тэставага агента праз NETCONF & YANG API. Выкарыстоўваючы адпаведны закрыты ключ, вы можаце ўвайсці ў тэставы агент праз SSH.
Поўны спіс даступных аперацый з ключамі SSH выглядае наступным чынам:

  • Дадайце ключ SSH
  • Змяніць ключ SSH
  • Праверце ключ SSH
  • Спіс ключоў SSH
  • Выдаліць ключ SSH.
    Ніжэй прыведзены прыклады аперацый дадання і выдалення.
Даданне ключа SSH
Вось як стварыць новы ключ SSH.Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ключ

Выдаленне ключа SSH
Калі вы хочаце выдаліць ключ SSH, выкарыстоўвайце наступную каманду:Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ключ 1

Exampлес: Тэсты

Мяркуецца, што тэставыя агенты (столькі, колькі патрабуецца для тэстаў) былі створаны ў адпаведнасці з раздзелам «Стварэнне і разгортванне новага тэставага агента» на старонцы 17.
Шляхі мадэлі YANG для тэстаў

Пункт Шлях мадэлі YANG: /accounts/account/tests …
тэсты /.
тэст [id] /тэст
id /тэст/ідэнтыфікатар
імя /test/імя
статус /test/статус
Час пачатку /тэст/час пачатку
канец часу /test/канчатковы час
справаздача-url /пратакол выпрабаванні-url
крокі /test/крокі
крок [ідэнтыфікатар] /test/steps/step
імя /test/steps/step/name
id /test/steps/step/id
Час пачатку /test/steps/step/start-time
канец часу /test/steps/step/канец часу
статус /test/steps/step/status
статус-паведамленне /test/steps/step/status-message
шаблоны / шаблоны
шаблон [імя] /templates/template
імя /templates/template/name
апісанне /templates/template/description
параметры /templates/template/parameters
параметр [ключ] /templates/template/parameters/parameter
ключ /templates/template/parameters/parameter/key
тыпу /templates/template/parameters/parameter/type

Перадумовы для аркестроўкі тэсту

  •  Каб пачаць тэст праз NETCONF з дапамогай кліента NC, неабходна спачатку стварыць тэставы шаблон з дапамогай графічнага інтэрфейсу Цэнтра кіравання, як падрабязна апісана ў даведцы праграмы ў раздзеле «Тэсты і маніторы» > «Стварэнне шаблонаў». Усе палі, указаныя ў гэтым шаблоне як «Увод шаблона», будуць неабходныя ў якасці параметраў у XML пры арганізацыі ініцыяцыі тэставага шаблону.
  • Запуск тэстаў у Paragon Active Assurance разглядаецца як «стан» у кантэксце аркестроўкі. Даныя аб стане - гэта недаступныя для запісу даныя, якія не захоўваюцца ў базе даных канфігурацыі, у адрозненне ад даных канфігурацыі, згаданых у раздзеле «Надview Аркестрацыі тэставага агента” на старонцы 17. Гэта ў асноўным азначае, што змены ў тэстах або шаблонах у графічным інтэрфейсе Цэнтра кіравання не выклічуць ніякіх праблем, звязаных з сінхранізацыяй паміж Цэнтрам кіравання і базай дадзеных канфігурацыі.
  • Каб атрымаць справаздачу -URL прама ў справаздачах аб выпрабаваннях, вам трэба пераканацца, што Цэнтр кіравання URL правільна наладжаны. Гэта зроблена ў в file /opt/netrounds-confd/settings.py. Па змаўчанні імя хоста Control Center атрымліваецца з дапамогай socket.gethostname(): гл. ніжэй. Калі гэта не дае правільнага выніку, вам трэба ўсталяваць імя хаста (або ўвесь файл URL) уручную ў гэтым file.

# URL Цэнтра кіравання без касой рысы ў канцы.
# Гэта, напрыкладampфайл, які выкарыстоўваецца ў справаздачы аб выпрабаванні-url.
HOSTNAME = socket.gethostname()
NETROUNDS_URL = 'https://%s' % HOSTNAME
Пачатак тэсту
Як апісана ў раздзеле «Стварэнне і разгортванне новага тэставага агента» на старонцы 17, выканайце каманду pang -f tree netrounds-ncc.yang
з каталога /opt/netrounds-confd/, каб вывесці мадэль YANG. У гэтай мадэлі RPC для запуску тэсту з дапамогай кліента NC выглядае наступным чынам:Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ключ 2Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ключ 3

Тлумачэнні глядзіце ў раздзеле “Легенда” на старонцы 81 у Дадатку.

Наступныя крокі паказаны ніжэй:

  1. Тэставыя агенты былі зарэгістраваны ва ўліковым запісе Paragon Active Assurance, але тэсты яшчэ не пачыналіся.
  2. Неабходныя ўваходныя параметры вызначаны ў тэставым шаблоне, які будзе запушчаны.
  3.  Тэст HTTP працягласцю 60 секунд запускаецца з дапамогай ncclient.

Крок 1: З самага пачатку ніякіх тэстаў ва ўліковым запісе Paragon Active Assurance не было. Глядзіце скрыншот ніжэй з графічнага інтэрфейсу Цэнтра кіравання.Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ключ 4
Крок 2: Шаблон, які мы будзем выкарыстоўваць для пачатку тэсту ў гэтым выпадкуample - тэставы шаблон HTTP. Ён мае два абавязковых палі для ўводу (Кліенты і URL), які мы пазначылі як такі пры стварэнні шаблону ў графічным інтэрфейсе Цэнтра кіравання.Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ключ 5

Мы вызначым гэтыя параметры (сярод іншых) у канфігурацыі XML, якую перадае ў базу дадзеных канфігурацыі наш менеджэр NETCONF (ncclient).
Крок 3: Тэст HTTP запускаецца з дапамогай ncclient.
Ніжэй эксample код, у якім указваецца неабходная інфармацыя аб канфігурацыі і параметры тэставага шаблону HTTP. У залежнасці ад таго, як быў пабудаваны шаблон, дэталі тут могуць адрознівацца.
Для кожнага параметру, атрыбут павінен быць пастаўлены. Ключ ідэнтычны параметру
Імя зменнай у Цэнтры кіравання. Вы можаце праверыць імёны зменных наступным чынам:

  • Націсніце «Тэсты» на бакавой панэлі і выберыце «Новая паслядоўнасць тэстаў».
  • Націсніце Мае шаблоны.
  • Пстрыкніце спасылку "Рэдагаваць" пад цікавым шаблонам.
  • Націсніце кнопку «Рэдагаваць увод» у правым верхнім куце.

У нашай былойample, і па змаўчанні імёны зменных - гэта проста версіі імёнаў, якія адлюстроўваюцца ў малым рэгістры ў Цэнтры кіравання ("url"супраць"URL», і г.д.). Аднак у графічным інтэрфейсе Цэнтра кіравання вы можаце перайменаваць зменныя як заўгодна.
Акрамя ключа, у кожнага параметра павінен быць указаны тып: напрыклад,ampле, для URL.
Звярніце ўвагу, што вам трэба паўторнаview поўную мадэль YANG, каб атрымаць поўную інфармацыю аб тыпах. Для інтэрфейсаў Test Agent тып мае больш складаную структуру, як паказана ніжэй у кодзе ніжэй.Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ключ да

Цяпер мы можам запусціць скрыпт з дапамогай ncclient. Пры ўмове, што ўсё правільна, тэст будзе пачаты, і яго выкананне будзе адлюстравана ў Цэнтры кіравання:Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - кіраваннеКалі тэст паспяхова запушчаны, Цэнтр кіравання адкажа ідэнтыфікатарам тэсту. У гэтым эксample, ідэнтыфікатар тэсту роўны 3:Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - кантроль 1Тэст ID таксама можна знайсці ў URL для тэсту ў графічным інтэрфейсе Цэнтра кіравання. У гэтым эксampле, што URL гэта https://host/demo/testing/3/.
Атрыманне вынікаў тэсту
Самы просты спосаб атрымання вынікаў тэсту - указанне на ідэнтыфікатар тэсту.
Ніжэй прыведзены код Python для атрымання вынікаў прыведзенага вышэй тэсту HTTP з ID = 3:
з кіраўніком. Connect(host=args.host, port=args.port, username=args.username,password=args.password, hostkey_verify=False) як m:Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - кантроль 2

Выхад будзе выглядаць прыкладна так:Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - кантроль 3 Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - кантроль 4

Экспарт і імпарт тэставых шаблонаў
Тэставыя шаблоны можна экспартаваць у фармат JSON і паўторна імпартаваць у гэтым фармаце ў Цэнтр кіравання. Гэта карысна, калі вы хочаце выкарыстоўваць тэставыя шаблоны ў іншай устаноўцы Цэнтра кіравання. (Першапачатковае стварэнне шаблонаў лепш за ўсё апрацоўваць праз графічны інтэрфейс Цэнтра кіравання.)
Ніжэй прыведзены код для выканання экспарту і імпарту.
Экспарт тэставых шаблонаў

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - кантроль 5

# Атрымаць канфігурацыю json з адказу
корань = ET.fromstring(response._raw)
json_config = корань[0].тэкст
раздрукаваць json_config
Шаблон змяшчаецца ў аб'екце json_config.
Імпарт шаблонаў тэстаў
Канфігурацыйны аб'ект JSON, які змяшчае тэставыя шаблоны, можна паўторна імпартаваць у Цэнтр кіравання наступным чынам.Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - ШаблоныПраграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 1

Exampлес: Маніторы

У гэтым раздзеле мяркуецца, што тэставыя агенты (столькі, колькі патрабуецца маніторам) былі створаны ў адпаведнасці з раздзелам «Стварэнне і разгортванне новага тэставага агента» на старонцы 17.
Шляхі мадэлі YANG для манітораў

Пункт Шлях мадэлі YANG: /accounts/account/monitors …
маніторы /.
манітор [імя] /манітор
імя /манітор/імя
апісанне /манітор/апісанне
пачаўся /monitor/started
шаблон /манітор/шаблон
будзільнік-канфігурацыі /monitor/alarm-configs
Пункт Шлях мадэлі YANG: /accounts/account/monitors/monitor/alarm-configs …
alarm-config[ідэнтыфікатар] /канфігурацыя трывогі
ідэнтыфікатар /alarm-config/identifier
шаблон /alarm-config/template
электронная пошта /alarm-config/email
SNMP /alarm-config/snmp
трэ-эс-крытычны /alarm-config/thr-es-critical
thr-es-critical-clear /alarm-config/thr-es-critical-clear
тр-эс-мажор /alarm-config/thr-es-major
тр-эс-мажор-ясна /alarm-config/thr-es-major-clear
трэ-эс-мінор /alarm-config/thr-es-minor
трэ-эс-мінор-ясны /alarm-config/thr-es-minor-clear
thr-es-папярэджанне /alarm-config/thr-es-warning
thr-es-warning-clear /alarm-config/thr-es-warning-clear
без сур'ёзнасці дадзеных /alarm-config/no-data-severity
тайм-аўт без дадзеных /alarm-config/no-data-timeout
дзеянне /alarm-config/action
памер акна /alarm-config/window-size
інтэрвал /alarm-config/interval
адправіць толькі адзін раз /alarm-config/send-only-once
snmp-trap-per-stream /alarm-config/snmp-trap-per-stream
Пункт Шлях мадэлі YANG: /accounts/account/monitors …
параметры /манітор/параметры
Пункт Шлях да мадэлі YANG: /accounts/account/monitors/monitor/parameters …
параметр [ключ] /параметр
ключ /параметр/ключ
(тып значэння) /параметр
:(цэлы лік) /параметр
цэлы лік /параметр/цэлы лік
:(плаваць) /параметр
паплавок /параметр/float
:(радок) /параметр
Пункт Шлях да мадэлі YANG: /accounts/account/monitors/monitor/parameters …
радок /параметр/радок
:(інтэрфейсы тэставага агента) /параметр
тэст-агент-інтэрфейсы /parameter/test-agent-interfaces
інтэрфейс тэставага агента[“1” на старонцы 58 /parameter/test-agent-interfaces/
рахунак /parameter/test-agent-interfaces/test-agent-interface/account
тэст-агент /parameter/test-agent-interfaces/test-agent-interface/test-agent
інтэрфейс /parameter/test-agent-interfaces/test-agent-interface/interface
ip-версія /parameter/test-agent-interfaces/test-agent-interface/ip-version
:(твamp-адбівальнікі) /параметр
twamp-адбівальнікі /параметр/твamp-адбівальнікі
twamp-адбівальнік [імя] /параметр/твamp-адбівальнікі/твamp-адбівальнік
імя /параметр/твamp-адбівальнікі/твamp-адбівальнік / наз
:(y1731-meps) /параметр
y1731-мепс /параметр/y1731-meps
y1731-mep [імя] /параметр/y1731-meps/y1731-mep
імя /параметр/y1731-meps/y1731-mep/імя
:(сіп-акаўнты) /параметр
sip-акаўнты /parameter/sip-рахункі
sip-рахунак [«2» на старонцы 58] /parameter/sip-accounts/sip-account
рахунак /parameter/sip-accounts/sip-account/account
тэст-агент /parameter/sip-accounts/sip-account/test-agent
інтэрфейс /parameter/sip-accounts/sip-account/interface
sip-адрас /parameter/sip-accounts/sip-account/sip-address
:(IPTV-каналы) /параметр
iptv-каналы /parameter/iptv-каналы
iptv-канал [імя] /parameter/iptv-channels/iptv-channel
імя /parameter/iptv-channels/iptv-channel/name
  1. інтэрфейс тэставага агента ўліковага запісу
  2. sip-адрас інтэрфейсу тэставага агента ўліковага запісу
Пункт Шлях мадэлі YANG: /accounts/account/monitors …
статус /манітор/статус
апошнія 15 хвілін /monitor/status/last-15-minutes
статус /monitor/status/last-15-minutes/status
статус-значэнне /monitor/status/last-15-minutes/status-value
апошняя гадзіна /monitor/status/last-hour
статус /monitor/status/last-hour/status
статус-значэнне /monitor/status/last-hour/status-value
апошнія 24 гадзіны /манітор/статус/апошнія 24 гадзіны
статус /monitor/status/last-24-hours/status
статус-значэнне /monitor/status/last-24-hours/status-value
шаблоны / шаблоны
шаблон [імя] /templates/template
імя /templates/template/name
апісанне /templates/template/description
параметры /templates/template/parameters
параметр [ключ] /templates/template/parameters/parameter
ключ /templates/template/parameters/parameter/key
тыпу /templates/template/parameters/parameter/type

Перадумовы для аркестравання манітора
Перш чым вы зможаце запусціць манітор праз NETCONF з дапамогай ncclient, вам трэба стварыць шаблон манітора ў графічным інтэрфейсе Цэнтра кіравання, як тлумачыцца ў даведцы праграмы ў раздзеле «Тэсты і маніторы» > «Стварэнне шаблонаў». Усе палі, вызначаныя як «Увод шаблона» ў гэтым шаблоне, будуць неабходныя ў якасці параметраў у XML пры арганізацыі ініцыяцыі шаблона.
Атрыманне ўваходных параметраў з шаблонаў манітора
Ніжэй паказаны два шаблоны. Першы прызначаны для маніторынгу UDP паміж двума інтэрфейсамі тэставага агента, а другі прызначаны для HTTP з выкарыстаннем аднаго інтэрфейсу тэставага агента.
Каб даведацца ўваходныя параметры шаблона, пстрыкніце поле, якое прадстаўляе шаблон. Для шаблону HTTP параметры могуць выглядаць так:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 2

Нам трэба вызначыць гэтыя параметры на наступным этапе пры запуску манітора.
Запуск манітора
Выкарыстоўваючы тэставыя агенты, якія мы вызначылі і разгарнулі ў раздзеле «Стварэнне і разгортванне новага тэставага агента» на старонцы 17, мы можам запусціць манітор з шаблона «HTTP», як паказана ніжэй.
Для кожнага параметру, атрыбут павінен быць пастаўлены. Ключ ідэнтычны назве зменнай параметра ў Цэнтры кіравання. Вы можаце праверыць імёны зменных наступным чынам:

  • Націсніце Маніторынг на бакавой панэлі і абярыце Новы манітор.
  • Націсніце Мае шаблоны.
  • Пстрыкніце спасылку "Рэдагаваць" пад цікавым шаблонам.
  • Націсніце кнопку «Рэдагаваць увод» у правым верхнім куце.

У нашай былойample, і па змаўчанні імёны зменных - гэта проста версіі імёнаў, якія адлюстроўваюцца ў малым рэгістры ў Цэнтры кіравання ("url"супраць"URL», і г.д.). Аднак у графічным інтэрфейсе Цэнтра кіравання вы можаце перайменаваць зменныя як заўгодна.
Акрамя ключа, у кожнага параметра павінен быць указаны тып: напрыклад,ampле, для URL. Звярніце ўвагу, што поўная інфармацыя аб тыпе параметру знаходзіцца ў мадэлі YANG. Для інтэрфейсаў Test Agent гэты тып мае больш складаную структуру, як паказана ў кодзе ніжэй.
У эксampдалей, сігналізацыя не звязана з маніторам. Напрыкладampзвязаныя з будзільнікамі, перайдзіце да раздзела «Запуск манітора з сігналізацыяй» на старонцы 62.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 3

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 4

Запуск манітора з будзільнікам
Каб звязаць сігнал трывогі з маніторам, вы можаце паказаць на шаблон сігналу, які быў вызначаны, або падаць поўную канфігурацыю сігналу пры стварэнні манітора. Дамо адну эксampле кожнага падыходу ніжэй.
Настройка сігналізацыі манітора, паказваючы на ​​шаблон сігналізацыі
Каб выкарыстоўваць шаблон будзільніка, вы павінны ведаць яго ID. Для гэтага спачатку атрымайце ўсе шаблоны сігналаў, як апісана ў раздзеле «Атрыманне ўсіх шаблонаў сігналаў» на старонцы 39, і запішыце назву адпаведнага шаблону. Затым вы можаце звярнуцца да гэтага шаблону наступным чынам:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 5

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 6

Настройка сігналізацыі манітора шляхам яго прамой канфігурацыіy
Акрамя таго, вы можаце наладзіць будзільнік для манітора, указаўшы ўсю яго канфігурацыю пры стварэнні манітора, не спасылаючыся на шаблон сігналізацыі. Гэта робіцца, як паказана ў наступным прыкладзеampле.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 7

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 8

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны 9

Атрыманне запушчаных манітораў
Каб атрымаць усе маніторы, якія зараз выконваюцца, запусціце гэты скрыпт:
з кіраўніком. падключыцца(host=args.host, port=args.port, username=args. user name, password=args.password, hostkey_verify=False) як m:

Juniper NETWORKS NETCONF & YANG API Software -Шаблоны ў

Выхад - спіс усіх запушчаных манітораў, як паказана ніжэй:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны ў 1

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны ў 2

Атрыманне статусу SLA для манітора
Вось як атрымаць статус SLA для манітора. У гэтым эксample, мы атрымліваем статус SLA для манітора «Якасць сеткі» за тры прамежкі часу: апошнія 15 хвілін, апошнюю гадзіну і апошнія 24 гадзіны.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Манітор

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Манітор 1

Выхад будзе выглядаць прыкладна так:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Манітор 2



Апавяшчэнні NETCONF
Апавяшчэнні NETCONF для манітораў выклікаюцца парушэннем SLA. Яны адбываюцца, калі SLA для манітора апускаецца ніжэй за парогавае значэнне SLA («Добра» або «Прымальна») на працягу зададзенага часовага акна, па змаўчанні апошнія 15 хвілін. Варта адзначыць, што апавяшчэнні аб парушэнні SLA хутка з'яўляюцца пасля таго, як у сэрвісе ўзнікла праблема, у той час як статус SLA вернецца да "Добра" толькі праз 15 хвілін і толькі ў тым выпадку, калі больш не будзе парушэнняў.
Часовае акно можна змяніць шляхам рэдагавання параметра SLA_STATUS_WINDOW (значэнне ў секундах) у /etc/netrounds/netrounds.conf.
Экспарт і імпарт шаблонаў манітора
Робіцца гэта сапраўды гэтак жа, як і для тэставых шаблонаў; параўнайце раздзел «Экспарт і імпарт тэставых шаблонаў» на старонцы 52. Прыведзеныя ніжэй фрагменты кода ілюструюць, як экспартаваць і імпартаваць шаблоны для манітораў.
Экспарт шаблонаў манітора

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны манітора

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны манітора 1

Імпарт шаблонаў манітора

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны манітора 3

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Шаблоны манітора 4

Выкарыстоўваючы Tags

Tags вызначанае ў Paragon Active Assurance можа прымяняцца да:

  • маніторы
  • Шаблоны манітораў
  • Тэставыя агенты
  • TWAMP адбівальнікі
  • Пінг хасты.
    Напрыкладampле, ты можаш tag манітор з такім жа tag як падмноства тэставых агентаў, якія будуць запускаць манітор. Гэтая функцыя асабліва карысная, калі ў вас вызначана вялікая колькасць манітораў і шаблонаў.

Калі вы наладзілі сігнал трывогі з пасткамі SNMP для манітора, то пасткі SNMP будуць прызначаны аднолькава tags як манітор, калі такі маецца.
Стварэнне Tags
Ніжэй мы пакажам, як стварыць a tag з імем і колерам, вызначанымі ў XMLtag> падбудова.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags

Прызначэнне Tag
Каб прызначыць а tag да рэсурсу, вы дадаеце яго як новыtag> элемент падtags> элемент для гэтага рэсурсу.
Вось як прызначыць a tag Тэставаму агенту:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags 1

Каб прызначыць а tag да TWAMP адбівальнік, зрабіце наступнае:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags 2

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags 3

Прызначэнне tag да манітора апрацоўваецца аналагічна:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags 4

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags 5

Акрамя таго, вы можаце прызначыць існуючы tag да любога з гэтых тыпаў рэсурсаў пры стварэнні рэсурсу, уключыўшыtags> элемент, які змяшчае tag пад пытаннем.
Абнаўленне Tag
Абнаўленне існуючага tag з новымі атрыбутамі аналагічна стварэнню a tag:

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags кіраваць

Адмена прызначэння Tag
Адмяніць прызначэнне a tag з рэсурсу, дадайце атрыбут nc:operation=”delete” уtag> элемент, які належыць рэсурсу. Ніжэй мы адмяняем прызначэнне a tag з манітора.

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags кіраваць 1

Выдаленне a Tag
Каб выдаліць tag увогуле з Цэнтра кіравання зноў выкарыстоўваецца атрыбут nc:operation=”delete”, але на гэты раз да tag сам, вызначаны пад .

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Tags кіраваць 2

Ліквідацыю непаладак

Праблема: Orchestrator і Paragon Active Assurance не сінхранізаваны
Напрыклад, аркестратар і Paragon Active Assurance могуць не сінхранізаваццаample, калі змены канфігурацыі былі зроблены ў графічным інтэрфейсе Цэнтра кіравання, або калі прымяненне канфігурацыі не было паспяховым і адкат да папярэдняга стану не атрымаўся.
У выпадку няўдалага адкату сервер NETCONF больш не будзе прымаць змены канфігурацыі; ён адкажа паведамленнем пра памылку аб тым, што канфігурацыя заблакіравана да вяртання ў сінхранізацыю. Каб аднавіць сінхранізацыю і разблакіраваць змены канфігурацыі, вам трэба запусціць каманду rpc sync-from-ncc, якая сінхранізуе ўсю канфігурацыю з Цэнтра кіравання з базай даных канфігурацыі.
УВАГА: The confd@netrounds.com Карыстальнік (або тое, што было настроена) павінен мець прывілеі суперпользователя, каб усё было паспяхова сінхранізавана. Гэтага можна дасягнуць з дапамогай каманды ncc user-update confd@netrounds.com –is-superuser Калі карыстальнік не з'яўляецца суперкарыстальнікам, з'явіцца папярэджанне аб тым, што не ўсё можа быць сінхранізавана, але ўсё, што можа быць апрацавана, было сінхранізавана.
УВАГА: Калі ваш аркестратар таксама захоўвае канфігурацыю, вам трэба будзе паўторна сінхранізаваць і яе, паколькі запытаная канфігурацыя (канфігурацыя, якую аркестрант чакае, што будзе мець Цэнтр кіравання) не будзе прыменена.
Праблема: першапачатковая сінхранізацыя (sync-from-ncc) не атрымалася з-за непадтрымоўваных рэсурсаў
Калі вы паспрабуеце запусціць rpc sync-from-ncc ва ўліковым запісе, канфігурацыя якога створана ў графічным інтэрфейсе Цэнтра кіравання, вы можаце сутыкнуцца з праблемамі, калі ўліковы запіс змяшчае непадтрымоўваныя рэсурсы. Рэкамендуецца пачынаць з пустога ўліковага запісу і выконваць усю яго наладу праз NETCONF. У адваротным выпадку, калі ў вас узнікнуць праблемы з канфліктамі рэсурсаў, вам прыйдзецца выдаліць канфліктуючыя рэсурсы з уліковага запісу.
Праблема: каманды NETCONF не выконваюцца з ncclient.operations.rpc.RPCError: збой сувязі прыкладання
Сервер NETCONF не аднаўляе злучэнне з серверам Цэнтра кіравання аўтаматычна пры перазапуску Цэнтра кіравання. Каб аднавіць злучэнне з Цэнтрам кіравання, перазапусціце працэс NETCONF: sudo systemctl restart netrounds-confd

Заўвагі аб праграмах тэставых агентаў і прыладах тэставых агентаў

Тэставыя праграмы агента ў ConfD
Сярод тэставых агентаў (навейшае) прыкладанне тэставага агента працуе трохі інакш, чым (старэйшае) прылада тэставага агента.
Праграмы тэставага агента зараз не падтрымліваюць канфігурацыю інтэрфейсу. Такім чынам, схема YANG дазваляе ўказваць пустую канфігурацыю інтэрфейсу для такіх тэставых агентаў. Глядзіце «гэты ўрывак» на старонцы 23 для прыкладуampле.
Пры сінхранізацыі базы дадзеных ConfD з Цэнтрам кіравання з дапамогай каманды sync-from-ncc вы хочаце, каб канфігурацыя інтэрфейсу заставалася пустой і не перазапісвалася тым, што знаходзіцца ў Цэнтры кіравання. Таму вам трэба выкарыстоўваць спецыяльны сцяг –without_interface_config з гэтай камандай пры працы з праграмамі тэставага агента.
Пустая канфігурацыя інтэрфейсу для Test Agent Appliance
Як было адзначана вышэй, праграма Test Agent не падтрымлівае канфігурацыю інтэрфейсу, і таму можна апусціць інтэрфейсы ў схеме YANG.
Але ёсць таксама выпадкі выкарыстання, калі вы можаце апусціць канфігурацыю інтэрфейсу з прылады Test Agent. БылыampГэта можа быць сцэнар аркестроўкі, калі вы раскручваеце тэставы агент з дапамогай cloud-init і хочаце выкарыстоўваць канфігурацыю інтэрфейсу адтуль, а не дазваляць ConfD перазапісваць яго, калі тэставы агент выходзіць у сетку.
Змены ў схеме YANG адносна нявызначаных інтэрфейсаў
Паколькі пустая канфігурацыя інтэрфейсу цяпер дазволена (з версіі 2.34.0), можна ўказаць любое імя інтэрфейсу ў якасці ўваходных дадзеных для задачы, якая выконваецца як частка тэсту або манітора.
Гэта неабходна для таго, каб мець магчымасць выкарыстоўваць прыкладанне тэставага агента, бо для гэтага ў ConfD не вызначаны назвы інтэрфейсаў. Звярніце ўвагу, аднак, што гэта таксама азначае, што вы можаце сутыкнуцца з праблемамі, калі выпадкова наладзіце тэст або манітор на выкарыстанне неіснуючага інтэрфейсу. Таму памятайце пра гэта.
Абмежаванні пры рэгістрацыі тэставага агента, створанага ў ConfD
Пры стварэнні тэставага агента праз REST або NETCONF/YANG API мы не можам ведаць загадзя, які гэта тып: Test Agent Appliance або Test Agent Application. Гэта становіцца зразумела толькі пасля рэгістрацыі Тэст-агента.
Пасля таго, як тэставы агент быў зарэгістраваны і ператварыўся ў адзін з гэтых канкрэтных тыпаў, вы не маеце права паўторна зарэгістраваць яго як іншы тып тэставага агента. Гэта азначае, што вам не дазволена спачатку зарэгістраваць яго як прыладу Test Agent, а потым паўторна зарэгістраваць яе як праграму Test Agent і наадварот. Калі вам патрэбен тэставы агент іншага тыпу, вам трэба будзе стварыць новы тэставы агент.

Дадатак: Дрэвавая структура поўнай мадэлі YANG

У гэтым дадатку раздзел «Легенда» на старонцы 81 тлумачыць сінтаксіс дрэвападобнай структуры мадэлі YANG, створанай з дапамогай каманды pyang -f tree.
У раздзеле «Дрэвападобная структура мадэлі YANG» на старонцы 82 прадстаўлены вынікі гэтай каманды, прымененай да netrounds-ncc.yang. Часткі гэтага выхаду ўзнаўляюцца ў іншых месцах дакумента.
Легенда

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API -Легенда

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Легенда 1

Структура дрэва мадэлі YANG

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 1

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 2

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 3

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 3 Праграмнае забеспячэнне API NETWORKS NETCONF & YANG - Дрэва мадэляў 4

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 5

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 6

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 7

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Дрэва мадэляў 8Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - поўнае дрэва мадэляў

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Мадэль Дрэва Поўны 1Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Мадэль Дрэва Поўны 2

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Мадэль Дрэва Поўны 3

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Мадэль Дрэва Поўны 4

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Мадэль Дрэва Поўны 5

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Мадэль Дрэва Поўны 6

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API - Мадэль Дрэва Поўны 7

Juniper Networks, лагатып Juniper Networks, Juniper і Junos з'яўляюцца зарэгістраванымі гандлёвымі маркамі Juniper Networks, Inc. у ЗША і іншых краінах. Усе іншыя гандлёвыя маркі, знакі абслугоўвання, зарэгістраваныя знакі або зарэгістраваныя знакі абслугоўвання з'яўляюцца ўласнасцю іх адпаведных уладальнікаў. Juniper Networks не нясе адказнасці за любыя недакладнасці ў гэтым дакуменце. Juniper Networks пакідае за сабой права змяняць, мадыфікаваць, перадаваць або іншым чынам пераглядаць гэтую публікацыю без папярэдняга паведамлення. Аўтарскае права © Juniper Networks, Inc., 2023. Усе правы абаронены.Лагатып JUNIPER NETWORKS

Дакументы / Рэсурсы

Праграмнае забеспячэнне Juniper NETWORKS NETCONF & YANG API [pdfКіраўніцтва карыстальніка
Праграмнае забеспячэнне API NETCONF YANG, праграмнае забеспячэнне YANG API, праграмнае забеспячэнне API, праграмнае забеспячэнне

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *