Der Autor hat den COVID-19 Relief Fund dazu ausgewählt, eine Spende im Rahmen des Programms Write for DOnations zu erhalten.
Grafana ist ein Open-Source-basiertes Visualisierungs- und Überwachungstool für Daten, das sich mit komplexen Daten aus Quellen wie Prometheus, InfluxDB, Graphite und ElasticSearch integrieren lässt. Mit Grafana können Sie Warnungen, Benachrichtigungen und Ad-hoc-Filter für Ihre Daten erstellen und durch integrierte Freigabefunktionen die Zusammenarbeit mit Teamkollegen erleichtern.
In diesem Tutorial installieren Sie Grafana und sichern die Anwendung mit einem SSL-Zertifikat und einem Nginx-Reverseproxy. Nach der Einrichtung von Grafana haben Sie die Möglichkeit, Benutzerauthentifizierung über GitHub zu konfigurieren, um die Berechtigungen Ihres Teams besser zu organisieren.
Um dieser Anleitung zu folgen, benötigen Sie:
sudo
-Berechtigungen verfügt, und einer mit ufw
konfigurierten Firewall.your_domain
verwendet. Sie können einen Domänennamen unter Namecheap günstig erwerben oder einen kostenlosen von Freenom herunterladen oder einfach die Domänenregistrierungsstelle Ihrer Wahl verwenden.your-domain
, der auf die öffentliche IP-Adresse Ihres Servers verweist.www.your_domain
, der auf die öffentliche IP-Adresse Ihres Servers verweist.In diesem ersten Schritt installieren Sie Grafana auf Ihrem Ubuntu 20.04-Server. Sie können Grafana installieren, indem Sie entweder die Anwendung direkt von der offiziellen Website herunterladen oder ein APT-Repository verwenden. Da ein APT-Repository die Installation und Verwaltung von Grafana-Updates erleichtert, wenden wir in diesem Tutorial diese Methode an.
Laden Sie mit wget
den GPG-Schlüssel von Grafana herunter und übergeben Sie dann die Ausgabe an apt-key
. Dadurch wird der Schlüssel zur Liste der vertrauenswürdigen Schlüssel Ihrer APT-Installation hinzugefügt. Nun können Sie das GPG-signierte Grafana-Paket herunterladen und verifizieren:
- wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
In diesem Befehl deaktiviert die Option -q
die Nachricht zur Statusaktualisierung für wget
, während -O
die Datei ausgibt, die Sie in das Terminal heruntergeladen haben. Diese beiden Optionen sorgen dafür, dass nur die Inhalte der heruntergeladenen Datei an apt-key
übertragen werden.
Fügen Sie als Nächstes das Grafana-Repository zu Ihren APT-Quellen hinzu:
- sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
Aktualisieren Sie dann den APT-Cache, um Ihre Paketlisten zu aktualisieren:
- sudo apt update
Sie können nun mit der Installation fortfahren:
- sudo apt install grafana
Sobald Grafana installiert ist, verwenden Sie systemctl
, um den Grafana-Server zu starten:
- sudo systemctl start grafana-server
Überprüfen Sie als Nächstes, ob Grafana ausgeführt wird, indem Sie den Status des Diensts prüfen:
- sudo systemctl status grafana-server
Sie erhalten eine ähnliche Ausgabe wie diese:
Output● grafana-server.service - Grafana instance
Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-21 08:08:10 UTC; 4s ago
Docs: http://docs.grafana.org
Main PID: 15982 (grafana-server)
Tasks: 7 (limit: 1137)
...
Diese Ausgabe enthält Informationen über den Prozess von Grafana, einschließlich seines Status, Main Process Identifier (PID) und mehr. active (running)
bedeutet, dass der Prozess richtig ausgeführt wird.
Abschließend aktivieren Sie den Dienst, damit Grafana beim Booten automatisch gestartet wird:
- sudo systemctl enable grafana-server
Sie erhalten die folgende Ausgabe:
OutputSynchronizing state of grafana-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
Dadurch wird bestätigt, dass systemd
die erforderlichen symbolischen Links für den Autostart von Grafana erstellt hat.
Grafana ist nun installiert und einsatzbereit. Als Nächstes sichern Sie Ihre Verbindung zu Grafana mit einem Reverseproxy und SSL-Zertifikat.
Durch Verwendung eines SSL-Zertifikats wird sichergestellt, dass Ihre Daten sicher sind, indem die Verbindung zu und von Grafana verschlüsselt wird. Um diese Verbindung nutzen zu können, müssen Sie jedoch zunächst Nginx als Reverseproxy für Grafana neu konfigurieren.
Öffnen Sie die Nginx-Konfigurationsdatei, die Sie beim Einrichten des Nginx-Serverblocks mit Let’s Encrypt in den Voraussetzungen erstellt haben. Sie können einen beliebigen Texteditor verwenden, für dieses Tutorial nutzen wir allerdings nano
:
- sudo nano /etc/nginx/sites-available/your_domain
Suchen Sie nach dem folgenden Block:
...
location / {
try_files $uri $uri/ =404;
}
...
Da Sie Nginx bereits für Kommunikation über SSL konfiguriert haben und der gesamte Webverkehr auf Ihrem Server schon über Nginx läuft, müssen Sie Nginx nur noch dazu anweisen, alle Anfragen an Grafana (standardmäßig an Port 3000
) weiterzuleiten.
Löschen Sie in diesem location block
die vorhandene Zeile try_files
und ersetzen Sie sie durch die folgende Option proxy_pass
:
...
location / {
proxy_pass http://localhost:3000;
}
...
Dadurch wird der Proxy dem entsprechenden Port zugeordnet. Sobald Sie damit fertig sind, speichern und schließen Sie die Datei, indem Sie STRG+X
, Y
und dann die Eingabetaste
drücken (wenn Sie nano
verwenden).
Testen Sie nun die neuen Einstellungen, um sich zu vergewissern, dass alles korrekt konfiguriert wurde:
- sudo nginx -t
Sie erhalten die folgende Ausgabe:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Aktivieren Sie schließlich die Änderungen, indem Sie Nginx neu laden:
- sudo systemctl reload nginx
Sie können nun das Standardanmeldefenster von Grafana aufrufen, indem Sie in Ihren Webbrowser https://your_domain
eingeben. Wenn Grafana nicht erreichbar ist, prüfen Sie, ob Ihre Firewall so eingerichtet ist, dass Datenverkehr an Port 443
zugelassen wird, und befolgen Sie dann erneut die vorherigen Anweisungen.
Nachdem Sie die Verbindung zu Grafana verschlüsselt haben, können Sie nun zusätzliche Sicherheitsmaßnahmen implementieren, angefangen beim Ändern der standardmäßigen Anmeldedaten für den Grafana-Administrator.
Da jede Grafana-Installation standardmäßig dieselben Administrator-Anmeldedaten nutzt, sollten Sie die Anmeldedaten so schnell wie möglich ändern. In diesem Schritt aktualisieren Sie die Anmeldedaten zur Verbesserung der Sicherheit.
Navigieren Sie zunächst über Ihren Webbrowser zu https://your_domain
. Dadurch wird das standardmäßige Anmeldefenster mit folgenden Elementen angezeigt: einem Formular, das Sie dazu auffordert, eine E-Mail-Adresse oder Benutzername und ein Passwort einzugeben, einer Schaltfläche zum Anmelden sowie einem Link namens Passwort vergessen? .
Geben Sie admin
sowohl in das Feld E-Mail-Adresse oder Benutzername und Passwort ein und klicken Sie dann auf die Schaltfläche Anmelden.
Im nächsten Fenster werden Sie aufgefordert, die Sicherheit Ihres Kontos zu erhöhen, indem Sie das Standardpasswort ändern:
Geben Sie das Passwort, das Sie verwenden möchten, in die Felder Neues Passwort und Neues Passwort bestätigen ein.
Jetzt können Sie auf Übermitteln klicken, um die neuen Daten zu speichern, oder auf Überspringen, um diesen Schritt zu überspringen. Wenn Sie den Schritt überspringen, werden Sie dazu aufgefordert, das Passwort bei der nächsten Anmeldung zu ändern.
Um die Sicherheit Ihrer Grafana-Konfiguration zu erhöhen, klicken Sie auf Übermitteln. Sie gelangen zum Dashboard Willkommen bei Grafana:
Sie haben Ihr Konto sicherer gemacht, indem Sie die Standardanmeldedaten geändert haben. Als Nächstes werden Sie Änderungen an Ihrer Grafana-Konfiguration vornehmen, damit ohne Ihre Genehmigung niemand ein neues Grafana-Konto erstellen kann.
Grafana bietet Optionen, mit denen Besucher für sich selbst Benutzerkonten erstellen und eine Vorschau von Dashboards anzeigen können, ohne sich registrieren zu müssen. Wenn Grafana nicht über das Internet zugänglich ist oder mit öffentlich verfügbaren Daten wie Dienststatus arbeitet, können Sie diese Funktionen ggf. zulassen. Wenn Sie Grafana jedoch online verwenden, um mit sensiblen Daten zu arbeiten, kann anonymer Zugriff ein Sicherheitsproblem darstellen. Um dieses Problem zu beheben, nehmen Sie einige Änderungen an Ihrer Grafana-Konfiguration vor.
Öffnen Sie zunächst die Hauptkonfigurationsdatei von Grafana zur Bearbeitung:
- sudo nano /etc/grafana/grafana.ini
Suchen Sie die folgende Direktive allow_sign_up
unter der Überschrift [users]
:
...
[users]
# disable user signup / registration
;allow_sign_up = true
...
Wenn Sie diese Direktive mit true
aktivieren, wird dem Anmeldefenster eine Schaltfläche zum Anmelden hinzugefügt, damit sich Benutzer registrieren und auf Grafana zugreifen können.
Durch Deaktivieren dieser Direktive mit false
wird die Schaltfläche zum Anmelden entfernt, was die Sicherheit und den Datenschutz von Grafana erhöht.
Heben Sie die Kommentierung dieser Direktive auf, indem Sie das ;
-Zeichen am Anfang der Zeile entfernen und dann die Option auf false
setzen:
...
[users]
# disable user signup / registration
allow_sign_up = false
...
Als Nächstes suchen Sie nach der folgenden aktivierten
Direktive unter der Überschrift [auth.anonymous]
:
...
[auth.anonymous]
# enable anonymous access
;enabled = false
...
Wenn Sie enabled
auf true
setzen, erhalten nicht registrierte Benutzer Zugriff auf Ihre Dashboards; wenn Sie die Option auf false
setzen, wird der Zugriff auf das Dashboard auf registrierte Benutzer beschränkt.
Heben Sie die Kommentierung dieser Direktive auf, indem Sie das ;
-Zeichen am Anfang der Zeile entfernen und die Option dann auf false
setzen:
...
[auth.anonymous]
# enable anonymous access
enabled = false
...
Speichern Sie die Datei und beenden Sie den Texteditor.
Um die Änderungen zu aktivieren, starten Sie Grafana neu:
- sudo systemctl restart grafana-server
Vergewissern Sie sich, ob alles funktioniert, indem Sie den Dienststatus von Grafana überprüfen:
- sudo systemctl status grafana-server
Wie zuvor wird die Ausgabe melden, dass Grafana active (running)
ist.
Rufen Sie nun https://your_domain
in Ihrem Webbrowser auf. Um zum Fenster zum Anmelden zurückzukehren, bewegen Sie den Cursor links unten im Bildschirm zu Ihrem Avatar und klicken Sie auf die Option Abmelden, die angezeigt wird.
Vergewissern Sie sich nach dem Abmelden, dass es keine Schaltfläche zum Anmelden gibt und Sie sich nicht anmelden können, ohne Anmeldedaten einzugeben.
Nun ist Grafana vollständig konfiguriert und einsatzbereit. Als Nächstes können Sie den Anmeldeprozess für Ihre Organisation vereinfachen, indem Sie über GitHub authentifizieren.
Für einen alternativen Ansatz zur Anmeldung können Sie Grafana für eine Authentifizierung über GitHub konfigurieren, womit allen Mitgliedern autorisierter GitHub-Organisationen Zugriff gewährt wird. Dies kann besonders nützlich sein, wenn Sie möchten, dass verschiedene Entwickler zusammenarbeiten und Metriken aufrufen können, ohne spezielle Anmeldedaten für Grafana erstellen zu müssen.
Melden Sie sich zunächst bei einem GitHub-Konto, das mit Ihrer Organisation verknüpft ist, an und navigieren Sie dann zu Ihrer GitHub-Profilseite unter https://github.com/settings/profile
.
Wechseln Sie den Einstellungskontext, indem Sie auf der linken Seite des Bildschirms auf Ihren Namen klicken und dann im Dropdown-Menü Ihre Organisation auswählen. Dadurch wird der Kontext von Persönliche Einstellungen in Organisationseinstellungen geändert.
Im nächsten Bildschirm sehen Sie Ihr Organisationsprofil, in dem Sie Einstellungen wie den Anzeigenamen der Organisation, die E-Mail-Adresse der Organisation und die URL der Organisation ändern können.
Da Grafana OAuth, einen offenen Standard zum Gewähren von Zugriff auf lokale Ressourcen an andere Remotebenutzer und Authentifizieren von Benutzern über GitHub nutzt, müssen Sie innerhalb von GitHub eine neue OAuth-Anwendung erstellen.
Klicken Sie auf den Link OAuth-Anwendungen unter Entwicklereinstellungen unten links im Bildschirm.
Wenn Sie in GitHub nicht bereits über OAuth-Anwendungen verfügen, die mit Ihrer Organisation verknüpft sind, erhalten Sie den Hinweis, dass keine Anwendungen im Besitz der Organisation sind. Andernfalls sehen Sie eine Liste der OAuth-Anwendungen, die bereits mit Ihrem Konto verknüpft sind.
Klicken Sie auf die Schaltfläche Neue OAuth-Anwendung, um fortzufahren.
Geben Sie im nächsten Bildschirm folgende Details zu Ihrer Grafana-Installation ein:
https://your_domain
ein, wobei Sie your_domain
durch Ihre Domäne ersetzen.https://your_domain/login/github
lauten.Denken Sie daran, dass Grafana-Benutzer, die sich über GitHub anmelden, die Werte sehen, die Sie in den ersten drei vorangehenden Feldern eingegeben haben; geben Sie also sinnvolle und passende Werte ein.
Am Ende wird das Formular in etwa so aussehen:
Klicken Sie auf die grüne Schaltfläche Anwendung registrieren.
Sie werden nun auf eine Seite weitergeleitet, die die Client-ID und das Clientgeheimnis enthält, die mit Ihrer neuen OAuth-Anwendung verknüpft sind. Notieren Sie sich beide Werte, da Sie sie der Hauptkonfigurationsdatei von Grafana hinzufügen müssen, um die Einrichtung abzuschließen.
Achtung: Bewahren Sie Ihre Client-ID und das Clientgeheimnis an einem sicheren, nicht öffentlichen Ort auf, da diese Daten als Grundlage für Angriffe dienen können.
Nach der Erstellung Ihrer GitHub OAuth-Anwendung können Sie Grafana nun neu konfigurieren, sodass GitHub zur Authentifizierung genutzt wird.
Um die GitHub-Authentifizierung für Ihr Grafana-Setup zu abzuschließen, werden Sie nun einige Änderungen an Ihren Grafana-Konfigurationsdateien vornehmen.
Öffnen Sie zunächst die Grafana-Hauptkonfigurationsdatei.
- sudo nano /etc/grafana/grafana.ini
Suchen Sie die Überschrift [auth.github]
und heben Sie die Kommentierung dieses Abschnitts auf, indem Sie das ;
-Zeichen am Anfang der einzelnen Zeilen entfernen (außer bei ;allowed_domains =
und ;team_ids=
, die in diesem Tutorial nicht geändert werden).
Nehmen Sie als Nächstes folgende Änderungen vor:
enabled
und allow_sign_up
auf true
. Dadurch wird die GitHub-Authentifizierung aktiviert und Mitglieder der zugelassenen Organisation können Konten selbst erstellen. Beachten Sie, dass sich diese Einstellung von der Eigenschaft allow_sign_up
unter [users]
unterscheidet, die Sie in Schritt 4 geändert haben.client_id
und client_secret
auf die Werte, die Sie beim Erstellen Ihrer GitHub OAuth-Anwendung erhalten haben.allowed_organizations
den Namen Ihrer Organisation, damit sich nur Mitglieder Ihrer Organisation bei Grafana registrieren und anmelden können.Die vollständige Konfiguration wird wie folgt aussehen:
...
[auth.github]
enabled = true
allow_sign_up = true
client_id = your_client_id_from_github
client_secret = your_client_secret_from_github
scopes = user:email,read:org
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
;allowed_domains =
;team_ids =
allowed_organizations = your_organization_name
...
Sie haben Grafana nun alles gesagt, was die Anwendung über GitHub wissen muss. Zum Abschließen der Einrichtung müssen Sie Umleitungen hinter einem Reverseproxy aktivieren. Dazu wird ein Wert root_url
unter der Überschrift [server]
festgelegt.
...
[server]
root_url = https://your_domain
...
Speichern Sie Ihre Konfiguration und schließen Sie die Datei.
Starten Sie Grafana anschließend neu, um die Änderungen zu aktivieren:
- sudo systemctl restart grafana-server
Vergewissern Sie sich abschließend, dass der Dienst ausgeführt wird.
- sudo systemctl status grafana-server
Die Ausgabe wird anzeigen, dass der Dienst active (running)
ist.
Testen Sie Ihr neues Authentifizierungssystem nun durch Navigieren zu https://your_domain
. Wenn Sie bereits bei Grafana angemeldet sind, fahren Sie mit der Maus über das Avatar-Logo in der linken unteren Ecke des Bildschirms und klicken Sie im zweiten Menü, das neben Ihrem Namen erscheint, auf Abmelden.
Auf der Anmeldeseite sehen Sie unter der ursprünglichen Schaltfläche zum Anmelden einen neuen Bereich, der eine Schaltfläche zum Anmelden mit GitHub inklusive des GitHub-Logos enthält.
Klicken Sie auf die Schaltfläche Anmelden mit GitHub, um an GitHub weitergeleitet zu werden, wo Sie sich bei Ihrem GitHub-Konto anmelden und Ihre Absicht zum Autorisieren von Grafana bestätigen können.
Klicken Sie auf die grüne Schaltfläche your_github_organization autorisieren.
Anmerkung: Stellen Sie sicher, dass Ihr GitHub-Konto Mitglied Ihrer zugelassenen Organisation ist und Ihre Grafana-E-Mail-Adresse mit Ihrer GitHub-E-Mail-Adresse übereinstimmt. Wenn Sie versuchen, sich bei einem GitHub-Konto zu authentifizieren, das kein Mitglied Ihrer zugelassenen Organisation ist, erhalten Sie eine Meldung zu Anmeldung fehlgeschlagen, in der Ihnen Folgendes mitgeteilt wird: Benutzer kein Mitglied einer der erforderlichen Organisationen.
Sie werden nun mit Ihrem vorhandenen Grafana-Konto angemeldet. Wenn für den Benutzer, als der Sie sich angemeldet haben, noch kein Grafana-Konto vorhanden ist, wird Grafana ein neues Benutzerkonto mit Viewer-Berechtigungen erstellen, damit neue Anwender ausschließlich vorhandene Dashboards verwenden können.
Um die Standardberechtigungen für neue Benutzer zu ändern, öffnen Sie die Hauptkonfigurationsdatei von Grafana zur Bearbeitung.
- sudo nano /etc/grafana/grafana.ini
Suchen Sie die Direktive auto_assign_org_role
unter der Überschrift [users]
und heben Sie die Kommentierung der Einstellung auf, indem Sie das ;
-Zeichen am Anfang der Zeile entfernen.
Setzen Sie die Direktive auf einen der folgenden Werte:
Viewer
— kann nur vorhandene Dashboards verwendenEditor
— kann Dashboards verwenden, ändern und hinzufügenAdmin
— kann alles tunIn diesem Tutorial wird die automatische Zuordnung auf Viewer
gesetzt:
...
[users]
...
auto_assign_org_role = Viewer
...
Sobald Sie Ihre Änderungen gespeichert haben, schließen Sie die Datei und starten Sie Grafana neu:
- sudo systemctl restart grafana-server
Überprüfen Sie den Status des Diensts:
- sudo systemctl status grafana-server
Wie zuvor wird der Status active (running)
lauten.
Nun haben Sie Grafana so konfiguriert, dass Mitglieder Ihrer GitHub-Organisation Ihre Grafana-Installation registrieren und verwenden können.
In diesem Tutorial haben Sie Grafana installiert, konfiguriert und gesichert und außerdem erfahren, wie sich Mitglieder Ihrer Organisation über GitHub authentifizieren können.
Um Ihre aktuelle Grafana-Installation zu erweitern, konsultieren Sie die Liste der offiziellen und von der Community entwickelten Dashboards und Plugins. Um mehr über die allgemeine Verwendung von Grafana zu erfahren, konsultieren Sie die offizielle Grafana-Dokumentation oder unsere anderen Überwachungsleitfäden.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!