So installierst du die Grafana Linux Monitoring Software auf Ubuntu 22.04

Grafana ist ein kostenloses, quelloffenes und funktionsreiches Metrik-Dashboard und Datenvisualisierungstool. Es wurde für Graphite, Elasticsearch, OpenTSDB, Prometheus und InfluxDB entwickelt, um Metriken über eine webbasierte Oberfläche zu überwachen. Es ist plattformübergreifend und verfügt über mehr als 100 Plugins für die Sammlung, Speicherung, Visualisierung und Weitergabe von Daten. Damit kannst du Alarme und Benachrichtigungen für deine Daten erstellen und die Zusammenarbeit mit deinen Teamkollegen durch Sharing-Funktionen erleichtern.

In diesem Tutorial wird erklärt, wie du Grafana 8 auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

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
apt-get upgrade -y

Sobald alle Pakete aktualisiert sind, 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 auf Ubuntu 22.04 installieren

Standardmäßig ist Grafana nicht im Standard-Repository von Ubuntu 22.04 enthalten. Daher musst du das Grafana-Repository zum 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 Sat 2022-08-06 09:33:06 UTC; 7s ago
       Docs: http://docs.grafana.org
   Main PID: 69737 (grafana-server)
      Tasks: 9 (limit: 2242)
     Memory: 37.1M
        CPU: 1.580s
     CGroup: /system.slice/grafana-server.service
             ??69737 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg>

Aug 06 09:33:08 ubuntu2204 grafana-server[69737]: logger=secrets t=2022-08-06T09:33:08.517381147Z level=info msg="Envelope encryption state" >
Aug 06 09:33:08 ubuntu2204 grafana-server[69737]: logger=query_data t=2022-08-06T09:33:08.527197639Z level=info msg="Query Service initializa>
Aug 06 09:33:08 ubuntu2204 grafana-server[69737]: logger=live.push_http t=2022-08-06T09:33:08.544920469Z level=info msg="Live Push Gateway in>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=ngalert t=2022-08-06T09:33:13.723313517Z level=warn msg="failed to delete old am con>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=infra.usagestats.collector t=2022-08-06T09:33:13.885398731Z level=info msg="register>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=server t=2022-08-06T09:33:13.886028388Z level=info msg="Writing PID file" path=/run/>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=http.server t=2022-08-06T09:33:13.900761945Z level=info msg="HTTP Server Listen" add>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=ngalert t=2022-08-06T09:33:13.901994976Z level=info msg="warming cache for startup"
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=ngalert.multiorg.alertmanager t=2022-08-06T09:33:13.902506414Z level=info msg="start>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=grafanaStorageLogger t=2022-08-06T09:33:13.926571246Z level=info msg="storage starti>

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=69737,fd=8))                                                                                                                                

Nginx als Reverse Proxy für Grafana installieren

Standardmäßig kann auf Grafana über Port 3000 zugegriffen werden. Daher musst du Nginx als Reverse Proxy für Grafana installieren und konfigurieren, damit du über Port 80 auf Grafana zugreifen kannst . 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 Host $http_host;
                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 dem folgenden 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 Sat 2022-08-06 09:35:32 UTC; 4s ago
       Docs: man:nginx(8)
    Process: 70326 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 70327 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 70328 (nginx)
      Tasks: 2 (limit: 2242)
     Memory: 2.6M
        CPU: 42ms
     CGroup: /system.slice/nginx.service
             ??70328 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??70329 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Aug 06 09:35:32 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Aug 06 09:35:32 ubuntu2204 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:

Grafana Anmeldung

Gib den Standard-Benutzernamen admin und das Passwort admin/admin ein und klicke auf die Schaltfläche Anmelden. Du solltest den Bildschirm zum Zurücksetzen des Grafana-Passworts sehen:

Generiere ein neues Passwort

Gib dein neues Passwort ein und klicke auf die Schaltfläche Absenden. Auf dem folgenden Bildschirm solltest du das Grafana-Dashboard sehen:

Grafana Dashboard

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 als Reverse Proxy und Let’s Encrypt SSL auf Ubuntu 22.04 erfolgreich installiert. Jetzt kannst du deine externen Datenquellen zu Grafana hinzufügen und sie über das Grafana-Dashboard überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …