Πριν γράψετε την εργασία Ansible, απαντήστε σε μια μικρότερη ερώτηση: τι μετριέται; Ένας ρυθμισμένος ομότιμος, μια συνεδρία IKE, μια ένωση ασφαλείας IPsec και μια εγγραφή εποπτευόμενης κατάστασης σήραγγας είναι τέσσερις διαφορετικές μονάδες, και η ανανέωση κλειδιών ή πολλαπλά προστατευμένα δίκτυα κάνουν τα σύνολά τους να αποκλίνουν. Αν ο πίνακας ελέγχου και το playbook διαφωνούν, συνήθως μετρούν διαφορετικά πράγματα και όχι ότι ένα από τα δύο είναι λάθος.

Τέσσερα πράγματα που οι άνθρωποι αποκαλούν ενεργά

Ένας ρυθμισμένος ομότιμος είναι αντικείμενο τοπολογίας: υπάρχει επειδή κάποιος τον όρισε. Μια συνεδρία IKE είναι σχέση στο επίπεδο ελέγχου που μπορεί να είναι ενεργή ενώ δεν ρέει κίνηση. Μια SA IPsec είναι η ένωση στο επίπεδο δεδομένων για ένα συγκεκριμένο ζεύγος επιλογέων, και μία σήραγγα μπορεί να μεταφέρει πολλές. Μια εποπτευόμενη κατάσταση σήραγγας είναι η δική της επιχειρησιακή ετυμηγορία της πλατφόρμας, που συνήθως είναι το πιο κοντινό σε αυτό που εννοεί ένας χειριστής λέγοντας ότι η σήραγγα είναι ενεργή.

Μόνο η τελευταία είναι λογική βάση για επιχειρησιακή μέτρηση. Η πρώτη είναι απογραφή διαμόρφωσης, και το να την αναφέρετε ως ενεργή είναι ο τρόπος με τον οποίο ένας πίνακας ελέγχου δείχνει πράσινο για έναν ομότιμο που είναι εκτός από την Τρίτη. Αποφασίστε ποια μονάδα χρειάζεται ο καταναλωτής του αριθμού και μετά ονομάστε τη μετρική με αυτή τη μονάδα στο δικό της όνομα.

Απόφαση πρώτη: ποιο επίπεδο διαχείρισης;

Αν η συσκευή διαχειρίζεται από το FDM, η σχετική επιφάνεια είναι το FTD REST API. Αν διαχειρίζεται από το FMC, αυτό το API δεν είναι ισοδύναμο υποκατάστατο και τα αντικείμενα ζουν πίσω από το δικό του API του FMC. Επιβεβαιώστε το πριν γράψετε ένα μόνο αίτημα, γιατί το λάθος επίπεδο επιστρέφει ένα πειστικό σφάλμα που μοιάζει με πρόβλημα δικαιωμάτων.

Για έναν στόλο, η απάντηση καθορίζει επίσης πού ανήκει η μέτρηση: ανά συσκευή μέσω FDM ή ανά τομέα μέσω FMC. Αυτά είναι διαφορετικά πεδία και παράγουν διαφορετικούς αριθμούς για τον ίδιο στόλο.

Απόφαση δεύτερη: ποιος πόρος απαντά;

Για ένα παράδειγμα δεσμευμένο σε έκδοση, η αναφορά αντικειμένων FMC 7.3 API τεκμηριώνει πόρους GET κάτω από τη διαδρομή health:

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

Ο πόρος κατάστασης σήραγγας υποστηρίζει φίλτρα συσκευής και κατάστασης, συμπεριλαμβανομένης της τιμής TUNNEL_UP. Αυτό σας δίνει έναν πραγματικό επιχειρησιακό πόρο για έλεγχο σε αυτή την έκδοση, αντί για μια εικασία για όνομα πεδίου.

Επιβεβαιώστε τη διαθεσιμότητα, τα δικαιώματα, τις παραμέτρους αιτήματος και το σχήμα απόκρισης στο API Explorer του εγκατεστημένου FMC πριν υλοποιήσετε έναν αναλυτή. Η τεκμηρίωση μιας έκδοσης είναι σημείο εκκίνησης, όχι σύμβαση για αυτή που εκτελείτε.

