Παρακολούθηση SNMP στο Odoo 19: υπέρβαση ορίου, δημιουργία αιτήματος υποστήριξης
Διακομιστές, μεταγωγείς δικτύου, συστήματα UPS, αισθητήρες θερμοκρασίας στον χώρο των διακομιστών: σχεδόν οτιδήποτε συνδέεται σε ένα δίκτυο υποστηρίζει SNMP και μπορεί να δώσει πληροφορίες για την κατάστασή του. Το ερώτημα είναι ποιος παρακολουθεί αυτές τις πληροφορίες – και τι συμβαίνει όταν μια τιμή ξεφεύγει από τα όρια.
Για τις υποδομές που διαχειριζόμαστε για τους πελάτες μας, συγκεντρώσαμε πλέον όλη αυτή τη διαδικασία σε ένα σημείο: το Odoo 19 μας συλλέγει δεδομένα από τις συσκευές, συγκρίνει τις τιμές με τα όρια και, όταν επιτευχθεί κάποιο όριο, δημιουργεί ένα αίτημα υποστήριξης για τον πελάτη στον οποίο ανήκει η συσκευή. Όλα γίνονται στο ίδιο σύστημα, όπου ο πελάτης, η συσκευή και το αίτημα είναι ήδη συνδεδεμένα μεταξύ τους, χωρίς ξεχωριστό σύστημα παρακολούθησης που στέλνει email στο γραφείο υποστήριξης.
Αναπτύξαμε τη μονάδα για τις δικές μας επιχειρησιακές ανάγκες. Δεν διατίθεται στην κοινότητα όπως οι μονάδες μας για τραπεζικά αντίγραφα κίνησης ή ηλεκτρονικά τιμολόγια, αλλά αποτελεί μέρος της εσωτερικής μας πλατφόρμας τεχνικής υποστήριξης – όπως και ο εντοπισμός, για τον οποίο γράψαμε πρόσφατα.
Από τη μέτρηση στο αίτημα υποστήριξης
Η διαδικασία έχει διατηρηθεί σκόπιμα απλή:
- Η συσκευή καταχωρίζεται με τη διεύθυνση και τα διαπιστευτήρια πρόσβασής της (SNMP v1, v2c ή v3 με έλεγχο ταυτότητας και κρυπτογράφηση). Κατά την αποθήκευση, το Odoo ανακτά την περιγραφή συστήματος, το όνομα συστήματος και τον χρόνο συνεχούς λειτουργίας – την πιο αξιόπιστη επιβεβαίωση ότι η διεύθυνση και τα διαπιστευτήρια είναι σωστά.
- Για τη συσκευή ορίζονται σημεία δεδομένων: ένα OID, μια μονάδα μέτρησης και μια αντιστοίχιση σε πελάτη.
- Μια προγραμματισμένη εργασία συλλέγει τις τιμές όλων των ενεργών σημείων δεδομένων. Η σύνδεση γίνεται μία φορά ανά συσκευή, όχι ανά σημείο δεδομένων – για είκοσι OID σε έναν μεταγωγέα, αυτό σημαίνει μία συνεδρία αντί για είκοσι.
- Για κάθε σημείο δεδομένων μπορούν να ελέγχονται όρια: ένα ανώτατο, ένα κατώτατο ή και τα δύο.
- Αν παραβιαστεί κάποιο όριο, δημιουργείται ένα αίτημα υποστήριξης.
Ένα αίτημα ανά συμβάν, όχι ανά μέτρηση
Το σημαντικότερο σημείο στη λογική συναγερμών: Μετράει μόνο η αλλαγή κατάστασης. Όποιος δημιουργεί ticket σε κάθε μέτρηση, έχει μετά από μια νύχτα με έναν κολλημένο ή αναπηδώντα αισθητήρα τριακόσια tickets – αυτό δεν είναι ειδοποίηση, αυτό είναι θόλωμα.
Η ενότητα απομνημονεύει γι’ αυτό για κάθε σημείο δεδομένων αν βρίσκεται στην κατάσταση «Κανονικό» ή «Συναγερμός». Στην πρώτη υπέρβαση του ορίου αλλάζει η κατάσταση, ένα μήνυμα καταγράφεται στο Chatter της συσκευής και ανοίγει ένα ticket – με τον επηρεαζόμενο πελάτη ως συνεργάτη, με σημείο δεδομένων, συσκευή, μετρημένη τιμή και παραβιασμένο όριο στο κείμενο. Όσο η τιμή παραμένει εκτός ορίου, δεν συμβαίνει τίποτα περαιτέρω: το ticket είναι ανοιχτό, οι τεχνικοί μας γνωρίζουν.
Όταν η τιμή επιστρέψει στο φυσιολογικό εύρος, η μονάδα προσθέτει ένα μήνυμα άρσης συναγερμού στο ίδιο αίτημα και καταργεί τη σύνδεση με αυτό. Το αν θα κλείσει στη συνέχεια το αίτημα παραμένει απόφαση ανθρώπου – μια τιμή που πέφτει για λίγο κάτω από το όριο δεν σημαίνει ότι έχει αντιμετωπιστεί η αιτία.
Τα όρια ελέγχονται σε κάθε μέτρηση, ανεξάρτητα από το αν αποθηκεύεται η τιμή. Μια τιμή που παραμένει υπερβολικά υψηλή εξακολουθεί να αποτελεί συναγερμό. Και ένας συναγερμός δεν πρέπει ποτέ να χάνεται επειδή δεν μπορεί να δημιουργηθεί αίτημα υποστήριξης: αν η δημιουργία αποτύχει, η καταγραφή και το μήνυμα παραμένουν στην καρτέλα της συσκευής.
Αποθήκευση μόνο όσων αλλάζουν
Ένα σημείο δεδομένων που ελέγχεται ανά πέντε λεπτά δίνει 105.000 τιμές τον χρόνο. Για εκατό σημεία δεδομένων, αυτό ξεπερνά τα δέκα εκατομμύρια γραμμές – για τιμές που τις περισσότερες φορές δεν έχουν αλλάξει καθόλου.
Γι’ αυτό αποθηκεύονται μόνο οι τιμές που διαφέρουν από την τελευταία αποθηκευμένη τιμή περισσότερο από ένα καθορισμένο όριο. Ανά σημείο δεδομένων, το κριτήριο μπορεί να είναι η απόλυτη διαφορά (π.χ. 0,5 °C), η ποσοστιαία απόκλιση ή οποιαδήποτε αλλαγή. Η τρέχουσα τιμή και ο χρόνος του τελευταίου ελέγχου εμφανίζονται πάντοτε στο σημείο δεδομένων· περιορίζονται μόνο οι εγγραφές του ιστορικού.
Ρυθμίζεται επίσης ο προορισμός αποθήκευσης των τιμών: στη βάση δεδομένων του Odoo, σε μια MongoDB ή ως αρχεία CSV στον χώρο αποθήκευσης αρχείων του Odoo. Έτσι διατηρούμε τις μετρήσεις εκτός της βάσης δεδομένων του ERP – η ίδια αρχή που εφαρμόζουμε και στα δεδομένα θέσης του συστήματος εντοπισμού. Σε κάθε περίπτωση, το ιστορικό μπορεί να προβληθεί ως διάγραμμα. Κατά την ομαδοποίηση ανά ώρα, εμφανίζεται ο μέσος όρος και όχι το άθροισμα.
Πληρότητα σε ποσοστό αντί για Bytes
Ορισμένα μεγέθη δεν παρέχονται απευθείας από τη συσκευή. Η πληρότητα ενός διαμερίσματος δίσκου πρέπει να υπολογιστεί από τον χρησιμοποιούμενο χώρο και τη συνολική χωρητικότητα, ενώ οι αισθητήρες θερμοκρασίας συχνά δίνουν ακέραιες τιμές υπό κλίμακα – 235 για 23,5 βαθμούς.
Γι’ αυτό, ένα σημείο δεδομένων μπορεί να κρατά την τιμή όπως αναφέρεται, να την πολλαπλασιάζει με έναν συντελεστή ή να την υπολογίζει ως ποσοστό της τιμής ενός δεύτερου OID. Αυτό είναι καθοριστικό για τα όρια: ένα όριο 90 % ισχύει για δίσκους κάθε χωρητικότητας. Ένα όριο σε Gigabyte θα έπρεπε να προσαρμόζεται ξεχωριστά για κάθε δίσκο.
Κανείς δεν χρειάζεται να ξέρει τα OID απ’ έξω
Στους διακομιστές Windows και Linux, η HOST-RESOURCES-MIB είναι τυποποιημένη: οι δίσκοι και η μνήμη RAM βρίσκονται σε γνωστές θέσεις. Η λειτουργία ανίχνευσης συσκευών διαβάζει τον πίνακα, μετατρέπει την πληρότητα σε ποσοστό και δημιουργεί με ένα κλικ τα σημεία δεδομένων μαζί με το όριο συναγερμού.
Για όλα τα υπόλοιπα υπάρχει ένα εργαλείο περιήγησης SNMP που διατρέχει το δέντρο OID και εμφανίζει κάθε OID που βρίσκει μαζί με την τρέχουσα τιμή του – και, αν υπάρχει στον κατάλογο, με όνομα, περιγραφή και μονάδα μέτρησης από την εισαγμένη MIB του κατασκευαστή. Αρκεί να επιλέξετε τα αντίστοιχα πλαίσια.
Τι κερδίζουν οι πελάτες μας
Οι συσκευές και τα σημεία δεδομένων αντιστοιχίζονται σε πελάτες. Στην πύλη πελατών, στην ενότητα Οι τιμές SNMP μου, θα βρείτε τις τρέχουσες μετρήσεις των συσκευών σας και το ιστορικό των τελευταίων 24 ωρών, 7 ημερών, 30 ημερών ή 12 μηνών σε διάγραμμα – τις ίδιες τιμές που βλέπουμε κι εμείς. Εμφανίζονται αποκλειστικά τα δεδομένα που έχουν αντιστοιχιστεί στην εταιρεία σας.
Και αν παραβιαστεί κάποιο όριο, δεν χρειάζεται να κάνετε τίποτα: το αίτημα έχει ήδη φτάσει σε εμάς, με τη συσκευή, την τιμή και την ώρα, πριν καν το αντιληφθείτε.
Τι επιλέξαμε να μην καλύπτει η μονάδα
Δεν αντικαθιστά ένα πλήρες σύστημα παρακολούθησης με ελέγχους διαθεσιμότητας, αλυσίδες κλιμάκωσης και δέντρα εξαρτήσεων. Δεν δέχεται SNMP traps, αλλά συλλέγει ενεργά τα δεδομένα. Επίσης, δεν κλείνει αυτόματα κανένα αίτημα – η άρση συναγερμού είναι μήνυμα, όχι αλλαγή κατάστασης.
Ο στόχος είναι μία συγκεκριμένη διαδρομή: από τη μέτρηση που παραβιάζει το όριο στον τεχνικό που θα αναλάβει την αντιμετώπιση. Αυτή η διαδρομή είναι πλέον όσο πιο σύντομη γίνεται.
Αν θέλετε να εντάξετε τους διακομιστές, τις συσκευές δικτύου ή τους αισθητήρες σας σε αυτή την παρακολούθηση, επικοινωνήστε μαζί μας.