Pgwatch2 – PostgreSQL monitoring Tool der nächsten Generation

Es gibt zwar viele PostgreSQL-Monitoring-Lösungen, aber die meisten von ihnen sind in der Einrichtung zu komplex und zu unflexibel, um ihre Funktionalität zu erweitern. Mit pgwatch2 versuchen wir das zu ändern. Hauptaugenmerk wird ganz auf das Sammeln der Metriken gelegt und die Aufbereitung der Daten wird vom derzeit besten Dashboard-Tool übernommen.

Pgwatch2 arbeitet als Remote Metrics Gathering Daemon, der sich in regelmäßigen Abständen als normaler Benutzer mit der Datenbank verbindet, um Metriken aus dem Postgres Statistik-Subsystem auszulesen. Das hat den großen Vorteil, dass die Software keine speziellen Benutzerrechte haben muss und keine Erweiterungen auf dem Datenbankserver selbst installiert werden müssen, was den Einsatz in eingeschränkten Umgebungen (z. B. AWS RDS) ermöglicht.

Diese Diashow benötigt JavaScript.

Features von pgwatch2

  • Installation in 1 Minute mit Docker (manuelle Installation ebenfalls möglich)
  • Gute Übersicht über alle Datanbankaktivitäten auf einer Seite
  • Einfache Erweiterbarkeit durch die Definition von Metriken in purem SQL
  • Intuitive Präsentation der Metriken durch das Grafana Dashboard – User können mit nur wenigen Klicks auch ihre eigenen Graphen definieren (zusätzlich zu den Vordefinierten).
  • Optionale Benachrichtigungen (Email, Slack, PagerDuty) durch Grafana
  • Open Source Software – zur freien Weiterentwicklung
  • PostgreSQL Versionen 9.0+ werden unterstützt

Mehr Details:

  • Webbasiertes Management-Interface für die Administration von Datenbanken und Metriken.
  • Metriken werden in der hochperformanten Time Series Datenbank InfluxDB gespeichert
  • Optional: Security durch Benutzerauthentifizierung
  • Optional: Stored procedures für CPU load und pg_stat_statement Info sind bereits inkludiert
  • Logs können über das Web-Interface freigegeben werden, zB für einfache Fehlersuche

Screenshot des “DB overview” Dashboards


Mehr Detailinfos und Screenshots in unserem BLOG.

Quickstart


# 1. start the docker image

docker run -d -p 3000:3000 -p 8080:8080 --name pw2 cybertec/pgwatch2

# 2. add your database to monitoring via the management interface on port 8080

# 3. wait some minutes to let the daemon fetch some data and then open Grafana on port 3000

# 4. enjoy!

Download des Sourcecodes und Link zur Github Projekt Seite HIER.