Σε αυτό το άρθρο, θα διερευνήσουμε τον τρόπο ανάπτυξης Elasticsearch και Kibana χρήσης Docker Compose. Αυτά είναι δύο βασικά στοιχεία του ELK Stack( Elasticsearch, Logstash, Kibana), που σας βοηθούν να αναζητήσετε, να αναλύσετε και να οπτικοποιήσετε δεδομένα αποτελεσματικά. Παρακάτω είναι οι λεπτομερείς διαμορφώσεις και ο τρόπος λειτουργίας κάθε στοιχείου.
1. Elasticsearch
ένα. Βασική Διαμόρφωση
Elasticsearch έχει ρυθμιστεί να εκτελείται σε ένα κοντέινερ Docker με τις ακόλουθες παραμέτρους:
Εικόνα: Χρησιμοποιείται η επίσημη Elasticsearch εικόνα, έκδοση .
8.17.2
Λειτουργία ενός κόμβου: Ενεργοποιείται μέσω της μεταβλητής περιβάλλοντος
discovery.type=single-node
.Ασφάλεια: Η ασφάλεια X-Pack είναι ενεργοποιημένη(
xpack.security.enabled=true
) και ο κωδικός πρόσβασης για τονelastic
χρήστη έχει οριστεί σεYVG6PKplG6ugGOw
.Δίκτυο: Το Elasticsearch ακούει σε όλες τις διεπαφές δικτύου(
network.host=0.0.0.0
).Μνήμη JVM: Διαμορφώθηκε με
-Xms1g
(αρχική μνήμη) και-Xmx1g
(μέγιστη μνήμη).
σι. Ports και Volumes
Ports: Η θύρα
9200
(HTTP) και9300
η(εσωτερική επικοινωνία) αντιστοιχίζονται από το κοντέινερ στον κεντρικό υπολογιστή.Volumes: Τα δεδομένα Elasticsearch αποθηκεύονται στον
elasticsearch-data
τόμο.
ντο. Έλεγχος υγείας
Ρυθμίζεται ένας έλεγχος υγείας για την παρακολούθηση Elasticsearch της κατάστασης του χρήστη καλώντας το /_cluster/health
API με τον elastic
χρήστη. Εάν το API δεν ανταποκριθεί, το κοντέινερ θα επανεκκινηθεί.
2. Kibana
ένα. Βασική Διαμόρφωση
Kibana έχει ρυθμιστεί για σύνδεση Elasticsearch και εκτέλεση σε κοντέινερ Docker με τις ακόλουθες παραμέτρους:
Εικόνα: Χρησιμοποιείται η επίσημη Kibana εικόνα, έκδοση .
8.17.2
Elasticsearch Σύνδεση: Η Elasticsearch διεύθυνση έχει οριστεί σε
http://elasticsearch:9200
.Έλεγχος ταυτότητας: Η Kibana χρησιμοποιεί το
kibana_user
με τον κωδικό πρόσβασηςYVG6PKplG6ugGOw
για να συνδεθεί στο Elasticsearch.
σι. Ports και Δίκτυα
Ports: Η θύρα
5601
αντιστοιχίζεται από το κοντέινερ στον κεντρικό υπολογιστή για πρόσβαση στη Kibana διεπαφή.Δίκτυα: Το Kibana είναι συνδεδεμένο με το
elk-network
.
ντο. Εξάρτηση από Elasticsearch
Kibana ξεκινά μόνο αφού Elasticsearch είναι έτοιμο, διασφαλίζοντας μια επιτυχημένη σύνδεση μεταξύ των δύο υπηρεσιών.
3. Όγκος και Δίκτυο
ένα. Τόμος
elasticsearch-data: Αυτός ο τόμος χρησιμοποιείται για την αποθήκευση Elasticsearch δεδομένων, διασφαλίζοντας τη διατήρηση των δεδομένων ακόμα και αν το κοντέινερ διαγραφεί.
σι. Δίκτυο
elk-network:
bridge
Δημιουργείται ένα δίκτυο για σύνδεση Elasticsearch και Kibana υπηρεσίες.
4. Τρόπος χρήσης
ένα. Εκκίνηση των Υπηρεσιών
Για να ξεκινήσετε Elasticsearch και Kibana, εκτελέστε την ακόλουθη εντολή:
σι. Δημιουργία Kibana χρήστη(Εάν χρειάζεται)
Εάν θέλετε να χρησιμοποιήσετε έναν αποκλειστικό χρήστη για Kibana, μπορείτε να δημιουργήσετε έναν με την ακόλουθη εντολή:
Για να χρησιμοποιήσετε έναν token αντί για κωδικό πρόσβασης, μπορείτε να δημιουργήσετε έναν με την ακόλουθη εντολή:
5. Αντιμετώπιση προβλημάτων
Εάν αντιμετωπίσετε σφάλματα, μπορείτε να ελέγξετε τα αρχεία καταγραφής κοντέινερ χρησιμοποιώντας:
Για επανεκκίνηση Kibana:
Πλήρες περιεχόμενο του Docker Compose αρχείου
Ακολουθεί το πλήρες περιεχόμενο του docker-compose-els.yml
αρχείου:
Σύναψη
Με αυτήν Docker Compose τη διαμόρφωση, μπορείτε εύκολα να αναπτύξετε Elasticsearch και Kibana να εξυπηρετήσετε τις ανάγκες αναζήτησης, ανάλυσης και οπτικοποίησης δεδομένων σας. Προσαρμόστε και επεκτείνετε αυτήν τη διαμόρφωση για να ταιριάζει στις συγκεκριμένες απαιτήσεις του έργου σας!