Wie installiere ich das Grafana 8 Monitoring Tool unter Debian 11
Grafana ist ein kostenloses und quelloffenes Tool zur Datenvisualisierung, mit dem du Metriken von anderen Hosts überwachen kannst. Es ist in Typescript und Go geschrieben und ermöglicht es dir, sowohl Log- als auch Datendiagramme zu erstellen und zu bearbeiten sowie Metriken zu erstellen. Es kann Diagramme und Dashboards aus einer Zeitreihendatenbank wie Graphite, InfluxDB oder OpenTSDB erstellen und erlaubt es dir, sie mit anderen Nutzern zu teilen.
Funktionen
- Dashboard-Vorlagen erstellen
- Bereitstellung von Annotationen
- Kiosk-Modus und Wiedergabelisten
- Benutzerdefinierte Plugins
- Alerting und Alert Hooks
In diesem Beitrag zeigen wir dir, wie du Grafana 8 auf Debian 11 installierst.
Voraussetzungen
- Ein Server, auf dem Debian 11 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Bevor du beginnst, solltest du dein System auf die aktuelle Version aktualisieren. Du kannst alle Pakete mit dem folgenden Befehl aktualisieren:
apt-get update -y
Nachdem du alle Pakete aktualisiert hast, installierst du die anderen erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install gnupg2 curl wget git software-properties-common -y
Sobald alle Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.
Grafana 8 installieren
Standardmäßig ist Grafana nicht im Standard-Repository von Debian 11 enthalten. Daher musst du das Grafana-Repository zur APT hinzufügen. Du kannst es mit dem folgenden Befehl hinzufügen:
curl https://packages.grafana.com/gpg.key | apt-key add - add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
Sobald das Repository hinzugefügt ist, aktualisiere den Repository-Cache und installiere Grafana mit dem folgenden Befehl:
apt-get update -y apt-get install grafana -y
Sobald Grafana installiert ist, starte und aktiviere den Grafana-Dienst mit dem folgenden Befehl:
systemctl start grafana-server systemctl enable grafana-server
Du kannst den Status des Grafana-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status grafana-server
Du erhältst die folgende Ausgabe:
? grafana-server.service - Grafana instance Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2022-02-04 04:08:25 UTC; 5s ago Docs: http://docs.grafana.org Main PID: 8602 (grafana-server) Tasks: 9 (limit: 2341) Memory: 29.6M CPU: 1.299s CGroup: /system.slice/grafana-server.service ??8602 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="migrations completed" logger=migrator performed=381 s> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Created default admin" logger=sqlstore user=admin Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Created default organization" logger=sqlstore Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Initialising plugins" logger=plugin.manager Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Plugin registered" logger=plugin.manager pluginId=inp> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Live Push Gateway initialization" logger=live.push_ht> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="Writing PID file" logger=server path=/run/grafana/gra> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=[::]:3> Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="warming cache for startup" logger=ngalert Feb 04 04:08:27 debian11 grafana-server[8602]: t=2022-02-04T04:08:27+0000 lvl=info msg="starting MultiOrg Alertmanager" logger=ngalert.multio>
Standardmäßig lauscht Grafana auf Port 3000. Du kannst das mit dem folgenden Befehl überprüfen:
ss -antpl | grep 3000
Du erhältst die folgende Ausgabe:
LISTEN 0 4096 *:3000 *:* users:(("grafana-server",pid=8602,fd=8))
Nginx als Reverse Proxy für Grafana installieren
Als Nächstes musst du Nginx als Reverse Proxy für Grafana installieren und konfigurieren. Installiere zunächst Nginx mit dem folgenden Befehl:
apt-get install nginx -y
Sobald Nginx installiert ist, erstellst du mit dem folgenden Befehl eine Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/conf.d/grafana.conf
Füge die folgenden Zeilen hinzu:
server { server_name grafana.example.com; listen 80; access_log /var/log/nginx/grafana.log; location / { proxy_pass http://localhost:3000; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Speichere und schließe die Datei, wenn du fertig bist. Überprüfe dann Nginx mit folgendem Befehl auf Syntaxfehler:
nginx -t
Wenn alles in Ordnung ist, erhältst du die folgende Ausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starte Nginx neu, um die Konfigurationsänderungen zu übernehmen.
systemctl restart nginx
Du kannst den Nginx-Status auch mit dem folgenden Befehl überprüfen:
systemctl status nginx
Du erhältst die folgende Ausgabe:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-02-04 04:09:20 UTC; 4s ago Docs: man:nginx(8) Process: 8631 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 8632 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 8633 (nginx) Tasks: 2 (limit: 2341) Memory: 2.5M CPU: 35ms CGroup: /system.slice/nginx.service ??8633 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??8634 nginx: worker process Feb 04 04:09:20 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server... Feb 04 04:09:20 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Feb 04 04:09:20 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
Jetzt ist Nginx installiert und als Reverse Proxy für Grafana konfiguriert. Du kannst jetzt mit dem nächsten Schritt fortfahren.
Zugriff auf das Grafana Dashboard
Öffne nun deinen Webbrowser und rufe die Grafana-Weboberfläche über die URL http://grafana.example.com auf. Du wirst auf die Grafana-Anmeldeseite weitergeleitet:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Du solltest den Bildschirm zum Zurücksetzen des Grafana-Passworts sehen:
Gib dein neues Passwort ein und klicke auf die Schaltfläche Absenden. Auf dem folgenden Bildschirm solltest du das Grafana-Dashboard sehen:
Grafana mit Let’s Encrypt sichern
Als nächstes musst du das Certbot Client-Paket installieren, um Let’s Encrypt SSL zu installieren und zu verwalten.
Installiere zunächst Certbot mit dem folgenden Befehl:
apt-get install certbot python3-certbot-nginx -y
Sobald die Installation abgeschlossen ist, führst du den folgenden Befehl aus, um Let’s Encrypt SSL auf deiner Website zu installieren:
certbot --nginx -d grafana.example.com
Du wirst aufgefordert, eine gültige E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): hitjethva@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for grafana.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/grafana.conf
Als Nächstes wählst du aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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
Gib 2 ein und drücke die Eingabetaste, um die Installation abzuschließen. Du solltest die folgende Ausgabe sehen:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/grafana.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://grafana.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=grafana.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/grafana.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/grafana.example.com/privkey.pem Your cert will expire on 2022-05-07. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org.
Fazit
Herzlichen Glückwunsch! Du hast Grafana 8 mit Nginx und Let’s Encrypt SSL unter Debian 11 erfolgreich installiert. Jetzt kannst du deine Remote-Hosts hinzufügen und sie über das Grafana-Dashboard überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.