Sådan tæller du aktive FTD-site-VPN'er: hvilket tal mener du?
Konfigurerede peers, IKE-sessioner, sikkerhedsassociationer og overvågede tunneler er fire forskellige tal. Vælg enheden og administrationsplanet, før du koder.
Før du skriver Ansible-opgaven, skal du besvare et mindre spørgsmål: hvad tælles der? En konfigureret peer, en IKE-session, en IPsec-sikkerhedsassociation og en overvåget tunnelstatus-post er fire forskellige enheder, og nøglefornyelse eller flere beskyttede netværk får deres totaler til at divergere. Hvis dashboardet og playbooken er uenige, tæller de normalt forskellige ting, snarere end at en af dem tager fejl.
Fire ting, som folk kalder aktive
En konfigureret peer er et topologiobjekt: den findes, fordi nogen har defineret den. En IKE-session er en kontrolplansrelation, som kan være oppe, mens der ikke løber trafik. En IPsec-SA er dataplansassociationen for et bestemt selektorpar, og én tunnel kan bære flere. En overvåget tunnelstatus er platformens egen driftsmæssige vurdering, som normalt er det nærmeste på, hvad en operatør mener med, at tunnelen er oppe.
Kun den sidste er et rimeligt grundlag for et driftsmæssigt tal. Den første er en konfigurationsinventar, og at rapportere den som aktiv er måden, hvorpå et dashboard viser grønt for en peer, der har været nede siden tirsdag. Beslut, hvilken enhed forbrugeren af tallet har brug for, og navngiv derefter metrikken med den enhed i dens eget navn.
Beslutning et: hvilket administrationsplan?
Hvis enheden administreres af FDM, er FTD REST API den relevante flade. Hvis den administreres af FMC, er denne API ikke en udskiftelig erstatning, og objekterne ligger bag FMC's egen API. Bekræft det, før du skriver en enkelt anmodning, fordi det forkerte plan returnerer en troværdig fejl, der ligner et tilladelsesproblem.
For en flåde afgør svaret også, hvor tallet hører til: pr. enhed via FDM eller pr. domæne via FMC. Det er forskellige områder, og de giver forskellige tal for den samme flåde.
Beslutning to: hvilken ressource svarer på det?
For et versionsafgrænset eksempel dokumenterer FMC 7.3 API-objektreferencen GET-ressourcer under health-stien:
/api/fmc_config/v1/domain/{domainUUID}/health/tunnelstatuses
/api/fmc_config/v1/domain/{domainUUID}/health/tunnelsummariesTunnelstatus-ressourcen understøtter enheds- og statusfiltre, herunder TUNNEL_UP. Det giver dig en reel driftsressource at undersøge for den version i stedet for et gæt på et feltnavn.
Bekræft tilgængelighed, tilladelser, anmodningsparametre og responsskemaet i den udrullede FMC's API Explorer, før du implementerer en parser. Dokumentation for én version er et udgangspunkt, ikke en kontrakt for den, du kører.
Skriv tællekontrakten
Angiv metrikken i én sætning: unikke driftsmæssige tunnelposter for én tilsigtet enhed og ét domæne, hvis rapporterede tilstand er TUNNEL_UP. Dokumentér derefter, hvordan redundante enheder og flere poster for ét logisk site repræsenteres, fordi de to tilfælde afgør, om dit tal matcher det i mødet.
Skift ikke lydløst enheden fra tunnelpost til eksternt site. Hvis forretningen vil have sites, skal du eksplicit knytte poster til sites og offentliggøre mappingen. Et tal, der stille omdefinerer sig selv, er værre end intet tal, fordi ingen kan se, hvornår det ændrede sig.
Behandl opsummeringsressourcen som en bekvemmelighed, først når du har bekræftet, hvad den opsummerer. Den kan aggregere præcis det, du har brug for, eller den kan besvare et subtilt anderledes spørgsmål. Læs dens skema én gang, skriv forskellen ned, og brug statusressourcen, hvis opsummeringen ikke kan forklares. En opsummering, du ikke forstår, er et tal, du ikke kan forsvare i en gennemgang.
Lad arbejdsgangen bevare usikkerheden
Brug den godkendte HTTPS API, valider certifikatet, hold tokens ude af opgaveoutput, og hent området med den version, der understøttes af filter og paginering. Valider derefter skemaet, før du beregner noget.
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 unitDet er pseudokode for en arbejdsgang, ikke en testet playbook. Tag de faktiske feltnavne fra det installerede API i stedet for at opfinde en JSON-nøgle kaldet active.
Den vigtige regel er fejlopførsel: en autorisationsfejl, en ikke-understøttet ressource, en forældet prøve eller et ufuldstændigt sidesæt skal give unknown eller error, aldrig et vellykket nul. Et nul, der betyder, at jeg ikke kunne spørge, er den dyreste slags fejl.
Validér mod platformens eget billede
Sammenlign det første resultat med versionens VPN-overvågningsvisning for den samme enhed og det samme øjeblik. Når de afviger, skal du finde ud af, hvilken enhed hver især bruger, før du ændrer playbooken.
Behold ikke-hemmelig kontekst for hver kørsel: område, tidsstempel, metrikkenhed og postantal. FMC 7.3 API-objektreferencen er kilden til ressource-stierne ovenfor, og API Explorer på din egen udrulning er kilden til alt andet.