Γράψτε το συμβόλαιο μέτρησης

Διατυπώστε τη μετρική σε μία πρόταση: μοναδικές επιχειρησιακές εγγραφές σήραγγας για μία προβλεπόμενη συσκευή και τομέα των οποίων η αναφερόμενη κατάσταση είναι TUNNEL_UP. Στη συνέχεια τεκμηριώστε πώς αναπαριστώνται οι πλεονάζουσες συσκευές και οι πολλαπλές εγγραφές για μία λογική τοποθεσία, γιατί αυτές οι δύο περιπτώσεις καθορίζουν αν ο αριθμός σας ταιριάζει με αυτόν στη συνάντηση.

Μην αλλάξετε σιωπηλά τη μονάδα από εγγραφή σήραγγας σε απομακρυσμένη τοποθεσία. Αν η επιχείρηση θέλει τοποθεσίες, αντιστοιχίστε ρητά τις εγγραφές σε τοποθεσίες και δημοσιεύστε την αντιστοίχιση. Μια μέτρηση που επαναπροσδιορίζεται σιωπηλά είναι χειρότερη από καμία μέτρηση, γιατί κανείς δεν μπορεί να πει πότε άλλαξε.

Αντιμετωπίστε τον πόρο σύνοψης ως ευκολία μόνο αφού επιβεβαιώσετε τι συνοψίζει. Μπορεί να συγκεντρώνει ακριβώς αυτό που χρειάζεστε ή να απαντά σε μια ελαφρώς διαφορετική ερώτηση. Διαβάστε το σχήμα του μία φορά, σημειώστε τη διαφορά και χρησιμοποιήστε τον πόρο κατάστασης αν η σύνοψη δεν μπορεί να εξηγηθεί. Μια σύνοψη που δεν καταλαβαίνετε είναι ένας αριθμός που δεν μπορείτε να υπερασπιστείτε σε μια αναθεώρηση.

Αφήστε τη ροή εργασίας να διατηρεί την αβεβαιότητα

Χρησιμοποιήστε το εγκεκριμένο HTTPS API, επικυρώστε το πιστοποιητικό, κρατήστε τα διακριτικά έξω από την έξοδο της εργασίας και ανακτήστε το πεδίο με το φίλτρο και τη σελιδοποίηση που υποστηρίζει η έκδοση. Στη συνέχεια επικυρώστε το σχήμα πριν υπολογίσετε οτιδήποτε.

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

Αυτός είναι ψευδοκώδικας ροής εργασίας, όχι δοκιμασμένο playbook. Πάρτε τα πραγματικά ονόματα πεδίων από το εγκατεστημένο API αντί να επινοήσετε ένα κλειδί JSON με όνομα active.

Ο σημαντικός κανόνας είναι η συμπεριφορά αποτυχίας: ένα σφάλμα εξουσιοδότησης, ένας μη υποστηριζόμενος πόρος, ένα παρωχημένο δείγμα ή ένα ελλιπές σύνολο σελίδων πρέπει να παράγουν unknown ή error, ποτέ ένα επιτυχές μηδέν. Ένα μηδέν που σημαίνει δεν μπόρεσα να ρωτήσω είναι το πιο ακριβό είδος λάθους.

Επικυρώστε απέναντι στην ίδια την όψη της πλατφόρμας

Συγκρίνετε το πρώτο αποτέλεσμα με την όψη παρακολούθησης VPN της έκδοσης για την ίδια συσκευή και στιγμή. Όταν διαφέρουν, βρείτε ποια μονάδα χρησιμοποιεί το καθένα πριν αλλάξετε το playbook.

Διατηρήστε μη απόρρητο πλαίσιο για κάθε εκτέλεση: πεδίο, χρονική σήμανση, μονάδα μετρικής και πλήθος εγγραφών. Η αναφορά αντικειμένων FMC 7.3 API είναι η πηγή για τις παραπάνω διαδρομές πόρων, και το API Explorer στην εγκατάστασή σας είναι η πηγή για όλα τα άλλα.

Σχετικά άρθρα