Prieš rašydami Ansible užduotį, atsakykite į mažesnį klausimą: kas skaičiuojama? Sukonfigūruotas partneris, IKE sesija, IPsec saugos asociacija ir stebimo tunelio būsenos įrašas yra keturi skirtingi vienetai, o raktų regeneravimas ar keli apsaugoti tinklai lemia, kad jų sumos išsiskiria. Jei prietaisų skydelis ir playbook nesutaria, paprastai jie skaičiuoja skirtingus dalykus, o ne tai, kad vienas iš jų klysta.

Keturi dalykai, kuriuos žmonės vadina aktyviais

Sukonfigūruotas partneris yra topologijos objektas: jis egzistuoja todėl, kad kažkas jį apibrėžė. IKE sesija yra valdymo plokštumos ryšys, kuris gali būti aktyvus, nors srautas nevyksta. IPsec SA yra duomenų plokštumos asociacija konkrečiai selektorių porai, ir vienas tunelis gali nešti kelias. Stebima tunelio būsena yra pačios platformos operacinis sprendimas, paprastai artimiausias tam, ką operatorius turi omenyje sakydamas, kad tunelis veikia.

Tik paskutinis yra pagrįstas operacinio skaičiavimo pagrindas. Pirmasis yra konfigūracijos inventorius, o jo pateikimas kaip aktyvaus yra būdas, kuriuo skydelis rodo žalią partneriui, kuris neveikia nuo antradienio. Nuspręskite, kurio vieneto reikia skaičiaus vartotojui, tada pavadinkite metriką tuo vienetu jos pačios pavadinime.

Pirmas sprendimas: kuri valdymo plokštuma?

Jei įrenginį valdo FDM, atitinkamas paviršius yra FTD REST API. Jei jį valdo FMC, ši API nėra pakaitinė alternatyva, o objektai gyvena už FMC pačios API. Patvirtinkite tai prieš rašydami bent vieną užklausą, nes netinkama plokštuma grąžina tikėtiną klaidą, kuri atrodo kaip leidimų problema.

Flotei atsakymas taip pat nusprendžia, kur priklauso skaičiavimas: pagal įrenginį per FDM ar pagal domeną per FMC. Tai skirtingos apimtys ir jos duoda skirtingus skaičius tai pačiai flotei.

Antras sprendimas: kuris išteklius atsako?

Su versija susietam pavyzdžiui FMC 7.3 API objektų žinynas dokumentuoja GET išteklius pagal health kelią:

/api/fmc_config/v1/domain/{domainUUID}/health/tunnelstatuses
/api/fmc_config/v1/domain/{domainUUID}/health/tunnelsummaries

Tunelio būsenos išteklius palaiko įrenginio ir būsenos filtrus, įskaitant TUNNEL_UP. Tai suteikia tikrą operacinį išteklių, kurį galima patikrinti tai versijai, o ne spėjimą apie lauko pavadinimą.

Prieš įgyvendindami analizatorių, patvirtinkite prieinamumą, leidimus, užklausos parametrus ir atsakymo schemą įdiegtos FMC API Explorer. Vienos versijos dokumentacija yra atspirties taškas, o ne sutartis tai, kurią vykdote.

Parašykite skaičiavimo sutartį

Suformuluokite metriką vienu sakiniu: unikalūs operaciniai tunelio įrašai vienam numatytam įrenginiui ir domenui, kurių pranešta būsena yra TUNNEL_UP. Tada dokumentuokite, kaip pateikiami pertekliniai įrenginiai ir keli įrašai vienai loginei vietai, nes šie du atvejai nusprendžia, ar jūsų skaičius sutampa su posėdyje esančiu.

Netyliai nekeiskite vieneto iš tunelio įrašo į nuotolinę vietą. Jei verslas nori vietų, aiškiai susiekite įrašus su vietomis ir paskelbkite susiejimą. Skaičiavimas, kuris tyliai persidefiniuoja, yra blogesnis nei jokio skaičiavimo, nes niekas negali pasakyti, kada jis pasikeitė.

Su suvestinės ištekliumi elkitės kaip su patogumu tik patvirtinę, ką jis apibendrina. Jis gali agreguoti būtent tai, ko jums reikia, arba atsakyti į subtiliai kitą klausimą. Perskaitykite jo schemą vieną kartą, užsirašykite skirtumą ir naudokite būsenos išteklių, jei suvestinės negalima paaiškinti. Suvestinė, kurios nesuprantate, yra skaičius, kurio negalite apginti peržiūroje.

Tegul darbo eiga išsaugo neapibrėžtumą

Naudokite patvirtintą HTTPS API, patikrinkite sertifikatą, laikykite žetonus už užduoties išvesties ribų ir gaukite apimtį su versijos palaikomu filtru ir puslapiavimu. Tada patikrinkite schemą prieš ką nors skaičiuodami.

fetch intended domain/device runtime records
validate response, completeness and freshness
deduplicate by the documented tunnel identity
count records matching the approved up-state definition
report count with scope, timestamp and metric unit

Tai darbo eigos pseudokodas, o ne išbandytas playbook. Paimkite tikrus laukų pavadinimus iš įdiegtos API, o ne išgalvokite JSON raktą pavadinimu active.

Svarbi taisyklė yra elgsena nepavykus: autorizacijos klaida, nepalaikomas išteklius, pasenęs pavyzdys ar nepilnas puslapių rinkinys turi duoti unknown arba error, niekada sėkmingo nulio. Nulis, reiškiantis, kad negalėjau paklausti, yra brangiausia klaidos rūšis.

Patikrinkite pagal pačios platformos vaizdą

Palyginkite pirmąjį rezultatą su versijos VPN stebėjimo vaizdu tam pačiam įrenginiui ir momentui. Kai jie skiriasi, išsiaiškinkite, kurį vienetą naudoja kiekvienas, prieš keisdami playbook.

Išsaugokite ne slaptą kontekstą kiekvienam vykdymui: apimtis, laiko žyma, metrikos vienetas ir įrašų skaičius. FMC 7.3 API objektų žinynas yra aukščiau nurodytų išteklių kelių šaltinis, o jūsų pačių diegimo API Explorer yra viso kito šaltinis.

Susiję straipsniai