So installierst du PgHero unter Ubuntu 22.04
PgHero ist ein quelloffenes und webbasiertes Tool, mit dem du PostgreSQL über einen Webbrowser überwachen kannst. Es hilft Benutzern, die mit der Kommandozeile nicht vertraut sind. Es bietet ein einfaches und benutzerfreundliches Kontrollpanel zur Überwachung von PostgreSQL und zeigt Systemmetriken wie Ressourcennutzung, Gesundheitschecks usw. an. Es bietet eine leicht zu interpretierende Übersicht – grün bedeutet gut, nicht grün, du solltest aufpassen, usw. PgHero bietet einen schnellen Überblick über den Gesamtstatus deiner Datenbank, einen Blick auf die laufenden Abfragen, Tabellenindizes und den Tabellenplatz und gibt dir die Möglichkeit, Erklärungen zu Abfragen zu erhalten, ohne die psql-Konsole aufrufen zu müssen.
In diesem Beitrag erfährst du, wie du die PostgreSQL-Überwachungssoftware PgHero auf Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein gültiger Domainname ist mit der IP deines Servers verbunden.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Bevor du beginnst, aktualisiere alle Systempakete mit dem folgenden Befehl auf die neueste Version:
apt update -y apt upgrade -y
Sobald alle Pakete aktualisiert sind, kannst du mit dem folgenden Befehl weitere erforderliche Abhängigkeiten installieren:
apt-get install wget curl gnupg2 -y
Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
PostgreSQL Server installieren
Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von PostgreSQL 14. Du kannst sie mit dem folgenden Befehl installieren:
apt-get install postgresql-14 -y
Nach der erfolgreichen Installation kannst du den PostgreSQL-Dienst mit dem folgenden Befehl starten und aktivieren:
systemctl start postgresql systemctl enable postgresql
Um den Status von PostgreSQL zu überprüfen, führe den folgenden Befehl aus:
systemctl status postgresql
Du erhältst die folgende Ausgabe:
? postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Mon 2022-11-28 16:29:36 UTC; 17s ago Process: 20245 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 20245 (code=exited, status=0/SUCCESS) Nov 28 16:29:36 ubuntu22041 systemd[1]: Starting PostgreSQL RDBMS... Nov 28 16:29:36 ubuntu22041 systemd[1]: Finished PostgreSQL RDBMS.
Zu diesem Zeitpunkt ist der PostgreSQL-Dienst installiert und läuft. Du kannst jetzt mit dem nächsten Schritt fortfahren.
Erstellen einer PostgreSQL-Datenbank und eines Benutzers
Als Nächstes musst du eine PostgreSQL-Datenbank und einen Benutzer erstellen. Verbinde dich zunächst mit der PostgreSQL-Konsole mit dem folgenden Befehl:
su - postgres
Als Nächstes erstellst du einen Benutzer namens pghero mit folgendem Befehl:
createuser pghero
Verbinde dich mit der PostgreSQL-Shell mit folgendem Befehl:
psql
Als Nächstes legst du ein Passwort für den Benutzer pghero fest:
ALTER USER pghero WITH ENCRYPTED password 'password';
Als Nächstes erstellst du eine Datenbank namens pgdb mit folgendem Befehl:
CREATE DATABASE pgdb OWNER pghero;
Als Nächstes erteilst du der pgdb mit dem folgenden Befehl alle Rechte:
GRANT ALL PRIVILEGES ON DATABASE pgdb to pghero;
Verlasse die PostgreSQL-Shell mit folgendem Befehl:
\q exit
PgHero installieren und konfigurieren
Standardmäßig ist das PgHero-Paket nicht im Standard-Repository von Ubuntu enthalten. Daher musst du das PgHero-Repository zu deinem Server hinzufügen.
Lade zunächst den GPG-Schlüssel herunter und importiere ihn mit dem folgenden Befehl:
wget -qO- https://dl.packager.io/srv/pghero/pghero/key | apt-key add -
Als Nächstes fügst du das PgHero-Repository mit dem folgenden Befehl zur APT hinzu:
wget -O /etc/apt/sources.list.d/pghero.list https://dl.packager.io/srv/pghero/pghero/master/installer/ubuntu/$(. /etc/os-release && echo $VERSION_ID).repo
Als Nächstes aktualisierst du den Repository-Cache und installierst PgHero mit dem folgenden Befehl:
apt-get update -y apt-get install pghero -y
Nach der Installation von PgHero musst du deine PostgreSQL-Datenbank für PgHero definieren. Du kannst sie mit dem folgenden Befehl definieren:
pghero config:set DATABASE_URL=postgres://pghero:password@localhost:5432/pgdb
Als Nächstes richtest du den PgHero Webserver mit den folgenden Befehlen ein:
pghero config:set PORT=3001 pghero config:set AILS_LOG_TO_STDOUT=disabled pghero scale web=1
Du erhältst die folgende Ausgabe:
Created symlink /etc/systemd/system/multi-user.target.wants/pghero.service ? /etc/systemd/system/pghero.service. Created symlink /etc/systemd/system/pghero.service.wants/pghero-web.service ? /etc/systemd/system/pghero-web.service. Scaling up... Created symlink /etc/systemd/system/pghero-web.service.wants/pghero-web-1.service ? /etc/systemd/system/pghero-web-1.service. --> done.
Starte nun den PgHero-Dienst mit folgendem Befehl:
systemctl start pghero
Du kannst den Status von PgHero mit dem folgenden Befehl überprüfen:
systemctl status pghero
Du erhältst die folgende Ausgabe:
? pghero.service Loaded: loaded (/etc/systemd/system/pghero.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-11-28 16:33:23 UTC; 19s ago Main PID: 21242 (sleep) Tasks: 1 (limit: 464122) Memory: 176.0K CGroup: /system.slice/pghero.service ??21242 /bin/sleep infinity Nov 28 16:33:23 ubuntu22041 systemd[1]: Started pghero.service.
PgHero läuft jetzt und lauscht auf Port 3001. Du kannst ihn mit dem folgenden Befehl überprüfen:
ss -antpl | grep 3001
Du solltest die folgende Ausgabe sehen:
LISTEN 0 1024 0.0.0.0:3001 0.0.0.0:* users:(("ruby",pid=21278,fd=5),("ruby",pid=21277,fd=5),("ruby",pid=21276,fd=5),("ruby",pid=21245,fd=5))
Jetzt ist PgHero installiert und konfiguriert. Du kannst jetzt mit dem nächsten Schritt fortfahren.
Nginx als Reverse Proxy für PgHero konfigurieren
Es ist eine gute Idee, Nginx als Reverse Proxy für PgHero zu installieren und zu konfigurieren. Installiere zunächst den Nginx-Webserver mit dem folgenden Befehl:
apt-get install nginx -y
Sobald Nginx installiert ist, erstellst du eine Nginx-Konfigurationsdatei mit dem folgenden Befehl:
nano /etc/nginx/conf.d/pghero.conf
Füge die folgenden Zeilen hinzu:
server { listen 80; server_name pghero.example.com; location / { proxy_pass http://localhost:3001; } }
Speichere und schließe die Datei und überprüfe den Nginx auf Syntaxfehler:
nginx -t
Du erhältst 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 anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
Du kannst nun den Status von Nginx mit folgendem 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 Mon 2022-11-28 16:36:27 UTC; 7s ago Docs: man:nginx(8) Process: 21878 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 21879 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 21880 (nginx) Tasks: 3 (limit: 464122) Memory: 3.4M CGroup: /system.slice/nginx.service ??21880 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??21881 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??21882 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" Nov 28 16:36:27 ubuntu22041 systemd[1]: Starting A high performance web server and a reverse proxy server... Nov 28 16:36:27 ubuntu22041 systemd[1]: Started A high performance web server and a reverse proxy server.
Zugriff auf das PgHero Dashboard
Öffne nun deinen Webbrowser und rufe die PgHero-Weboberfläche über die URL http://pghero.example.com auf. Du solltest das PgHero Dashboard auf dem folgenden Bildschirm sehen:
Klicke auf den Speicherplatz im linken Bereich und du solltest die Größe der PostgreSQL-Datenbank auf dem folgenden Bildschirm sehen:
Klicke auf die Verbindungen. Du solltest alle PostgreSQL-Verbindungsanfragen auf dem folgenden Bildschirm sehen:
Klicke auf die Einstellung. Auf dem folgenden Bildschirm siehst du alle deine Standardeinstellungen:
Fazit
Herzlichen Glückwunsch! Du hast PgHero erfolgreich auf dem Ubuntu 22.04 Server installiert. Du kannst PgHero jetzt in der Produktionsumgebung einsetzen, um deine PostgreSQL-Datenbanken einfach über den Webbrowser zu verwalten und zu überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.