Εισαγωγή
Προαπαιτούμενα
Ενημερώστε το σύστημα
Προετοιμασία του τείχους προστασίας
Εγκατάσταση Grafana
Ενεργοποίηση πιστοποιητικού HTTPS για το Grafana (προαιρετικό)
Εισαγωγή
Το Grafana είναι ένα λογισμικό ανοιχτού κώδικα που μετατρέπει πολλαπλές ροές από συστήματα όπως το Graphite, το Telegraf και το InfluxDB σε όμορφες μετρήσεις σε έναν κεντρικό πίνακα εργαλείων.
Αυτό το σεμινάριο θα καλύψει τη διαδικασία εγκατάστασης της διεπαφής ιστού Grafana.
Προαπαιτούμενα
Ενημερώστε το σύστημα
Ενημερώστε το σύστημά σας πριν εγκαταστήσετε το Grafana.
apt-get update && apt-get upgrade
Προετοιμασία του τείχους προστασίας
Πρώτα ας σκληρύνουμε λίγο την εικόνα. Ας ελέγξουμε επίσης αν έχει ufwενεργοποιηθεί η εικόνα που έχει παρασχεθεί .
root@vultr:~# ufw status
Status: inactive
Από προεπιλογή είναι απενεργοποιημένο, επομένως θα χρειαστεί να προσθέσουμε μερικούς κανόνες:
- Κανόνας 1: ssh: Θύρα TCP 22
- Κανόνας 2: http: Θύρα TCP 3000 (προεπιλεγμένη θύρα Grafana)
Εκτελέστε τις παρακάτω εντολές μία προς μία.
ufw allow 22/tcp
ufw allow 3000/tcp
Ενεργοποιήστε τις υπηρεσίες τείχους προστασίας.
ufw enable
Το τείχος προστασίας θα σας ζητήσει ένα παράθυρο διαλόγου για αποδοχή αλλαγών. Απλώς πατήστε Y.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Εγκατάσταση Grafana
Από προεπιλογή, το Grafana δεν βρίσκεται στα αποθετήρια. Προσθέστε το κλειδί repo και τα πακέτα.
curl https://packagecloud.io/gpg.key | sudo apt-key add -
Στη συνέχεια, προσθέστε το αποθετήριο "packagecloud" στα αποθετήρια σας.
add-apt-repository "deb https://packagecloud.io/grafana/stable/debian/ stretch main"
Ενημερώστε aptγια να λάβετε τις πιο πρόσφατες πληροφορίες από το αποθετήριο "packagecloud" που προστέθηκε πρόσφατα.
apt-get update
Τώρα μπορούμε να εγκαταστήσουμε το Grafana.
apt-get install grafana
Μόλις εγκατασταθεί το Grafana, ξεκινήστε το με systemctl.
systemctl start grafana-server
Αυτό θα δείξει μια υπηρεσία Grafana που λειτουργεί.
systemctl status grafana-server
Ξεκινήστε την υπηρεσία Grafana κατά την εκκίνηση.
systemctl enable grafana-server
Απενεργοποίηση εγγραφών Grafana και ανώνυμη πρόσβαση
Εκτός κουτιού, το Grafana επιτρέπει στους επισκέπτες να δημιουργούν λογαριασμούς χρηστών και να κάνουν προεπισκόπηση πινάκων εργαλείων χωρίς εγγραφή. Αυτό σημαίνει ότι εκθέτουμε τη Grafana στο δημόσιο διαδίκτυο. Αλλά μην ανησυχείτε, ας βρούμε και ας απενεργοποιήσουμε αυτές τις ρυθμίσεις.
Πρώτα ανοίξτε το αρχείο ρυθμίσεων του Grafana.
nano /etc/grafana/grafana.ini
Εντοπίστε τις allow_sign_upρυθμίσεις κάτω από την [users]επικεφαλίδα.
[users]
# disable user signup / registration
;allow_sign_up = true
Από προεπιλογή έχει οριστεί σε true, οπότε αλλάξτε το σε falseκαι αφαιρέστε το σχόλιο της γραμμής.
[users]
# disable user signup / registration
allow_sign_up = false
Στη συνέχεια, βεβαιωθείτε ότι η ανώνυμη πρόσβαση είναι απενεργοποιημένη. Αυτό μπορεί να βρεθεί κάτω από τις [auth.anonymous]ρυθμίσεις.
[auth.anonymous]
# enable anonymous access
;enabled = false
Αλλάξτε το σε falseκαι αποσχολιάστε τη γραμμή.
[auth.anonymous]
enabled = false
Βγείτε nanoκαι αποθηκεύστε το αρχείο.
Για να ενεργοποιήσετε τις αλλαγές, επανεκκινήστε το Grafana.
systemctl restart grafana-server
Τώρα επαληθεύστε ότι όλα λειτουργούν ελέγχοντας την κατάσταση υπηρεσίας του Grafana.
systemctl status grafana-server
Ο δαίμονας της Γραφάνας ακούει λιμάνι 3000. Για να επισκεφτείτε τον Πίνακα ελέγχου Grafana, υποδείξτε το πρόγραμμα περιήγησής σας http://192.168.0.1:3000(αντικαταστήστε αυτήν την IP με την πραγματική IP του διακομιστή σας) και χρησιμοποιήστε τα προεπιλεγμένα διαπιστευτήρια σύνδεσης παρακάτω.
Username: admin
Password: admin
Ενεργοποίηση πιστοποιητικού HTTPS για το Grafana (προαιρετικό)
Αυτό είναι ένα προαιρετικό βήμα. Εάν έχουμε ένα διαμορφωμένο όνομα DNS, μπορούμε να χρησιμοποιήσουμε το Let's encrypt για να ενεργοποιήσουμε HTTPSτη νέα μας εγκατάσταση Grafana.
Εγκατάσταση και διαμόρφωση του Nginx
Για να το πετύχουμε αυτό, θα χρησιμοποιήσουμε το Nginx, καθώς αυτό το λογισμικό μπορεί να χρησιμοποιεί πιστοποιητικά Let's Encrypt.
Ξεκινήστε εγκαθιστώντας το Nginx.
apt-get install nginx
Μόλις εγκατασταθεί, επεξεργαστείτε την προεπιλεγμένη διαμόρφωση.
nano /etc/nginx/sites-available/default
Αντικαταστήστε την προεπιλεγμένη διαμόρφωση με την ακόλουθη διαμόρφωση.
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Αυτό θα δημιουργήσει έναν διακομιστή μεσολάβησης για τον ιστότοπο που εκτελείται στη θύρα 80. Επανεκκινήστε το Nginx και ενεργοποιήστε το κατά την εκκίνηση.
systemctl restart nginx
systemctl enable nginx
Βεβαιωθείτε ότι όλα λειτουργούν.
systemctl status nginx
Απενεργοποιήστε την παλιά θύρα Grafana 3000και επιτρέψτε την κυκλοφορία στη θύρα 80.
ufw allow 80/tcp
ufw delete allow 3000/tcp
Εγκατάσταση Let's Encrypt
Για να μπορέσουμε να χρησιμοποιήσουμε το certbot, πρέπει να προσθέσουμε το σωστό PPA στο σύστημα που περιέχει τα πακέτα μας certbot.
add-apt-repository ppa:certbot/certbot
Πατήστε ENTERγια αποδοχή της αλλαγής διαμόρφωσης.
Ενημερώστε aptγια να συγκεντρώσετε τα νέα πακέτα.
apt-get update
Στη συνέχεια εγκαταστήστε τη μονάδα Nginx για την εκχώρηση των πιστοποιητικών.
apt-get -y install python-certbot-nginx
Διαμόρφωση πιστοποιητικών
Διαμορφώστε το τείχος προστασίας ώστε να επιτρέπει τη HTTPSδιέλευση του τείχους προστασίας.
ufw allow 443/tcp
Για να μπορέσουμε να ζητήσουμε νέα πιστοποιητικά, χρειαζόμαστε ένα όνομα DNS.
nano /etc/nginx/sites-available/default
Προσθέστε την ακόλουθη server_nameρύθμιση. Αυτό είναι το όνομά μας DNS.
server_name grafana.example.com;
Αλλάξτε τη διαμόρφωση ώστε να αντικατοπτρίζει αυτή τη νέα ρύθμιση.
server {
server_name grafana.example.com;
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Βεβαιωθείτε ότι δεν κάναμε σφάλματα και επανεκκινήστε το Nginx.
nginx -t
systemctl restart nginx
Τώρα ζητήστε ένα πιστοποιητικό με το certbot.
certbot --nginx -d grafana.example.com
Δώστε το email σας και αποδεχτείτε τις ερωτήσεις του εγκαταστάτη. Μπορείτε να πείτε με ασφάλεια «Όχι» στην κοινή χρήση του email σας. Το Certbot θα ρωτήσει αυτόματα τι να κάνει με το HTTPS. Θα χρησιμοποιήσουμε την επιλογή 2: ανακατεύθυνση σε HTTPS.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Αυτόματη ανανέωση πιστοποιητικών
Ας κρυπτογραφήσουμε τα πιστοποιητικά απαιτούν ανανέωση. Ευτυχώς, μπορούμε να δημιουργήσουμε μια θέση εργασίας για αυτό. Ξεκινήστε με την επεξεργασία του crontab.
crontab -e
Προσθέστε την ακόλουθη γραμμή.
05 2 * * * /usr/bin/certbot renew --quiet
Αυτό θα ελέγξει στις 2:05 π.μ. εάν κάποια πιστοποιητικά απαιτούν ανανέωση και θα τα ανανεώσει.
Η Grafana θα λειτουργεί HTTPSτώρα. Ένα τελευταίο πράγμα είναι να αλλάξετε τον κωδικό πρόσβασης διαχειριστή. Επισκεφθείτε την εγκατάστασή σας στο https://grafana.example.net. Από προεπιλογή, τα διαπιστευτήρια για τη σύνδεση είναι «admin/admin».
Για να αλλάξετε το όνομα χρήστη διαχειριστή, κάντε κλικ στο εικονίδιο γρανάζι στα αριστερά, μεταβείτε στο "Configuration", μετά στο "Server Admin" και κάντε κλικ στο όνομα χρήστη admin.