portaldacalheta.pt
  • Κύριος
  • Το Μέλλον Της Εργασίας
  • Πίσω Μέρος
  • Ζωή Σχεδιαστών
  • Διαχείριση Έργου
Πίσω Μέρος

Tutorial Logstash: Χρήση του Logstash για τον εξορθολογισμό των ειδοποιήσεων μέσω email



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

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



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



φροντιστήριο logstash



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

σε ποια γλώσσα είναι γραμμένος ο πυρήνας του linux

Ρύθμιση και εισαγωγή Logstash

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



Μετακίνηση όλων των μηνυμάτων ηλεκτρονικού ταχυδρομείου από το ' [προστασία μέσω email] 'Στο φάκελο' MyAwesomeAppEmails '. Εάν έχετε ξεχωριστό γραμματοκιβώτιο για αυτά τα μηνύματα ηλεκτρονικού ταχυδρομείου, τότε θα είναι ακόμα πιο εύκολο.

Τώρα μπορούμε να ρυθμίσουμε το Logstash για δημοσκόπηση αυτού του φακέλου και να αναλύσουμε τα μηνύματα χρησιμοποιώντας το Πρόσθετο IMAP . Η έκδοση 1.4.2 υποστηρίζει μόνο λήψη email από το Inbox , αλλά υπάρχει ένα σχετικά απλό διορθώσετε που έχει εφαρμοστεί στο έκδοση 1.5 για να επιτρέψετε την ψηφοφορία συγκεκριμένου φακέλου. Εάν δεν έχετε ξεχωριστό γραμματοκιβώτιο, εφαρμόστε την ενημέρωση κώδικα στην προσθήκη IMAP στην παρουσία Logstash πριν συνεχίσετε.



# /etc/logstash/conf.d/01-imap-input.conf input { imap { host => 'imap.yourmailserver.com' user => 'username' password => 'password' secure => true fetch_count => 15 folder => 'MyAwesomeAppEmails' # This line will only work if you apply the above mentioned patch } }

Αυτό θα αρχίσει να ελέγχει νέα μηνύματα και να τα αναλύει σε συμβάντα Logstash.

συμβάντα logstash



Φίλτρο Logstash

Πολλά χρήσιμα δεδομένα αναλύονται από μηνύματα ηλεκτρονικού ταχυδρομείου σε διαφορετικές ιδιότητες συμβάντων - παρατηρήστε ότι η χρονική σήμανση ηλεκτρονικού ταχυδρομείου χρησιμοποιείται ως '@timestamp' για το συμβάν. Ακόμη περισσότερο, μόνο από τις κεφαλίδες μπορούμε να κάνουμε πράγματα όπως να προσδιορίσουμε τον κεντρικό υπολογιστή από τον οποίο προήλθε το σφάλμα:

filter { mutate { replace => [ 'received', '%{[received][-1]}' ] } grok { match => [ 'received', 'from %{HOSTNAME:hostname} (%{HOSTNAME:full_hostname} [%{IP:ip}])' ] } mutate { remove_field => [ 'received' ] } }

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



  • Ο τύπος του σφάλματος
  • Η σοβαρότητα του σφάλματος
  • Τυχόν λεπτομέρειες σφάλματος που περιλαμβάνονται στο email

Ας υποθέσουμε ότι τοποθετήσατε το όνομα του σφάλματος, π.χ. 'Widget Failed', καθώς και η σοβαρότητα του σφάλματος 'ERROR' στο θέμα του email όπως αυτό: 'ERROR: Widget Failed in /var/www/myapp/foobar.php 20'.

llc s or c corp

Θα το χρησιμοποιήσουμε για να ορίσουμε πολλές ιδιότητες του συμβάντος:



filter { grok { match => [ 'subject', '%{WORD:severity}: %{DATA:type} in %{PATH:path} %{POSINT:line}' ] } }

Το Logstash συνοδεύεται από έναν αριθμό προκαθορισμένα μοτίβα που μπορείτε να περιμένετε να δείτε σε αρχεία καταγραφής και σε άλλα μέρη. Χρησιμοποιήστε αυτά για να δημιουργήσετε τα μοτίβα Grok και να τα καταστήσετε ευκολότερα στην ανάγνωση. Έχουμε χρησιμοποιήσει το 'WORD' (μία λέξη), 'DATA' (μη άπληστο catchall), 'PATH' (διαδρομή αρχείου Unix ή Windows) και 'POSINT' (θετικός ακέραιος αριθμός). Μπορείτε επίσης να χρησιμοποιήσετε το Grok Debugger για να διορθώσετε τα μοτίβα Grok. Τα μηνύματα που δεν ταιριάζουν με το μοτίβο θα επισημαίνονται με την ετικέτα '_grokparsefailure'.

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

Fine Tuning Logstash

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

filter { mutate { # gsub takes 3 elements per substitution: field, regular expression and substitution gsub => [ 'message', 'Your Dev Team', '', 'message', 'More error details:', '' ] } mutate { strip => 'message' } # Split the message into an array of lines, each containing a line of the stacktrace mutate { split => [ 'message', ' ' ] } }

Η μετάλλαξη 'gsub' χρησιμοποιεί το πρότυπο Ruby Regexp αντικείμενο, οπότε όλες οι επιλογές και τα χαρακτηριστικά είναι διαθέσιμα στο αρχείο καταγραφής.

Έξοδος μέσω Elasticsearch και Amazon SNS

Ας το εφαρμόσουμε στη χρήση του Elasticsearch Logstash Elasticsearch έξοδο έτσι ώστε να μπορούμε εύκολα να αναζητούμε και να ποσοτικοποιούμε τα δεδομένα που συλλέγουμε:

output { if '_grokparsefailure' not in [tags] { elasticsearch { } } }

Εξαιρούμε όλα τα μηνύματα που δεν έκαναν Grok σωστά ελέγχοντας την ετικέτα '_grokparsefailure'. Η υπόθεση είναι ότι μόνο τα μηνύματα ηλεκτρονικού ταχυδρομείου των οποίων το θέμα ταιριάζει με το καθορισμένο θέμα πρέπει να ερμηνεύονται ως μηνύματα ηλεκτρονικού ταχυδρομείου σφάλματος. Διαφορετικά, είναι απλό και απλό.

Το Logstash διαθέτει πληθώρα εξόδων, οπότε ας το βελτιώσουμε ακόμη περισσότερο Έξοδος SNS για να μας ειδοποιήσετε για σημαντικά σφάλματα χρησιμοποιώντας το Amazon Απλή υπηρεσία ειδοποιήσεων (SNS). Θα υποθέσουμε ότι όλα τα σφάλματα τύπου 'κοινοποιήσιμα' πρέπει να δημιουργήσουν μια ειδοποίηση. Εάν δεν βρίσκεστε σε μια παρουσία EC2, θα πρέπει να καθορίσετε ένα κλειδί και μυστικό AWS.

Ποιες είναι οι τρεις νικηφόρες στρατηγικές ανταγωνιστικής τοποθέτησης που προτείνει ο Michael Porter;
output { if 'notifiable' in [tags] { sns { region => 'us-east-1' arn => 'arn:aws:sns:us-east-1:1234567890123456:mytopic' access_key_id => 'AWS ACCESS_KEY' # Only specify these if you're not on an EC2 instance secret_access_key => 'AWS ACCESS SECRET' # Only specify these if you're not on an EC2 instance } } }

Η επισήμανση των σφαλμάτων ως 'κοινοποιήσιμων' εξαρτάται από εσάς. Μπορείτε να το κάνετε εξετάζοντας είτε τη σοβαρότητα του σφάλματος είτε τον τύπο του σφάλματος.

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

Επισκόπηση των δημοφιλών δημιουργών στατικών ιστότοπων

Τεχνολογία

Επισκόπηση των δημοφιλών δημιουργών στατικών ιστότοπων
Εξομοίωση React και JSX σε Vanilla JS

Εξομοίωση React και JSX σε Vanilla JS

Διεπαφή Ιστού

Δημοφιλείς Αναρτήσεις
Πώς η μηχανική εκμάθηση μπορεί να βελτιώσει την ασφάλεια στον κυβερνοχώρο για αυτόνομα αυτοκίνητα
Πώς η μηχανική εκμάθηση μπορεί να βελτιώσει την ασφάλεια στον κυβερνοχώρο για αυτόνομα αυτοκίνητα
Αυτοματισμός σεληνίου: Μοντέλο αντικειμένου σελίδας και εργοστάσιο σελίδας
Αυτοματισμός σεληνίου: Μοντέλο αντικειμένου σελίδας και εργοστάσιο σελίδας
Μηχανικός Frontfor-end Salesforce
Μηχανικός Frontfor-end Salesforce
Ομιλίες σχεδιασμού: Έρευνα σε δράση με την ερευνητή UX Caitria O'Neill
Ομιλίες σχεδιασμού: Έρευνα σε δράση με την ερευνητή UX Caitria O'Neill
Τι είναι η πρόβλεψη πωλήσεων;
Τι είναι η πρόβλεψη πωλήσεων;
 
Στην υπεράσπιση των θηλυκών μηχανικών
Στην υπεράσπιση των θηλυκών μηχανικών
Ανάπτυξη εφαρμογών ιστού για κινητά: Πότε, Γιατί και Πώς
Ανάπτυξη εφαρμογών ιστού για κινητά: Πότε, Γιατί και Πώς
Αποτελεσματικές επικοινωνιακές στρατηγικές για σχεδιαστές
Αποτελεσματικές επικοινωνιακές στρατηγικές για σχεδιαστές
Τρόπος διεξαγωγής δοκιμών ευχρηστίας σε έξι βήματα
Τρόπος διεξαγωγής δοκιμών ευχρηστίας σε έξι βήματα
Ένας πλήρης οδηγός για τη δοκιμή React Hooks
Ένας πλήρης οδηγός για τη δοκιμή React Hooks
Δημοφιλείς Αναρτήσεις
  • πώς να κατεβάσετε το hls streaming
  • Η λειτουργία δεν είναι συνάρτηση Javascript
  • αναβάθμιση από python 2.7 σε 3.6
  • αρχές σχεδιαστικής ενότητας και ποικιλίας
  • πώς να αποκτήσετε το powerpivot στο excel
  • σε τι είναι γραμμένο το node.js
Κατηγορίες
  • Το Μέλλον Της Εργασίας
  • Πίσω Μέρος
  • Ζωή Σχεδιαστών
  • Διαχείριση Έργου
  • © 2022 | Ολα Τα Δικαιώματα Διατηρούνται

    portaldacalheta.pt