Før du skriv Ansible-oppgåva, svar på eit mindre spørsmål: kva er det som blir talt? Ein konfigurert partnar, ei IKE-økt, ein IPsec-tryggingsassosiasjon og ein overvaka tunnelstatuspost er fire ulike einingar, og nøkkelfornying eller fleire verna nettverk gjer at totalane deira går frå kvarandre. Viss dashbordet og playbooken er usamde, tel dei vanlegvis ulike ting, ikkje at ein av dei tek feil.

Fire ting folk kallar aktive

Ein konfigurert partnar er eit topologiobjekt: det finst fordi nokon definerte det. Ei IKE-økt er ein relasjon på kontrollplanet som kan vere oppe medan ingen trafikk flyt. Ein IPsec-SA er dataplanassosiasjonen for eit bestemt selektorpar, og ein tunnel kan bere fleire. Ein overvaka tunnelstatus er plattforma si eiga driftsmessige vurdering, som vanlegvis er det næraste til det ein operatør meiner med at tunnelen er oppe.

Berre den siste er eit rimeleg grunnlag for ei driftsmessig teljing. Den første er ei konfigurasjonsoversikt, og å rapportere ho som aktiv er måten eit dashbord viser grønt for ein partnar som har vore nede sidan tysdag. Avgjer kva eining brukaren av talet treng, og namnge deretter metrikken med den eininga i sitt eige namn.

Første avgjerd: kva styringsplan?

Viss eininga blir styrt av FDM, er FTD REST API den relevante flata. Viss ho blir styrt av FMC, er den API-en ikkje ein utskiftbar erstatning, og objekta ligg bak FMC sin eigen API. Stadfest dette før du skriv éin einaste førespurnad, fordi feil plan returnerer ein truverdig feil som ser ut som eit løyveproblem.

For ein flåte avgjer svaret òg kvar teljinga høyrer heime: per eining via FDM, eller per domene via FMC. Dette er ulike omfang, og dei gir ulike tal for same flåte.

Andre avgjerd: kva ressurs svarar?

For eit versjonsbunde døme dokumenterer FMC 7.3 API-objektreferansen GET-ressursar under health-stien:

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

Tunnelstatus-ressursen støttar eining- og statusfilter, inkludert TUNNEL_UP. Det gir deg ein reell driftsressurs å undersøkje for den versjonen, i staden for ei gjetting om eit feltnamn.

Stadfest tilgjenge, løyve, førespurnadsparametrar og responsskjemaet i API Explorer til den installerte FMC før du implementerer ein parser. Dokumentasjon for éin versjon er eit utgangspunkt, ikkje ein kontrakt for den du køyrer.

Skriv teljekontrakten

Angi metrikken i éi setning: unike driftsmessige tunnelpostar for éi tiltenkt eining og eitt domene der rapportert tilstand er TUNNEL_UP. Dokumenter deretter korleis redundante einingar og fleire postar for eitt logisk område blir representerte, fordi desse to tilfella avgjer om talet ditt stemmer med det i møtet.

Ikkje endre eininga stille frå tunnelpost til eksternt område. Viss forretninga vil ha område, kople postane eksplisitt til område og publiser koplinga. Ei teljing som stille omdefinerer seg sjølv, er verre enn inga teljing, fordi ingen kan seie når ho endra seg.

Behandle samandragsressursen som ei bekvemmelegheit først etter at du har stadfesta kva han oppsummerer. Han kan aggregere nøyaktig det du treng, eller svare på eit subtilt annleis spørsmål. Les skjemaet éin gong, skriv ned skilnaden, og bruk statusressursen viss samandraget ikkje kan forklarast. Eit samandrag du ikkje forstår, er eit tal du ikkje kan forsvare i ein gjennomgang.

La arbeidsflyten ta vare på uvissa

Bruk den godkjende HTTPS API-en, valider sertifikatet, hald tokens utanfor oppgåveutdata, og hent omfanget med filteret og pagineringa versjonen støttar. Valider deretter skjemaet før du reknar ut noko.

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

Dette er pseudokode for ein arbeidsflyt, ikkje ein testa playbook. Hent dei faktiske feltnamna frå den installerte API-en i staden for å finne opp ein JSON-nøkkel kalla active.

Den viktige regelen er oppførsel ved feil: ein autorisasjonsfeil, ein ikkje-støtta ressurs, ein utdatert prøve eller eit ufullstendig sidesett må gi unknown eller error, aldri ein vellukka null. Ein null som betyr at eg ikkje kunne spørje, er den dyraste typen feil.

Valider mot plattforma sitt eige bilete

Samanlikn det første resultatet med VPN-overvakingsvisninga til versjonen for same eining og augneblink. Når dei avvik, finn ut kva eining kvar brukar før du endrar playbooken.

Hald ikkje-hemmeleg kontekst for kvar køyring: omfang, tidsstempel, metrikkeining og tal postar. FMC 7.3 API-objektreferansen er kjelda til ressursbanane ovanfor, og API Explorer på di eiga utrulling er kjelda til alt anna.

Relaterte artiklar