Înainte de a scrie sarcina Ansible, răspundeți la o întrebare mai mică: ce se numără? Un partener configurat, o sesiune IKE, o asociere de securitate IPsec și o înregistrare a stării tunelului monitorizat sunt patru unități diferite, iar regenerarea cheilor sau mai multe rețele protejate fac ca totalurile lor să diverge. Dacă tabloul de bord și playbook-ul nu sunt de acord, de obicei numără lucruri diferite, nu că unul dintre ele greșește.

Patru lucruri pe care oamenii le numesc active

Un partener configurat este un obiect de topologie: există pentru că cineva l-a definit. O sesiune IKE este o relație a planului de control care poate fi activă în timp ce nu curge trafic. O SA IPsec este asocierea planului de date pentru o anumită pereche de selectori, iar un tunel poate transporta mai multe. O stare a tunelului monitorizat este verdictul operațional al platformei înseși, de obicei cel mai apropiat de ceea ce un operator înțelege prin faptul că tunelul este activ.

Doar ultima este o bază rezonabilă pentru o numărătoare operațională. Prima este un inventar de configurare, iar raportarea ei ca activă este felul în care un tablou de bord arată verde pentru un partener care este căzut de marți. Decideți de ce unitate are nevoie consumatorul numărului, apoi etichetați metrica cu acea unitate în numele ei.

Prima decizie: ce plan de management?

Dacă dispozitivul este administrat de FDM, suprafața relevantă este FTD REST API. Dacă este administrat de FMC, acel API nu este un substitut interschimbabil, iar obiectele trăiesc în spatele API-ului propriu al FMC. Confirmați acest lucru înainte de a scrie o singură cerere, deoarece planul greșit returnează o eroare plauzibilă care arată ca o problemă de permisiuni.

Pentru o flotă, răspunsul decide și unde aparține numărătoarea: pe dispozitiv prin FDM, sau pe domeniu prin FMC. Acestea sunt domenii diferite și produc numere diferite pentru aceeași flotă.

A doua decizie: ce resursă răspunde?

Pentru un exemplu limitat la versiune, referința de obiecte a FMC 7.3 API documentează resurse GET sub calea health:

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

Resursa de stare a tunelului acceptă filtre de dispozitiv și de stare, inclusiv TUNNEL_UP. Asta vă oferă o resursă operațională reală de inspectat pentru acea versiune, în loc de o presupunere despre numele unui câmp.

Confirmați disponibilitatea, permisiunile, parametrii cererii și schema răspunsului în API Explorer al FMC implementat înainte de a implementa un parser. Documentația pentru o versiune este un punct de plecare, nu un contract pentru cea pe care o rulați.

Scrieți contractul numărătorii

Formulați metrica într-o propoziție: înregistrări operaționale de tunel unice pentru un dispozitiv și un domeniu intenționate a căror stare raportată este TUNNEL_UP. Apoi documentați cum sunt reprezentate dispozitivele redundante și înregistrările multiple pentru un singur site logic, deoarece aceste două cazuri decid dacă numărul dvs. corespunde cu cel din ședință.

Nu schimbați în tăcere unitatea din înregistrare de tunel în site la distanță. Dacă afacerea vrea site-uri, mapați explicit înregistrările pe site-uri și publicați maparea. O numărătoare care se redefinește în tăcere este mai rea decât nicio numărătoare, pentru că nimeni nu poate spune când s-a schimbat.

Tratați resursa de rezumat ca pe o comoditate doar după ce ați confirmat ce rezumă. Poate agrega exact ce aveți nevoie sau poate răspunde la o întrebare ușor diferită. Citiți schema o dată, notați diferența și folosiți resursa de stare dacă rezumatul nu poate fi explicat. Un rezumat pe care nu îl înțelegeți este un număr pe care nu îl puteți apăra într-o revizuire.

Lăsați fluxul de lucru să păstreze incertitudinea

Folosiți API-ul HTTPS aprobat, validați certificatul, țineți tokenurile în afara ieșirii sarcinii și obțineți domeniul cu filtrul și paginarea acceptate de versiune. Apoi validați schema înainte de a calcula ceva.

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

Acesta este pseudocod de flux de lucru, nu un playbook testat. Luați numele reale ale câmpurilor din API-ul instalat în loc să inventați o cheie JSON numită active.

Regula importantă este comportamentul la eșec: o eroare de autorizare, o resursă neacceptată, o mostră învechită sau un set incomplet de pagini trebuie să producă unknown sau error, niciodată un zero reușit. Un zero care înseamnă că nu am putut întreba este cel mai scump tip de greșeală.

Validați față de viziunea proprie a platformei

Comparați primul rezultat cu vizualizarea de monitorizare VPN a versiunii pentru același dispozitiv și moment. Când diferă, aflați ce unitate folosește fiecare înainte de a modifica playbook-ul.

Păstrați context neconfidențial pentru fiecare rulare: domeniu, marcă temporală, unitatea metricii și numărul de înregistrări. referința de obiecte a FMC 7.3 API este sursa căilor de resurse de mai sus, iar API Explorer din implementarea dvs. este sursa pentru toate celelalte.

Articole similare