This module periodically fetches metrics from PostgreSQL servers.
Default metricsets are activity
, bgwriter
and database
.
The PostgreSQL module comes with a predefined dashboard showing databse related metrics. For example:
When configuring the hosts
option, you must use Postgres URLs of the following
format:
[postgres://][user:pass@]host[:port][?options]
The URL can be as simple as:
- module: postgresql
hosts: ["postgres://localhost"]
Or more complex like:
- module: postgresql
hosts: ["postgres://localhost:40001?sslmode=disable", "postgres://otherhost:40001"]
You can also separately specify the username and password using the respective
configuration options. Usernames and passwords specified in the URL take
precedence over those specified in the username
and password
config options.
- module: postgresql
metricsets: ["status"]
hosts: ["postgres://localhost:5432"]
username: root
password: test
This module was tested with PostgreSQL 9.5.3 and is expected to work with all versions >= 9.
The PostgreSQL module supports the standard configuration options that are described in [configuration-metricbeat]. Here is an example configuration:
metricbeat.modules:
- module: postgresql
enabled: true
metricsets:
# Stats about every PostgreSQL database
- database
# Stats about the background writer process's activity
- bgwriter
# Stats about every PostgreSQL process
- activity
period: 10s
# The host must be passed as PostgreSQL URL. Example:
# postgres://localhost:5432?sslmode=disable
# The available parameters are documented here:
# https://godoc.org/github.com/lib/pq#hdr-Connection_String_Parameters
hosts: ["postgres://localhost:5432"]
# Username to use when connecting to PostgreSQL. Empty by default.
#username: user
# Password to use when connecting to PostgreSQL. Empty by default.
#password: pass
The following metricsets are available: