PostgreSQL und alles was dazu geh¨ ort - Elephant Shed Alexander Sosna, Adrian Vondendriesch pgconf.de 2018
PostgreSQL und alles was dazu gehort - Elephant Shed
Alexander Sosna,Adrian Vondendriesch
pgconf.de 2018
Vorstellung
Alexander Sosna
I 4 Jahre bei credativ
I Projektleiter
I Technische Aufgaben
Adrian Vondendriesch
I 5 Jahre bei credativ
I Senior Berater
I Debian Maintainer
Alexander Sosna, Adrian Vondendriesch credativ GmbH 1 / 33
credativ - Open Source for Business
I IT-Dienstleister seit 1999
I Grunder u. Mitarbeiter aus Debian- u. PostgreSQL-Community
I Betrieb kritischer Infrastruktur mit OSS
I Schulungen
I Am Standort Monchengladbach (NRW)
I 40+ MitarbeiterI 7 Kollegen im Datenbankteam
Alexander Sosna, Adrian Vondendriesch credativ GmbH 2 / 33
PostgreSQL
I Was muss beim Einsatz beachtet werden?
Unix-Philosophie
I Schreibe Computerprogramme so, dass sie nur eine Aufgabeerledigen und diese gut machen.
I Schreibe Programme so, dass sie zusammenarbeiten.
I Schreibe Programme so, dass sie Textstrome verarbeiten, denndas ist eine universelle Schnittstelle.
https://de.wikipedia.org/wiki/Unix-Philosophie
Alexander Sosna, Adrian Vondendriesch credativ GmbH 3 / 33
PostgreSQL - Im luftleeren Raum?
Alexander Sosna, Adrian Vondendriesch credativ GmbH 4 / 33
PostgreSQL - Im luftleeren Raum?
Alexander Sosna, Adrian Vondendriesch credativ GmbH 5 / 33
PostgreSQL - Im luftleeren Raum?
Alexander Sosna, Adrian Vondendriesch credativ GmbH 6 / 33
PostgreSQL - Okosystem
Alexander Sosna, Adrian Vondendriesch credativ GmbH 7 / 33
PostgreSQL - Okosystem
Alexander Sosna, Adrian Vondendriesch credativ GmbH 8 / 33
PostgreSQL - Was fehlt?
Kleiner Satz an Werkzeugen wird mitgeliefert, dafur existiert einreichhaltiges und vielfaltiges Okosystem.
I Vorteile
I Schlanke BasisI Gute Moglichkeit der Anpassung und Integration an die eigene
Infrastruktur, Anforderungen und Prozesse
I Nachteile
I Keine All-in-One-LosungI Recherche und Architekturaufwand notwendigI Tool-Auswahl: Oft gibt es viele konkurrierende MoglichkeitenI Initialer Aufbau einer geeigneten Umgebung aufwendigI Umfangreiche Tests des Gesamtsystems notig
Alexander Sosna, Adrian Vondendriesch credativ GmbH 9 / 33
Status Quo
I Diverse Betriebssysteme
I Embedded Devices => Großrechner
I Architekturen: x86, PPC, ARM, . . .
I Einzelinstallation => DB-Hoster (PostgreSQL as a Service)
I Konzeption, Aufbau, Betrieb und Review individuellerUmgebungen
Wir sind federfuhrend bei der Paketierung des PostgreSQL-Okosystemsfur Debian/Ubuntu.
Alexander Sosna, Adrian Vondendriesch credativ GmbH 10 / 33
Anderung am Markt
Klassische Einfuhrung von PostgreSQL
I Langfristige Planung
I Hohe Anforderungen an Integration
I FirmenprozesseI eigene Infrastruktur
Neue Anfragen
I Zeitnahe Migration von kommerziellem RDBMS zu PostgreSQL
I Lieber vorhandene Losung als individuelles Konzept
Alexander Sosna, Adrian Vondendriesch credativ GmbH 11 / 33
Elephant Shed - Ziele
I Fertiger Blueprint
I AusprobierenI TestenI Betrieb
I PostgreSQL-Einstieg und -Betrieb so einfach wie moglich gestalten
Alexander Sosna, Adrian Vondendriesch credativ GmbH 12 / 33
Elephant Shed - Anforderungen 1/2
I In sich geschlossenen
I Alle Komponenten enthaltenI Alle Komponenten aufeinander abgestimmt
I Fur breiten Anwenderkreis (besonders Einsteiger)
I Viele Anwendungsfalle abdeckenI Jedoch kein hoher Aufwand fur Nischen
Alexander Sosna, Adrian Vondendriesch credativ GmbH 13 / 33
Elephant Shed - Anforderungen 2/2
I Modularer Aufbau
I ErweiterbarI Nutzung der Komponenten fur individuelle Setups
I 100% Open Source, keine proprietaren Komponenten
I Langfristige Pflege und kommerzieller Support
Alexander Sosna, Adrian Vondendriesch credativ GmbH 14 / 33
Funktionalitat
I Monitoring
I Datenbankadministration
I Backups
I Logauswertung
I Systemverwaltung
Alexander Sosna, Adrian Vondendriesch credativ GmbH 15 / 33
Interface
I Web basiertes Interface
I Zugriff via Apache ReverseProxy (SSL)
I SSO via PAM Authentification
Alexander Sosna, Adrian Vondendriesch credativ GmbH 16 / 33
PostgreSQL
Anpassung der Standardkonfiguration:
I Listen Parameter
I Logging
I Backup
I Replication
I Extensions
Alexander Sosna, Adrian Vondendriesch credativ GmbH 17 / 33
Monitoring - Komponenten
I Grafana - Anzeige vonMetriken
I Prometheus - Speicherung derMetriken
I SQL Exporter - Export vonPostgreSQL Metriken
I Node Exporter - Export vonSystemmetriken
Alexander Sosna, Adrian Vondendriesch credativ GmbH 18 / 33
Monitoring - Metriken
Metriken:
I System (CPU, Memory, Disk-IO, Netzwerk-IO, Disk-Usage, etc.)
I Cluster (Verbindungen, Locks, Prepared Transactions, etc.)
I Datenbanken (Benutzer, Objektstatistiken, Queries, etc.)
Automatische Anpassung bei Veranderung:
I Neue Cluster
I Neue Datenbanken
I Neue Dateisysteme
I etc.
Alexander Sosna, Adrian Vondendriesch credativ GmbH 19 / 33
Monitoring - Visualisierung
I Zusammenfassung aktuellerPerformance Werte
I Systemmetriken
I Clustermetriken
I Datenbankmetriken
I Replikation
Alexander Sosna, Adrian Vondendriesch credativ GmbH 20 / 33
Monitoring - Alerting
Nicht vorkonfiguriert, aber:
I einfache Alerting Rules via Grafana,
I komplexere Alerting Rules via Prometheus moglich
Alexander Sosna, Adrian Vondendriesch credativ GmbH 21 / 33
Datenbankadministration
Via pgAdmin4. Ermoglicht:
I Datenbankadministration
I SchemaverwaltungI UserverwaltungI Dump / Restore
I Ad-hoc SQL Queries
Alexander Sosna, Adrian Vondendriesch credativ GmbH 22 / 33
Backups - pgBackRest
I Physical Backups / Basebackups
I WAL Archiving / PITR Fahig
Features:
I Compression (On Disk / Network)
I Checksumming
I Encryption
I Full, Differential und Incremental Backups
I Backup to Disk und S3
Alexander Sosna, Adrian Vondendriesch credativ GmbH 23 / 33
Backups - Basiskonfiguration
I Vorbereitete postgresql.conf
I Vorkonfigurierte Retention Policy
I Vorbereitete Systemd-Timer
I Ad-hoc Backups moglich
I Aktivierung durch Webinterface
Alexander Sosna, Adrian Vondendriesch credativ GmbH 24 / 33
Logauswertung
Generierung von HTML Reports via pgBadger.
I Aufarbeitung der Logdateien, z.B.:
I FehlermeldungenI Statement Laufzeit
(log min duration statement)I Verbindungen uber Zeitraum
I Automatische Generierung:
I Taglich via Systemd-TimerI Ad-Hoc via WebinterfaceI Fur jeden Cluster
Alexander Sosna, Adrian Vondendriesch credativ GmbH 25 / 33
System Management
Via Cockpit.
I Verwaltung von Services (start, stop,enable, disable)
I Review und Einspielen von Updates
I Journal Liveview
I User Administration
Alexander Sosna, Adrian Vondendriesch credativ GmbH 26 / 33
Plattformen und Architekturen
Aktuell nur Debian 9 (Stretch)
I x86 64
I PPC64el
Weitere geplant:
I Ubuntu 18.04
I CentOS 7
Alexander Sosna, Adrian Vondendriesch credativ GmbH 27 / 33
Installation
I Installation via Debian Pakete
I Pakete in eigenem Repository (packages.credativ.com)
I Abhangigkeiten auf apt.postgresql.org
I Beinhaltet 3rd Party Pakete
Keine Konfiguration notig
Alexander Sosna, Adrian Vondendriesch credativ GmbH 28 / 33
Installation - Debian
Schritte
sudo apt-get install curl ca-certificates apt-transport-https
# Use official PostgreSQL repo, apt.postgresql.org
echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" | \
sudo tee -a /etc/apt/sources.list.d/pgdg.list
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# Use credativ repo, packages.credativ.com
echo "deb https://packages.credativ.com/public/postgresql/ stretch-stable main" | \
sudo tee -a /etc/apt/sources.list.d/elephant-shed.list
curl https://packages.credativ.com/public/postgresql/aptly.key | sudo apt-key add -
# Install elephant-shed
sudo apt-get update
sudo apt-get install elephant-shed
# Choose desired PostgreSQL versions to install
sudo apt-get install postgresql-10
# Every user in the group "elephant-shed" is allowed to login at the portal
# Add all needed users to this group
sudo adduser <USERNAME> elephant-shed
https://elephant-shed.io/project/debian/Alexander Sosna, Adrian Vondendriesch credativ GmbH 29 / 33
Ausprobieren
Schritte
vagrant init credativ/elephant-shed
vagrant up
https://elephant-shed.io/project/vagrant/
Alexander Sosna, Adrian Vondendriesch credativ GmbH 30 / 33
Demo
DEMO
Alexander Sosna, Adrian Vondendriesch credativ GmbH 31 / 33
Weitere Entwicklung
I Plattformen
I Ubuntu 18.04 aktuell in EntwicklungI CentOS 7 geplant fur Q3
I Bereitstellung einer postgresql-common API
I Konfigurationsanderungen via WebinterfaceI Cluster Management via Webinterface
I Kontinuierliche Aktualisierung der Komponenten
Alexander Sosna, Adrian Vondendriesch credativ GmbH 32 / 33
Fragen, Informationen und Kontakt
Fragen? Gerne auch spater!
I Alexander Sosna <[email protected]>
I Adrian Vondendriesch <[email protected]>
Weiterfuhrende Informationen
I https://elephant-shed.io
I https://credativ.de/postgresql-competence-center
I http://credativ.de/blog/postgresql-schulungen-bei-credativ
I https://thomas-krenn.com/de/loesungen/postgresql
Alexander Sosna, Adrian Vondendriesch credativ GmbH 33 / 33