Besseres Monitoring mit der Installation der Extension system_stats für PostgreSQL

Database

Mitarbeiter von EDB haben vor Kurzem eine Extension für PostgreSQL und den EDB Postgres Advanced Server unter der PostgreSQL Lizenz veröffentlicht. Diese Extension ermöglicht über eine Reihe von Funktionen für entsprechend berechtigte Rollen den Zugriff auf interessante Systemstatistik-Informationen. Im Folgenden wird die Installation für PostgreSQL und den EPAS v12 gezeigt.

Installation für PostgreSQL v12

Für PostgreSQL lässt sich die Installation unter CentOS 7 schnell per Yum Befehl abschließen, da die Extension im PGDG Repository aufgenommen wurde.

 

sudo yum -y install download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo yum -y install system_stats_12

 

 

Installation für EDB Postgres Advanced Server v12

Die Installation der Extension für den EPAS dauert etwas länger, ist aber auch nicht schwer.

Zuerst wird ein extra Repository und notwendige Packages für das Kompilieren und Installieren benötigt. Beides wird per Yum Befehl installiert.

 

sudo yum -y install centos-release-scl

sudo yum -y install llvm5.0 devtoolset-7 llvm-toolset-7-llvm-5.0.1-8.el7.x86_64 llvm-toolset-7-clang

 

Für den EPAs wird zusätzlich die Unterstützung für das Kompilieren installiert. Dieses Package ist im EDB Yum Repository enthalten.

 

sudo yum -y install edb-as12-server-llvmjit.x86_64

 

Als nächstes kann das aktuelle Release der Extension heruntergeladen und extrahiert werden.

 

wget github.com/EnterpriseDB/system_stats/archive/v1.0.tar.gz

tar -zxvf v1.0.tar.gz

cd system_stats-1.0/

 

Für das Kompilieren und Installieren ist es wichtig, dass die PATH Umgebungsvariable den Pfad zu den Binaries des EPAS enthält. Dies wird vor dem make Befehl eingefügt.

 

PATH="/usr/edb/as12/bin:$PATH" make USE_PGXS=1

sudo PATH="/usr/edb/as12/bin:$PATH" make install USE_PGXS=1

 

 

Einsatz der Extension

Die system_stat Extension ist jetzt installiert und kann genutzt werden. Dazu wird sie per psql-Befehl geladen.

 

psql -c "CREATE EXTENSION system_stats;"

 

Hinweis: Es ist aus Sicherheitsgründen wichtig darauf hinzuweisen, dass die Extension mit den System Statistiken Informationen bereitstellt, die nicht durch gewöhnliche Rollen eingesehen werden sollten. Daher sind die Funktionen nur für Superuser und die automatisch beim Laden erstellte Rolle monitor_system_stats nutzbar. Diese Rolle wird beim Entfernen der Extension nicht gelöscht.

Monitoring Rollen sollten separat per Grant den Zugriff auf die Rolle monitor_system_stats erhalten.

 

GRANT monitor_system_stats to nagios

 

Die Extension stellt in der aktuellen Version 1.0 zehn Funktionen zum Host, CPU, RAM, Netzwerk, Prozessen und Last zur Verfügung. Die Dokumentation zu jeder Spalte der jeweiligen Funktion ist auf der Github Seite verfügbar.

NAME

INFORMATION

pg_sys_os_info

Betriebssystem

pg_sys_cpu_info

CPU

pg_sys_cpu_usage_info

CPU Verwendung in Prozent der Zeit über alle Aktionen

pg_sys_memory_info

RAM Informationen in Bytes

pg_sys_io_analysis_info

I/O Analysedaten pro Block Device

pg_sys_disk_info

Speichersystem

pg_sys_load_avg_info

Durchschnittliche Last des Systems im Intervall 1, 5, 10 und 15 Minuten

pg_sys_process_info

Laufende Prozesse

pg_sys_network_info

Netzwerk

pg_sys_cpu_memory_by_process

CPU un RAM Verbrauch pro laufendem Prozess

Linux-Kenner werden schnell die Parallelen zu bekannten Tools entdecken und Gefallen an dieser konsolidierten Sicht finden. Natürlich bietet die Extension system_stats auch eine erstklassige Möglichkeit, dass im Einsatz befindliche Monitoring, z.B. Nagios oder aber auch Prometheus mit Grafana, mit Statistiken direkt aus PostgreSQL heraus zu versorgen.

Dirk Aumueller Autor

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.

Tags