Προαπαιτούμενα
Εγκαταστήστε Java
Εγκαταστήστε το Elasticsearch
Εγκαταστήστε το MongoDB
Εγκαταστήστε τον διακομιστή Graylog
Διαμόρφωση του Graylog
Διαμορφώστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης
συμπέρασμα
Ο διακομιστής Graylog είναι μια εταιρική σουίτα λογισμικού διαχείρισης αρχείων καταγραφής ανοιχτού κώδικα. Συλλέγει αρχεία καταγραφής από διάφορες πηγές και τα αναλύει για να ανακαλύψει και να επιλύσει ζητήματα. Ο διακομιστής Greylog είναι βασικά ο συνδυασμός των Elasticsearch, MongoDB και Graylog. Το Elasticsearch είναι μια πολύ δημοφιλής εφαρμογή ανοιχτού κώδικα για την αποθήκευση κειμένου και την παροχή πολύ ισχυρών δυνατοτήτων αναζήτησης. Το MongoDB είναι μια εφαρμογή ανοιχτού κώδικα για την αποθήκευση δεδομένων σε μορφή NoSQL. Το Graylog συλλέγει αρχεία καταγραφής από διάφορες πηγές και παρέχει έναν διαδικτυακό πίνακα εργαλείων για διαχείριση και αναζήτηση στα αρχεία καταγραφής. Το Graylog παρέχει επίσης ένα REST API τόσο για τη διαμόρφωση όσο και για τα δεδομένα. Παρέχει έναν διαμορφώσιμο πίνακα εργαλείων που μπορεί να χρησιμοποιηθεί για την οπτικοποίηση μετρήσεων και την παρατήρηση των τάσεων χρησιμοποιώντας στατιστικά πεδίου, γρήγορες τιμές και γραφήματα από μια κεντρική τοποθεσία.
Σε αυτό το σεμινάριο, θα μάθετε να εγκαθιστάτε τον Graylog Server στο Ubuntu 16.04. Αυτός ο οδηγός γράφτηκε για τον Graylog Server 2.3, αλλά μπορεί να λειτουργήσει και σε νεότερες εκδόσεις. Θα μάθετε επίσης να εγκαθιστάτε Java, Elasticsearch και MongoDB. Θα ασφαλίσουμε επίσης την παρουσία MongoDB και θα δημιουργήσουμε έναν αντίστροφο διακομιστή μεσολάβησης Nginx για τον πίνακα ελέγχου και το API που βασίζεται στον ιστό.
Προαπαιτούμενα
- Μια παρουσία διακομιστή Vultr Ubuntu 16.04 με τουλάχιστον 4 GB RAM.
- Ένας χρήστης sudo .
Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε 192.0.2.1ως τη δημόσια διεύθυνση IP του διακομιστή και graylog.example.comως το όνομα τομέα που αναφέρεται στον διακομιστή. Αντικαταστήστε όλες τις εμφανίσεις 192.0.2.1με τη δημόσια διεύθυνση IP Vultr και graylog.example.comμε το πραγματικό σας όνομα τομέα.
Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το Ubuntu 16.04 . Μόλις το σύστημά σας ενημερωθεί, προχωρήστε στην εγκατάσταση Java.
Εγκαταστήστε Java
Το Elasticsearch απαιτεί Java 8 για να εκτελεστεί. Υποστηρίζει τόσο Oracle Java όσο και OpenJDK, αλλά συνιστάται πάντα να χρησιμοποιείτε Oracle Java όταν είναι δυνατόν. Προσθήκη αποθετηρίου Oracle Java PPA:
sudo add-apt-repository ppa:webupd8team/java
Ενημερώστε τα μεταδεδομένα του αποθετηρίου APT:
sudo apt update
Εγκαταστήστε την πιο πρόσφατη σταθερή έκδοση της Java 8, εκτελέστε:
sudo apt -y install oracle-java8-installer
Αποδεχτείτε τη συμφωνία άδειας χρήσης όταν σας ζητηθεί. Εάν η Java έχει εγκατασταθεί με επιτυχία, τότε θα πρέπει να μπορείτε να επαληθεύσετε την έκδοσή της.
java -version
Θα δείτε την ακόλουθη έξοδο.
user@vultr:~$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
Ορίστε τις JAVA_HOMEπροεπιλογές και άλλες προεπιλογές εγκαθιστώντας το oracle-java8-set-default. Τρέξιμο:
sudo apt -y install oracle-java8-set-default
Εκτελέστε την echo $JAVA_HOMEεντολή για να ελέγξετε εάν η μεταβλητή περιβάλλοντος έχει οριστεί ή όχι.
user@vultr:~$ echo "$JAVA_HOME"
/usr/lib/jvm/java-8-oracle
Εάν δεν λάβετε την έξοδο που φαίνεται παραπάνω, ίσως χρειαστεί να αποσυνδεθείτε και να συνδεθείτε ξανά στο κέλυφος.
Εγκαταστήστε το Elasticsearch
Το Elasticsearch είναι μια κατανεμημένη, σε πραγματικό χρόνο, επεκτάσιμη και εξαιρετικά διαθέσιμη εφαρμογή που χρησιμοποιείται για την αποθήκευση των αρχείων καταγραφής και την αναζήτηση μέσω αυτών. Αποθηκεύει τα δεδομένα σε ευρετήρια και η αναζήτηση στα δεδομένα είναι πολύ γρήγορη. Παρέχει διάφορα σύνολα API, όπως το HTTP RESTful API και το εγγενές Java API. Το Elasticsearch μπορεί να εγκατασταθεί απευθείας μέσω του αποθετηρίου Elasticsearch. Προσθέστε το αποθετήριο Elasticsearch APT:
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
Εισαγάγετε το κλειδί PGP που χρησιμοποιείται για την υπογραφή των πακέτων. Αυτό θα εξασφαλίσει την ακεραιότητα των πακέτων.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Ενημερώστε τα μεταδεδομένα του αποθετηρίου APT.
sudo apt update
Εγκαταστήστε το πακέτο Elasticsearch:
sudo apt -y install elasticsearch
Μόλις εγκατασταθεί το πακέτο, ανοίξτε το προεπιλεγμένο αρχείο ρυθμίσεων του Elasticsearch.
sudo nano /etc/elasticsearch/elasticsearch.yml
Βρείτε την ακόλουθη γραμμή, αφαιρέστε το σχόλιο και αλλάξτε την τιμή από my-applicationσε graylog.
cluster.name: graylog
Μπορείτε να ξεκινήσετε το Elasticsearch και να το ενεργοποιήσετε να ξεκινά αυτόματα κατά την εκκίνηση:
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
Το Elasticsearch εκτελείται τώρα στη θύρα 9200. Βεβαιωθείτε ότι λειτουργεί σωστά εκτελώντας:
curl -XGET 'localhost:9200/?pretty'
Θα πρέπει να δείτε έξοδο παρόμοια με την παρακάτω.
[user@vultr ~]$ curl -XGET 'localhost:9200/?pretty'
{
"name" : "-kYzFA9",
"cluster_name" : "graylog",
"cluster_uuid" : "T3JQKehzSqmLThlVkEKPKg",
"version" : {
"number" : "5.5.1",
"build_hash" : "19c13d0",
"build_date" : "2017-07-18T20:44:24.823Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
Εάν αντιμετωπίσετε σφάλματα, περιμένετε μερικά δευτερόλεπτα και δοκιμάστε ξανά, καθώς χρειάζεται χρόνος για να ολοκληρώσει το Elasticsearch τη διαδικασία εκκίνησης. Το Elasticsearch έχει πλέον εγκατασταθεί και λειτουργεί σωστά.
Εγκαταστήστε το MongoDB
Το MongoDB είναι δωρεάν και ανοιχτού κώδικα διακομιστή βάσης δεδομένων NoSQL. Σε αντίθεση με την παραδοσιακή βάση δεδομένων που χρησιμοποιεί πίνακες για την οργάνωση των δεδομένων τους, το MongoDB είναι προσανατολισμένο στα έγγραφα και χρησιμοποιεί έγγραφα τύπου JSON χωρίς σχήματα. Το Graylog χρησιμοποιεί το MongoDB για να αποθηκεύσει τη διαμόρφωση και τις μετα-πληροφορίες του. Μπορεί να εγκατασταθεί απευθείας μέσω του αποθετηρίου MongoDB. Εισαγάγετε το κλειδί GPG που χρησιμοποιείται για την υπογραφή του πακέτου. Αυτό θα εξασφαλίσει την αυθεντικότητα των πακέτων.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Τώρα δημιουργήστε το αρχείο αποθετηρίου:
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ενημερώστε τα μεταδεδομένα του αποθετηρίου APT.
sudo apt update
Εγκαταστήστε το πακέτο MongoDB:
sudo apt -y install mongodb-org
Εκκινήστε τον διακομιστή MongoDB και ενεργοποιήστε τον να ξεκινήσει αυτόματα.
sudo systemctl start mongod
sudo systemctl enable mongod
Εγκαταστήστε τον διακομιστή Graylog
Λήψη και το πιο πρόσφατο αποθετήριο για τον διακομιστή Graylog.
wget https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.deb
sudo dpkg -i graylog-2.3-repository_latest.deb
sudo apt update
Εγκαταστήστε το πακέτο Graylog:
sudo apt install graylog-server
Ο διακομιστής Graylog είναι πλέον εγκατεστημένος στον διακομιστή σας. Για να μπορέσετε να το ξεκινήσετε, θα χρειαστεί να διαμορφώσετε μερικά πράγματα.
Εγκαταστήστε το pwgenβοηθητικό πρόγραμμα για τη δημιουργία ισχυρών κωδικών πρόσβασης.
sudo apt -y install pwgen
Τώρα δημιουργήστε ένα ισχυρό μυστικό κωδικού πρόσβασης.
pwgen -N 1 -s 96
Θα βγάζετε παρόμοια με:
[user@vultr ~]$ pwgen -N 1 -s 96
pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
Επίσης, δημιουργήστε έναν κατακερματισμό 256-bit για τον κωδικό πρόσβασης του adminχρήστη root :
echo -n StrongPassword | sha256sum
Αντικαταστήστε StrongPasswordμε τον κωδικό πρόσβασης που θέλετε να ορίσετε για τον adminχρήστη. Θα δεις:
[user@vultr ~]$ echo -n StrongPassword | sha256sum
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223 -
Ανοίξτε το αρχείο διαμόρφωσης Graylog:
sudo nano /etc/graylog/server/server.conf
Βρείτε password_secret =, αντιγράψτε και επικολλήστε τον κωδικό πρόσβασης που δημιουργήθηκε μέσω της pwgenεντολής. Βρείτε root_password_sha2 =, αντιγράψτε και επικολλήστε το μετατρεπόμενο κατακερματισμό SHA 256-bit του κωδικού πρόσβασης διαχειριστή σας. Βρείτε #root_email =, αφαιρέστε το σχόλιο και δώστε τη διεύθυνση email σας. Καταργήστε το σχόλιο και ορίστε τη ζώνη ώρας σας σε root_timezone. Για παράδειγμα:
password_secret = pJqhNbdEY9FtNBfFUtq20lG2m9daacmsZQr59FhyoA0Wu3XQyVZcu5FedPZ9eCiDfjdiYWfRcEQ7a36bVqxSyTzcMMx5Rz8v
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
root_email = mail@example.com
root_timezone = Asia/Kolkata
Ενεργοποιήστε τη διεπαφή Graylog που βασίζεται στον ιστό, αφαιρώντας το σχολιασμό #web_enable = falseκαι ορίζοντας την τιμή της σε true. Επίσης, αφαιρέστε το σχόλιο και αλλάξτε τις ακόλουθες γραμμές όπως καθορίζεται.
rest_listen_uri = http://0.0.0.0:9000/api/
rest_transport_uri = http://192.0.2.1:9000/api/
web_enable = true
web_listen_uri = http://0.0.0.0:9000/
Αποθηκεύστε το αρχείο και βγείτε από το πρόγραμμα επεξεργασίας κειμένου.
Επανεκκινήστε και ενεργοποιήστε την υπηρεσία Graylog εκτελώντας:
sudo systemctl restart graylog-server
sudo systemctl enable graylog-server
Από προεπιλογή, η διεπαφή ιστού Graylog ακούει localhostστη θύρα 9000 και το API ακούει στη θύρα 9000 με URL /api. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε το Nginx ως τον αντίστροφο διακομιστή μεσολάβησης, έτσι ώστε η εφαρμογή να έχει πρόσβαση μέσω τυπικής θύρας HTTP. Εγκαταστήστε τον διακομιστή ιστού Nginx εκτελώντας:
sudo apt -y install nginx
Ανοίξτε το προεπιλεγμένο αρχείο εικονικού κεντρικού υπολογιστή πληκτρολογώντας.
sudo nano /etc/nginx/sites-available/default
Αντικαταστήστε το υπάρχον περιεχόμενο με τις ακόλουθες γραμμές:
server
{
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name 192.0.2.1 graylog.example.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Graylog-Server-URL http://$server_name/api;
proxy_pass http://127.0.0.1:9000;
}
}
Ξεκινήστε το Nginx και ενεργοποιήστε το να ξεκινά αυτόματα κατά την εκκίνηση:
sudo systemctl restart nginx
sudo systemctl enable nginx
συμπέρασμα
Η εγκατάσταση και η βασική διαμόρφωση του διακομιστή Graylog έχουν πλέον ολοκληρωθεί. Τώρα μπορείτε να αποκτήσετε πρόσβαση στον διακομιστή Graylog από http://192.0.2.1ή http://graylog.example.comεάν έχετε διαμορφώσει το DNS. Συνδεθείτε χρησιμοποιώντας το όνομα χρήστη adminκαι την έκδοση απλού κειμένου του κωδικού πρόσβασης που έχετε ορίσει root_password_sha2νωρίτερα.
Συγχαρητήρια - έχετε έναν πλήρως λειτουργικό διακομιστή Graylog εγκατεστημένο στον διακομιστή σας Ubuntu 16.04.