Professional PostgreSQL monitoring made easy Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Professional PostgreSQL monitoring made easy Kaarel Moppel - - PowerPoint PPT Presentation
Professional PostgreSQL monitoring made easy Kaarel Moppel www.cybertec.at Kaarel Moppel www.cybertec.at Why to monitor Kaarel Moppel www.cybertec.at Failure / Downtime detection Slowness / Performance analysis Proactive
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
▶ Graphite, RRDtool, OpenTSDB
▶ Included in VM software like VMware vSphere etc Kaarel Moppel www.cybertec.at
▶ Is it a good metric?
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
▶ Cron + rsync ▶ (r)syslog(-ng), redislog
▶ DIY (Graylog, ELK, …) ▶ pgBadger ▶ Some cloud service (Loggly, Splunk, …) Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
▶ pg_stat_activity, pg_stat_replication/pg_stat_wal_receiver,
▶ Most pg_stat_* views ▶ Long uptimes cause “lag” for problem detection
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
▶ wait_event_type/wait_event (9.6+, very detailed info)
Kaarel Moppel www.cybertec.at
▶ pg_stat_progress_vacuum ▶ pg_stat_activity WHERE query LIKE ‘autovacuum%’
▶ Tip: idle_in_transaction_session_timeout /
Kaarel Moppel www.cybertec.at
▶ Log collection / parsing ▶ Continuous storing of pg_stat* snapshots via some tool ▶ Alerting and trends predictions (it’s hard!)
▶ A more high level concept, requires some trust / lock-in ▶ AppDynamics, New Relic, DataDog, … Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
▶ Cloud / SaaS ▶ DIY Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
Kaarel Moppel www.cybertec.at
▶ Docker
▶ No extensions for main functionality
▶ SQL metrics
Kaarel Moppel www.cybertec.at
▶ Go
▶ Postgres
▶ InfmuxDB (Graphite possible)
▶ Python / Bootstrap
▶ Grafana Kaarel Moppel www.cybertec.at
▶ Default cover almost all pg_stat* views ▶ Test database (possible to disable) as playground
▶ Added/changed/deleted table/index/sproc/confjg events
▶ Grafana ▶ Kapacitor (“K” from InfmuxData’s TICK stack)
▶ Email ▶ PagerDuty ▶ Slack ▶ Web hooks ▶ Kafka ▶ …
▶ Extensive math/string processing support ▶ Statistical data mangling ▶ UDF-s ▶ Alert topics - pub/sub ▶ Stream caching (e.g. last 10min moving average) ▶ Stream redirection - store transformed data back into InfmuxDB
▶ Better wrappers for cpu, disk, mem
▶ Web UI has pg_stat_statements overview