Λογότυπο Zephyrnet

Ένας πρακτικός οδηγός για την παρακολούθηση και την παρατηρησιμότητα των συσκευών IoT

Ημερομηνία:

Ένας πρακτικός οδηγός για την παρακολούθηση και την παρατηρησιμότητα των συσκευών IoT

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

Πρέπει να παρακολουθώ ή να παρατηρώ;

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

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

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

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

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

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

Η παρατηρησιμότητα είναι ιδιαίτερα σημαντική στο πλαίσιο του IoT, όπου τα συστήματα περιλαμβάνουν πολυάριθμες συσκευές και μονάδες. Η προσπάθεια πρόβλεψης κάθε πιθανού συνδυασμού καταστάσεων που θα μπορούσε να οδηγήσει σε προβλήματα δεν είναι πρακτική σε αυτή την κλίμακα, αν όχι αδύνατη.

Βασικές μετρήσεις και προσεγγίσεις παρακολούθησης

Ας εξερευνήσουμε τα δεδομένα που αξίζει να παρακολουθήσουμε και τα συγκεκριμένα όργανα που έχουν σχεδιαστεί για να μας βοηθήσουν σε αυτήν την εργασία.

Λαμβάνουμε τα δεδομένα;

Δεν είναι μυστικό ότι το Διαδίκτυο των Πραγμάτων συχνά αφορά περισσότερο τα δεδομένα παρά τα πράγματα. Γι' αυτό είναι πολύ σημαντικό να παρακολουθείτε τη μετάδοση δεδομένων των συσκευών σας. Μια σταθερή πλατφόρμα IoT θα πρέπει να παρακολουθεί στενά μετρήσεις όπως η συχνότητα μηνυμάτων και ο όγκος δεδομένων που μεταδίδονται.

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

Ωστόσο, έχετε κατά νου ότι οι συσκευές IoT λειτουργούν συχνά σε απρόβλεπτα περιβάλλοντα, όπως περιοχές με αναξιόπιστες συνδέσεις στο διαδίκτυο. Έτσι, ένα μικρό κενό στη μετάδοση δεδομένων δεν υποδηλώνει πάντα πρόβλημα με τη συσκευή.

Επίσης, είναι κοινή πρακτική να αποθηκεύετε τα μηνύματα είτε στη συσκευή σας είτε σε μια πύλη edge, ώστε να μην χάνετε σημαντικά δεδομένα. Το θέμα είναι ότι πρέπει να είστε πολύ προσεκτικοί για να μην κάνετε τα κατώφλια σας πολύ ευαίσθητα. Διαφορετικά, θα ειδοποιηθείτε για κάθε λόξυγγα στο δίκτυο που αναπόφευκτα οδηγεί σε κούραση συναγερμού και η ειδοποίηση θα χάσει τις δυνατότητές της.

Γενικές πληροφορίες για την υγεία της συσκευής

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

Υπάρχουν πολλοί τρόποι για να εκθέσετε αυτές τις μετρήσεις. Ωστόσο, η κοινότητα των μηχανικών είναι επί του παρόντος αιχμαλωτισμένη από τις δυνατότητες του OpenTelemetry.

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

Έτσι, ανεξάρτητα από τη γλώσσα ή το σύστημα που χρησιμοποιείτε, είστε καλυμμένοι. Αυτό είναι εξαιρετικά βολικό, ειδικά στον άγριο κόσμο του IoT όπου κάθε συσκευή μπορεί να εκτελεί το μοναδικό λογισμικό της.

Το OpenTelemetry υποστηρίζει τρεις κύριους τύπους σημάτων: μετρήσεις, αρχεία καταγραφής και ίχνη. Για τις περισσότερες περιπτώσεις που περιγράφονται σε αυτήν την ενότητα, οι συσκευές πρέπει απλώς να εκθέσουν αρκετές σχετικές μετρήσεις, όπως την τρέχουσα κατανάλωση μνήμης.

Στη συνέχεια, αυτές οι μετρήσεις πρέπει να μεταφερθούν στο σύννεφο όπου μπορείτε να τις οπτικοποιήσετε, να ρυθμίσετε τις ειδοποιήσεις και ούτω καθεξής. Αυτή η διαδρομή έχει ήδη ανοίξει για τις περιπτώσεις χρήσης IoT με έργα όπως το OpenTelemetry Collector ή το Telegraf που μπορούν να σας βοηθήσουν να συλλέξετε μετρήσεις από τις συσκευές IoT σας.

Άλλα ειδικά σήματα τομέα

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

Τόσο για τα αρχεία καταγραφής όσο και για τα ίχνη, μπορείτε να βασιστείτε ξανά στο οικοσύστημα OpenTelemetry. Αυτό σας επιτρέπει να αναλύετε αρχεία καταγραφής και ίχνη χρησιμοποιώντας τα προτιμώμενα backend σας, όπως το Grafana Loki/Tempo ή τη στοίβα Elastic Observability, χωρίς επιπλέον προσπάθεια! Η ανταλλαγή μηνυμάτων είναι, από την άλλη, η βασική λειτουργικότητα κάθε λογικής πλατφόρμας IoT. Με άλλα λόγια, αυτές οι προσεγγίσεις θα πρέπει να είναι ασήμαντες για να εφαρμοστούν στα περισσότερα σενάρια.

Η απλότητα των κορμών

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

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

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

The Deep Contextual Insights with Traces

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

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

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

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

Επιστροφή στα Βασικά με απλά μηνύματα

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

Εάν θέλετε να απεικονίσετε την τοποθεσία σε πραγματικό χρόνο, το OpenTelemetry επί του παρόντος δεν υποστηρίζει πραγματικά ένα σήμα που να ταιριάζει σημασιολογικά σε αυτό το σενάριο. Το πιο κοντινό ταίριασμα θα ήταν πιθανότατα το Event API τους, το οποίο βρίσκεται ακόμα σε πειραματική φάση (τη στιγμή που γράφτηκε αυτό το άρθρο το 1ο τρίμηνο του 2024). Αντ 'αυτού, σκεφτείτε να στείλετε το ακόλουθο μήνυμα JSON:

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

Αναδημιουργήσαμε αυτό το παράδειγμα με την πλατφόρμα Spotflow IoT για να δείξουμε την απλότητα. Δημιουργήσαμε μια συσκευή που στέλνει περιοδικά μηνύματα με τη θέση και την ταχύτητά της στην πλατφόρμα. Στη συνέχεια, δρομολογήσαμε τη ροή δεδομένων στον ενσωματωμένο νεροχύτη εξόδου Grafana. Και τέλος! Η πλατφόρμα συλλαμβάνει τώρα όλα τα μηνύματα και τα τοποθετεί σε μια βάση δεδομένων χρονοσειρών που μπορείτε να αναζητήσετε στο Grafana.

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

Βασικές τακτικές

Και τέλος! Τώρα είστε έτοιμοι να ρυθμίσετε τη στοίβα παρατηρησιμότητας και να αρχίσετε να παρακολουθείτε τις συσκευές σας IoT. Θα θέλαμε αυτό το άρθρο να χρησιμεύσει ως αφετηρία στον κόσμο της παρατηρησιμότητας του IoT. Θυμηθείτε τις ακόλουθες βασικές ιδέες:

  • Παρακολούθηση μετάδοσης δεδομένων: Παρακολουθήστε στενά τη μετάδοση δεδομένων από τις συσκευές σας και προετοιμαστείτε με ειδοποιήσεις για να λαμβάνετε άμεσα τυχόν διακοπές.
  • Παρακολούθηση μετρήσεων υγείας συσκευής: Επιφανειακά σχετικές μετρήσεις σχετικά με την υγεία της συσκευής σας για να διασφαλίσετε την ομαλή λειτουργία.
  • Αποστολή Συγκεκριμένων Δεδομένων εφαρμογής μέσω αρχείων καταγραφής, ιχνών και δομημένων μηνυμάτων: Σκεφτείτε τον τομέα σας και τη λειτουργία της συσκευής και στείλτε όλα τα δεδομένα που μπορεί να χρειαστούν για μελλοντικό εντοπισμό σφαλμάτων και παρακολούθηση σε πραγματικό χρόνο.
  • Εξερευνήστε το Οικοσύστημα OpenTelemetry: Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε το οικοσύστημα OpenTelemetry στο IoT καθώς γίνεται ένα πρότυπο παρατηρησιμότητας που σας παρέχει πολλές επιλογές για backends παρατηρητικότητας και εξυπηρέτηση διάφορων χρόνων λειτουργίας συσκευών.
spot_img

Τελευταία Νοημοσύνη

spot_img