• No results found

Keep an eye on your PostgreSQL clusters

N/A
N/A
Protected

Academic year: 2021

Share "Keep an eye on your PostgreSQL clusters"

Copied!
39
0
0

Loading.... (view fulltext now)

Full text

(1)

Keep an eye on your

PostgreSQL clusters

Open PostgreSQL Monitoring & PostgreSQL

Workload Analyzer

Julien Rouhaud

Dalibo -www.dalibo.org

pgconf.ru 2015 - February

(2)

Monitoring ?

I Service availability

I Service, host, network... I Alerting

I Service performance

I Graphing I Trending I Analysis

(3)

At what cost ?

I Open source projects

(4)

What already exists

I Different kind of tools

I Command line tools / datasources I Generic solutions with probes I Dedicated solutions

(5)

Command line

And data sources

I Nice features

I But more useful for emergency situations

I Or need some external tool for best usage

(6)

Command line

Some examples I command line I pg_view I pg_activity I pgstats I Data source

I all pg_stat* catalog

I pg_stat_statements, pg_stat_plans I pg_proctab

(7)

Probe

I Gather informations for another tool

I Can usually be used in standalone

(8)

Probe

Example

I check_postgres

(9)

Dedicated solution

I Complete for its purpose

I More pertinent

I But not numerous

(10)

OPM and PoWA ?

I OPM

I aim to be a dedicated solution

I relies on existing or new probes and components

I PoWA

(11)

Ecosystem

Generic solution based on probes

Name Native graphing Alerting

Nagios No Yes

Zabbix Yes Yes

Munin Yes Yes

Cacti Yes No

(12)

General Overview

I Pros

I Robust and mature I Adaptable

I Extendable

I Cons

I UI not flexible

I Data not available for querying

I Except check_postgres, lack of really complete

(13)

Nagios

Specific

I Graphing (with third part tool like OPM V2)

I PostgreSQL compatibility with

I check_postgres (Bucardo) I check_pg_activity (OPM)

I Hard to configure

(14)

Zabbix

Overview

I PostgreSQL compatibility with

I pg_monz (only PG 9.2+) I postbix (no news since 2013)

(15)

Munin

Overview

I Native PostgreSQL compatibility, and with

I pyMunin

(16)

Cacti

Overview

I PostgreSQL compatibility with

I Some workaround with check_postgres (MRTG

(17)

What about OPM

I And for Open PostgreSQL Monitoring ?

(18)

OPM

Architecture I Nagios I Scheduler I Alerting I Probes I PG specific : check_pgactivity I And monitoring-plugin I Storage I PostgreSQL :) I 9.3 or more I GUI Dedicated GUI

(19)

OPM

Overview

(20)

check_pgactivity

Design

I Written from scratch, simpler code

I Provide lots of services

I Handle a small cache

(21)

check_pgactivity

New features

I Handle multi-database connections transparently

I Can compute delta instead of raw values

I Handle units

(22)

check_pgactivity

New service examples

I bgwriter statistics

I better bloat estimation

(23)

check_pgactivity

Enhanced service

I better bloat estimation

I replication : pg_stat_replication or hot standby

I "Instant" hit ratio

(24)

User interface

I Specific ACL

I More modern graphs

(25)

Ecosystem

Specific solution

Name Maintained Aim Alerting

pg_statsinfo Yes Generalist Possible

pg_watch Dead ? Generalist No

pgObserver Yes Performance No

pgCluu Yes Generalist No

PoWA Yes Performance No

(26)

pg_statsinfo

Pros & cons

I Pros

I Useful metrics

I Cons

I Reports on demand

I Needs specific extension and reboot on each

(27)

pgObserver

Pros & cons

I Pros

I Useful metrics

I And novel metrics (like stored proc) I Dynamic reports

I Cons

I Focused on performance

(28)

pgCluu

Pros & cons

I Pros

I Useful metrics I General overview I Easy to use

I Cons

I Can be storage greedy I Need to generate reports

(29)

PoWA 2.0

I A complete solution

I Handle a lot of datasource

I Requires PG 9.4 or more

I requires queryid exposure, since

pg_stat_statements 1.2

(30)

What is PoWA

I A background worker

I Dedicated snapshot, aggregation and purge functions

(31)

PoWA

Extensions handled I Existing extensions I pg_stat_statements I pg_proctab (WIP) I New one I pg_qualstats I pg_stat_kcache I pg_track_settings (WIP) [ 31 / 39 ]

(32)

pg_qualstats

Presentation

I Gather real-time statistics on where clauses per

query I SeqScan / indexScan I Operator I Number of execution I Filter ratio I . . .

(33)

pg_qualstats

What it allows

I Find missing indexes

I Which could be partial

I Or on several columns if some other queries could

benefit from it

I . . .

(34)

pg_qualstats

What it allows

I EXPLAIN normalized queries with real values

I Most frequents I Most/Least filtering I . . .

(35)

pg_stat_kcache

Presentation

I Gather real-time per query system statistics

(36)

pg_stat_kcache

What it allows

I Compute a real hit ratio (shared_buffers, system cache and disk)

I Show CPU consumption

I global, per database and/or per query and/or per

user

(37)

Demo

I

(38)

For the future

I Nagios optional from OPM

I Add ability to handle PoWA in OPM I Better use of metrics

I Trending / statistic analysis I Correlate informations

I Better index suggestion, global database analysis

(39)

Questions ?

I julien.rouhaud@dalibo.com I contact@opm.io - powa@dalibo.com I github.com/OPMDG -github.com/dalibo/powa I Thank you ! [ 39 / 39 ]

References

Related documents

Capacity Building at State Level (SeMT) would inter alia strengthen the secretariat of the SeGP Apex Committee under the Secretary (IT) or any other secretary nominated by the

CSR will access itinerary information as provided by client – which usually contains dates locations, referral phone number, registration deadline dates, etc. ADDITIONAL

BIG DATA SOURCES • Dimensions • Transactions • Relationships REFERENCE DATA • Customers • Products • Procedures • Patients • Client files converted to standardized

MFIs provide this service in its course of providing various financial services such as microcredit, savings, insurance and fund transfers to micro-entrepreneurs and small

For example your database server's name is dbserver, PostgreSQL is accepting connections on port 12345, the database name is chemdb and the user is joe with password xyz, then

• jdk1.8: Oracle Java 8 environment from OpenNMS respository • postgresql: PostgreSQL database server from distribution repository • postgresql-libs: PostgreSQL database

This paper presents a case study of a small set of Dutch particles and the clusters formed from these items, in particular best ‘best,’ wel ‘well,’ eens ‘once,’ best wel , best

fastballs SOCK Program LEG BANDS – 15 pitches with lighter ball, next level band Pitching – 30 min. fastballs Pitching – Regular workout using lighter ball or Zip Balls for