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.

Das könnte dich auch interessieren …