Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής

Γεια σας, με λένε Eugene, είμαι αρχηγός ομάδας B2B στο Citymobil. Ένα από τα καθήκοντα της ομάδας μας είναι να υποστηρίζει ενσωματώσεις για την παραγγελία ταξί από συνεργάτες και για να διασφαλίσουμε μια σταθερή εξυπηρέτηση, πρέπει πάντα να κατανοούμε τι συμβαίνει στις μικροϋπηρεσίες μας. Και για αυτό πρέπει να παρακολουθείτε συνεχώς τα αρχεία καταγραφής.

Στο Citymobil, χρησιμοποιούμε τη στοίβα ELK (ElasticSearch, Logstash, Kibana) για να εργαστούμε με αρχεία καταγραφής και ο όγκος των δεδομένων που έρχονται εκεί είναι τεράστιος. Η εύρεση προβλημάτων σε αυτή τη μάζα αιτημάτων που μπορεί να εμφανιστούν μετά την ανάπτυξη του νέου κώδικα είναι αρκετά δύσκολη. Και για την οπτική αναγνώρισή τους, η Kibana έχει μια ενότητα Πίνακας εργαλείων.

Υπάρχουν αρκετά άρθρα στο Habré με παραδείγματα για το πώς να ρυθμίσετε μια στοίβα ELK για λήψη και αποθήκευση δεδομένων, αλλά δεν υπάρχουν σχετικό υλικό για τη δημιουργία ενός πίνακα ελέγχου. Επομένως, θέλω να δείξω πώς να δημιουργήσετε μια οπτική αναπαράσταση δεδομένων με βάση τα εισερχόμενα αρχεία καταγραφής στο Kibana.

προσαρμογή

Για να γίνει πιο σαφές, δημιούργησα μια εικόνα Docker με ELK και Filebeat. Και τοποθετείται σε ένα δοχείο ένα μικρό το πρόγραμμα στο Go, το οποίο για το παράδειγμά μας θα δημιουργήσει αρχεία καταγραφής δοκιμών. Δεν θα περιγράψω λεπτομερώς τη διαμόρφωση του ELK, υπάρχουν αρκετά γραμμένα σχετικά στο Habré.

Κλωνοποιήστε το αποθετήριο ρυθμίσεων docker-compose και ρυθμίσεις ELK και εκκινήστε το με την εντολή docker-compose up. Σκόπιμα δεν προσθέτω κλειδί -dγια να δείτε την πρόοδο της στοίβας των ΕΛΚ.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

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

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

διεύθυνση localhost:5061 Η Κιμπάνα πρέπει να ανοίξει.

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

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

Δημιουργία μοτίβου ευρετηρίου μέσω του GUI
Για να ρυθμίσετε τις παραμέτρους, επιλέξτε την ενότητα Discover στο αριστερό μενού και μεταβείτε στη σελίδα δημιουργίας μοτίβων ευρετηρίου.

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Κάνοντας κλικ στο κουμπί "Δημιουργία μοτίβου ευρετηρίου", φτάνουμε στη σελίδα δημιουργίας ευρετηρίου. Στο πεδίο "Όνομα μοτίβου ευρετηρίου", πληκτρολογήστε "logstash-*". Εάν όλα έχουν ρυθμιστεί σωστά, κάτω από το Kibana θα εμφανιστούν τα ευρετήρια που εμπίπτουν στον κανόνα.

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

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής

Πίνακας διαχείρισης

Στο αριστερό μενού, κάντε κλικ στην ενότητα Δημιουργία πίνακα ελέγχου και μεταβείτε στην αντίστοιχη σελίδα.

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Κάντε κλικ στο "Δημιουργία νέου πίνακα ελέγχου" και μεταβείτε στη σελίδα για την προσθήκη αντικειμένων στον πίνακα ελέγχου.

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Κάντε κλικ στο κουμπί "Δημιουργία νέου" και το σύστημα θα σας ζητήσει να επιλέξετε τον τύπο εμφάνισης δεδομένων. Το Kibana έχει μεγάλο αριθμό από αυτά, αλλά θα εξετάσουμε τη δημιουργία μιας γραφικής αναπαράστασης της "Κάθετης γραμμής" και ενός πίνακα "Πίνακας δεδομένων". Άλλοι τύποι παρουσίασης διαμορφώνονται με παρόμοιο τρόπο. 
Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Ορισμένα διαθέσιμα αντικείμενα φέρουν τις ετικέτες B και E, πράγμα που σημαίνει ότι η μορφή είναι πειραματική ή σε δοκιμή beta. Με την πάροδο του χρόνου, η μορφή μπορεί να αλλάξει ή να εξαφανιστεί εντελώς από το Kibana.

Κάθετη ράβδος

Για το παράδειγμα της «Κάθετης γραμμής», ας δημιουργήσουμε ένα ιστόγραμμα της αναλογίας των καταστάσεων επιτυχημένης και αποτυχημένης απόκρισης της υπηρεσίας μας. Στο τέλος των ρυθμίσεων, έχουμε το ακόλουθο γράφημα:

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Θα ταξινομήσουμε όλα τα αιτήματα με κατάσταση απάντησης < 400 ως επιτυχημένα και >= 400 ως προβληματικά.

Για να δημιουργήσουμε ένα γράφημα «Κάθετης ράβδου», πρέπει να επιλέξουμε μια πηγή δεδομένων. Επιλέξτε το μοτίβο ευρετηρίου που δημιουργήσαμε νωρίτερα.

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Στο μπλοκ "Buckets", πατήστε το κουμπί "Add", επιλέξτε "X-asis" και ρυθμίστε τον άξονα X. Ας αφήσουμε κατά μέρος τις χρονικές σημάνσεις για τη λήψη των καταχωρήσεων στο αρχείο καταγραφής. Στο πεδίο "Συγκέντρωση", επιλέξτε "Ιστόγραμμα ημερομηνίας" και στο "Πεδίο" επιλέξτε "@timestamp", υποδεικνύοντας το πεδίο ώρας. Ας αφήσουμε το "Ελάχιστο διάστημα" στην κατάσταση "Αυτόματο" και θα προσαρμοστεί αυτόματα στην οθόνη μας. 

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Κάνοντας κλικ στο κουμπί «Ενημέρωση», θα δούμε ένα γράφημα με τον αριθμό των αιτημάτων κάθε 30 δευτερόλεπτα.

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Ας αλλάξουμε την τιμή "Aggregation" σε "Sum Bucket", που θα μας επιτρέψει να συνδυάσουμε δεδομένα για επιτυχημένα και ανεπιτυχή αιτήματα. Στο μπλοκ Bucket -> Aggregation, επιλέξτε τη συγκέντρωση κατά "Φίλτρα" και ορίστε το φιλτράρισμα με "statusCode >= 400". Και στο πεδίο "Προσαρμοσμένη ετικέτα", υποδεικνύουμε το όνομά μας της ένδειξης για πιο κατανοητή εμφάνιση στο υπόμνημα στο γράφημα και στη γενική λίστα.

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

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Τώρα ας προσθέσουμε δεδομένα για επιτυχημένα αιτήματα στο γράφημα. Στην ενότητα "Μετρήσεις", κάντε κλικ στο κουμπί "Προσθήκη" και επιλέξτε "Άξονας Υ".

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Στη μέτρηση που δημιουργήθηκε, κάνουμε τις ίδιες ρυθμίσεις όπως για λανθασμένα αιτήματα. Μόνο στο φίλτρο καθορίζουμε "statusCode < 400".

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

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής

Πίνακας δεδομένων

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

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Θα αλλάξουμε μόνο το μπλοκ "Κάδοι". Κάντε κλικ στο κουμπί "Προσθήκη" και επιλέξτε "Διαίρεση σειρών".

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Στο πεδίο "Συγκέντρωση", επιλέξτε "Όροι". Και στο πεδίο που εμφανίζεται "Πεδίο" επιλέξτε "url.keyword".

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής
Καθορίζοντας την τιμή "Url" στο πεδίο "Προσαρμοσμένη ετικέτα" και κάνοντας κλικ στο "Ενημέρωση", θα λάβουμε τον επιθυμητό πίνακα με τον αριθμό των αιτημάτων για καθεμία από τις διευθύνσεις URL για την επιλεγμένη χρονική περίοδο.

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

Δημιουργία πίνακα ελέγχου στο Kibana για την παρακολούθηση αρχείων καταγραφής

Εργασία με ταμπλό

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

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

Συμπέρασμα

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

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο