Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Ας υπενθυμίσουμε ότι το Elastic Stack βασίζεται στη μη σχεσιακή βάση δεδομένων Elasticsearch, στη διεπαφή ιστού Kibana και σε συλλέκτες και επεξεργαστές δεδομένων (το πιο διάσημο Logstash, διάφορα Beats, APM και άλλα). Μία από τις ωραίες προσθήκες σε ολόκληρη τη στοίβα προϊόντων που παρατίθενται είναι η ανάλυση δεδομένων με χρήση αλγορίθμων μηχανικής εκμάθησης. Στο άρθρο καταλαβαίνουμε τι είναι αυτοί οι αλγόριθμοι. Παρακαλώ κάτω από γάτα.

Η μηχανική εκμάθηση είναι μια δυνατότητα επί πληρωμή του shareware Elastic Stack και περιλαμβάνεται στο X-Pack. Για να ξεκινήσετε να το χρησιμοποιείτε, απλώς ενεργοποιήστε τη δοκιμαστική περίοδο 30 ημερών μετά την εγκατάσταση. Μετά τη λήξη της δοκιμαστικής περιόδου, μπορείτε να ζητήσετε υποστήριξη για να την επεκτείνετε ή να αγοράσετε μια συνδρομή. Το κόστος συνδρομής δεν υπολογίζεται με βάση τον όγκο των δεδομένων, αλλά τον αριθμό των κόμβων που χρησιμοποιούνται. Όχι, ο όγκος των δεδομένων, φυσικά, επηρεάζει τον αριθμό των απαιτούμενων κόμβων, αλλά και πάλι αυτή η προσέγγιση για την αδειοδότηση είναι πιο ανθρώπινη σε σχέση με τον προϋπολογισμό της εταιρείας. Εάν δεν υπάρχει ανάγκη για υψηλή παραγωγικότητα, μπορείτε να εξοικονομήσετε χρήματα.

Το ML στην Elastic Stack είναι γραμμένο σε C++ και εκτελείται εκτός του JVM, στο οποίο εκτελείται το ίδιο το Elasticsearch. Δηλαδή, η διαδικασία (παρεμπιπτόντως, ονομάζεται αυτόματη ανίχνευση) καταναλώνει όλα όσα δεν καταπιεί το JVM. Σε ένα περίπτερο επίδειξης αυτό δεν είναι τόσο κρίσιμο, αλλά σε ένα περιβάλλον παραγωγής είναι σημαντικό να διατίθενται ξεχωριστοί κόμβοι για εργασίες ML.

Οι αλγόριθμοι μηχανικής μάθησης εμπίπτουν σε δύο κατηγορίες − со σχολείο и χωρίς δάσκαλο. Στην Elastic Stack, ο αλγόριθμος βρίσκεται στην κατηγορία "χωρίς επίβλεψη". Με αυτό το σύνδεσμο Μπορείτε να δείτε τη μαθηματική συσκευή των αλγορίθμων μηχανικής μάθησης.

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

Πρόσθετοι δείκτες που χρησιμοποιούνται στη διαδικασία ανάλυσης.ml-state — πληροφορίες σχετικά με στατιστικά μοντέλα (ρυθμίσεις ανάλυσης).
.ml-anomalies-* — αποτελέσματα αλγορίθμων ML.
.ml-notifications — ρυθμίσεις για ειδοποιήσεις που βασίζονται σε αποτελέσματα ανάλυσης.

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

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

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Single Metric - ανάλυση μιας μέτρησης, Multi Metric - ανάλυση δύο ή περισσότερων μετρήσεων. Και στις δύο περιπτώσεις, κάθε μέτρηση αναλύεται σε ένα απομονωμένο περιβάλλον, δηλ. ο αλγόριθμος δεν λαμβάνει υπόψη τη συμπεριφορά των παράλληλων αναλυόμενων μετρήσεων, όπως μπορεί να φαίνεται στην περίπτωση του Multi Metric. Για να πραγματοποιήσετε υπολογισμούς λαμβάνοντας υπόψη τη συσχέτιση διαφόρων μετρήσεων, μπορείτε να χρησιμοποιήσετε την Ανάλυση πληθυσμού. Και το Advanced ρυθμίζει τους αλγόριθμους με πρόσθετες επιλογές για ορισμένες εργασίες.

Ενιαία Μετρική

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

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Στο πεδίο Συσσωμάτωση μπορείτε να επιλέξετε μια προσέγγιση για την αναζήτηση ανωμαλιών. Για παράδειγμα, όταν Ελάχ. τιμές κάτω από τις τυπικές τιμές θα θεωρούνται ανώμαλες. Τρώω Μέγιστη, Υψηλή Μέση, Χαμηλή, Μέση, Διακεκριμένη και άλλοι. Μπορείτε να βρείτε περιγραφές όλων των λειτουργιών по ссылке.

Στο πεδίο Πεδίο υποδεικνύει το αριθμητικό πεδίο στο έγγραφο στο οποίο θα πραγματοποιήσουμε την ανάλυση.

Στο πεδίο Άνοιγμα κάδου — ευκρίνεια των διαστημάτων στο χρονοδιάγραμμα κατά το οποίο θα πραγματοποιηθεί η ανάλυση. Μπορείτε να εμπιστευτείτε τον αυτοματισμό ή να επιλέξετε χειροκίνητα. Η παρακάτω εικόνα είναι ένα παράδειγμα ότι η ευαισθησία είναι πολύ χαμηλή - μπορεί να χάσετε την ανωμαλία. Χρησιμοποιώντας αυτήν τη ρύθμιση, μπορείτε να αλλάξετε την ευαισθησία του αλγορίθμου σε ανωμαλίες.

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

Γραμμές βάσης με ένα μικρό κομμάτι δεδομένων:

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Όταν ο αλγόριθμος έχει κάτι να μάθει, η γραμμή βάσης μοιάζει με αυτό:

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

Προειδοποίηση (μπλε): λιγότερο από 25
Μίνορ (κίτρινο): 25-50
Ταγματάρχης (πορτοκαλί): 50-75
Κρίσιμο (κόκκινο): 75-100

Το παρακάτω γράφημα δείχνει ένα παράδειγμα των ανωμαλιών που βρέθηκαν.

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

Εκτός από την αναζήτηση για ανωμαλίες, μπορείτε να εκτελέσετε πρόβλεψη στο Kibana. Αυτό γίνεται απλά και από την ίδια άποψη με ανωμαλίες - κουμπί Πρόβλεψη στην επάνω δεξιά γωνία.

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

Πολυμετρική

Ας προχωρήσουμε στην επόμενη λειτουργία ML στην Elastic Stack - αναλύοντας πολλές μετρήσεις σε μία παρτίδα. Αυτό όμως δεν σημαίνει ότι θα αναλυθεί η εξάρτηση μιας μέτρησης από μια άλλη. Αυτό είναι το ίδιο με το Single Metric, αλλά με πολλαπλές μετρήσεις σε μια οθόνη για εύκολη σύγκριση της επίδρασης της μιας στην άλλη. Θα μιλήσουμε για την ανάλυση της εξάρτησης μιας μέτρησης από μια άλλη στην ενότητα Πληθυσμός.

Αφού κάνετε κλικ στο τετράγωνο με το Multi Metric, θα εμφανιστεί ένα παράθυρο με ρυθμίσεις. Ας τα δούμε πιο αναλυτικά.

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Πρώτα πρέπει να επιλέξετε τα πεδία για ανάλυση και συγκέντρωση δεδομένων σε αυτά. Οι επιλογές συνάθροισης εδώ είναι οι ίδιες με αυτές για τη μεμονωμένη μέτρηση (Μέγιστη, Υψηλή Μέση, Χαμηλή, Μέση, Διακεκριμένη και άλλοι). Περαιτέρω, εάν είναι επιθυμητό, ​​τα δεδομένα χωρίζονται σε ένα από τα πεδία (πεδίο Διαχωρίστε τα δεδομένα). Στο παράδειγμα, το κάναμε αυτό κατά πεδίο OriginAirportID. Παρατηρήστε ότι το γράφημα μετρήσεων στα δεξιά παρουσιάζεται τώρα ως πολλαπλά γραφήματα.

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Πεδίο Βασικά πεδία (Influencers) επηρεάζει άμεσα τις ανωμαλίες που ανιχνεύονται. Από προεπιλογή θα υπάρχει πάντα τουλάχιστον μία τιμή εδώ και μπορείτε να προσθέσετε επιπλέον. Ο αλγόριθμος θα λάβει υπόψη την επιρροή αυτών των πεδίων κατά την ανάλυση και θα εμφανίσει τις τιμές με τη μεγαλύτερη επιρροή.

Μετά την εκκίνηση, κάτι τέτοιο θα εμφανιστεί στη διεπαφή Kibana.

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

Αυτό είναι το λεγόμενο θερμικός χάρτης ανωμαλιών για κάθε τιμή πεδίου OriginAirportID, το οποίο υποδείξαμε Διαχωρίστε τα δεδομένα. Όπως και με το Single Metric, το χρώμα υποδεικνύει το επίπεδο μη φυσιολογικής απόκλισης. Είναι βολικό να κάνετε μια παρόμοια ανάλυση, για παράδειγμα, σε σταθμούς εργασίας για να παρακολουθείτε αυτούς με ύποπτα μεγάλο αριθμό εξουσιοδοτήσεων κ.λπ. Γράψαμε ήδη σχετικά με ύποπτα συμβάντα στα Windows EventLog, τα οποία μπορούν επίσης να συλλεχθούν και να αναλυθούν εδώ.

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

Πληθυσμός

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

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

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

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

Προηγμένη

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

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

Κατανόηση της Μηχανικής Μάθησης στο Elastic Stack (γνωστός και ως Elasticsearch, γνωστός και ως ELK)

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

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

В όνομα πεδίου υποδεικνύει το πεδίο του εγγράφου στο οποίο θα πραγματοποιηθεί η ανάλυση. By_field_name μπορεί να χρησιμοποιηθεί για τον διαχωρισμό των αποτελεσμάτων ανάλυσης για κάθε μεμονωμένη τιμή του πεδίου εγγράφου που καθορίζεται εδώ. Αν γεμίσεις over_field_name λαμβάνετε την ανάλυση πληθυσμού που συζητήσαμε παραπάνω. Εάν καθορίσετε μια τιμή στο partition_field_name, τότε για αυτό το πεδίο του εγγράφου θα υπολογιστούν ξεχωριστές γραμμές βάσης για κάθε τιμή (η τιμή μπορεί να είναι, για παράδειγμα, το όνομα του διακομιστή ή της διαδικασίας στον διακομιστή). ΣΕ exclude_frequent μπορεί να επιλέξει όλοι ή κανένας, που θα σημαίνει εξαίρεση (ή συμπερίληψη) τιμών πεδίων εγγράφου που εμφανίζονται συχνά.

Σε αυτό το άρθρο, προσπαθήσαμε να δώσουμε όσο το δυνατόν πιο συνοπτική ιδέα για τις δυνατότητες της μηχανικής εκμάθησης στο Elastic Stack· υπάρχουν ακόμα πολλές λεπτομέρειες που έχουν απομείνει πίσω από τη σκηνή. Πείτε μας στα σχόλια ποιες περιπτώσεις καταφέρατε να λύσετε χρησιμοποιώντας το Elastic Stack και για ποιες εργασίες το χρησιμοποιείτε. Για να επικοινωνήσετε μαζί μας, μπορείτε να χρησιμοποιήσετε προσωπικά μηνύματα στο Habré ή φόρμα σχολίων στον ιστότοπο.

Πηγή: www.habr.com

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