Room: Renacimiento I
PGObserver (FOSS) was developed to monitor performance metrics of Zalando's PostgreSQL clusters. Due to our heavy use of stored procedures (weekly API schemas) the initial focus was on monitoring and displaying runtime performance of procedures. But now in the forthcoming version 2.0, besides usability and performance improvements, we have enhanced the tool to also encompass other performance and maintenance aspects like for example detection of blocked backends and ineffective indexing. Also we have added some analytics to monitor unexpected metric jumps and provide a REST style API to enable for example integration with general monitoring/alerting tools like Icinga/Nagios.
The talk would explain the principles and setup of the framework (frontend + data gathering daemon + optional analytics CRONs), definition of hosts/metrics to be watched and a tour on displaying single features/metrics in detail.
Metrics currently available: - CPU load - Total sproc load / single sproc load - Top sprocs by total/avg runtime or call count - WAL volumes - Week-on-week comparison on load, DB sizes and WAL volumes - Number of blocking locks - Database/Table/Index sizes - Detailed usage of tables, indexes, schemas, listing of unused ones - Top consumers of resources based on Pg_stat_statement (includes also simple SQL statements) - Analytical checks detecting significant changes in procedure runtimes, sequential scan counts, cache misses