In diesem Blogbeitrag möchte ich die per Github frei erhältliche Befehlszeilen Monitoring Anwendung pg_activity von dalibo vorstellen. Es handelt sich dabei, ähnlich dem unter Linux bekannten “htop”, um eine Anwendung zum Überwachen von PostgreSQL. Dabei werden sowohl Speicherverbrauch bzw. -nutzung als auch SQL Query spezifische Informationen übersichtlich dargestellt. Mit Hilfe dieser Informationen lassen sich Rückschlüsse auf die aktuelle Auslastung der PostgreSQL Instanz ziehen.

In diesem Blogbeitrag möchte ich die per Github frei erhältliche Befehlszeilen Monitoring Anwendung pg_activity von dalibo vorstellen. Es handelt sich dabei, ähnlich dem unter Linux bekannten “htop”, um eine Anwendung zum Überwachen von PostgreSQL. Dabei werden sowohl Speicherverbrauch bzw. -nutzung als auch SQL Query spezifische Informationen übersichtlich dargestellt. Mit Hilfe dieser Informationen lassen sich Rückschlüsse auf die aktuelle Auslastung der PostgreSQL Instanz ziehen.

Copy to Clipboard

Danach wird das pg_activity Git Repository geklont und in das erstellte Verzeichnis gewechselt.

Copy to Clipboard

Die Installation von pg_activity geht schnell vonstatten. Es kann dabei gewählt werden, ob auch keine man pages mit installiert werden sollen.

Copy to Clipboard

Oder mit man pages … wie ich es gewählt habe.

Copy to Clipboard

pg_activity kann Lokal und Remote ausgeführt werden. Beim lokalen Ausführen sollte der User auch der Postgres User, in diesem Falle enterprisedb, sein. Ansonsten werden nur eingeschränkt Informationen angezeigt. Das Gleiche gilt auch für den Datenbank Superuser.

Copy to Clipboard

Beim Ausführen von pg_activity können per Parameter die von Postgres bekannten Verbindungsdetails sowie einige weitere Parameter, z.B. zum Anpassen der Ausgabe, übergeben werden.

Copy to Clipboard

In meiner Demo nutze ich nun pgbench, welches wir bereits vorgestellt hatten, um etwas Last auf der Datenbank Instanz zu erzeugen und einen besseren Eindruck von pg_activity zu vermitteln. Dazu öffne ich ein zweites Terminal, erstelle eine Datenbank ‘pgbench’ mit einer Größe von ca. 756 MB. Zum Schluss starte ich ein Benchmarklauf mit 10 Clients in 2 Threads über eine Dauer von 10 Minuten.

Copy to Clipboard

In der ersten Shell kann ich nun pg_activity aufrufen.

Copy to Clipboard
pg_actvity Monitoring
Abbildung: pg_activity Monitoring

Solange die Oberfläche aktiviert ist, können per Tastendruck diverse Features aktiviert/deaktiviert, nach Spalten sortiert oder auch die Ansicht geändert werden. Beendet wird pg_activity mit der Taste “q”.

Blog Dirk Aumüller

Dirk Aumüller

Dirk Aumueller arbeitet als Associate Partner für die Proventa AG. Sein technologischer Schwerpunkt liegt bei Datenbankarchitekturen mit PostgreSQL sowie Data Management Lösungen mit Pentaho. Zusätzlich zu seinen Datenbanktransformations-Projekteinsätzen ist er regelmäßig als PostgreSQL Trainer unterwegs und betreut Studenten bei ihren Abschlussarbeiten. Seine fachlichen Erfahrungen erstrecken sich über die Branchen Telco und Financial Services.