mirror of
https://github.com/helm/charts.git
synced 2026-08-19 12:27:02 +00:00
* [stable/prometheus-postgres-exporter] Add support to configure datasource from secret in Kubernetes Signed-off-by: Nick Metz <nick.metz@ptvgroup.com> * fix typo in values.yaml Signed-off-by: Nick Metz <nick.metz@ptvgroup.com>
312 lines
13 KiB
YAML
312 lines
13 KiB
YAML
# Default values for prometheus-postgres-exporter.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
replicaCount: 1
|
|
|
|
image:
|
|
repository: wrouesnel/postgres_exporter
|
|
tag: v0.8.0
|
|
pullPolicy: IfNotPresent
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 80
|
|
targetPort: 9187
|
|
name: http
|
|
labels: {}
|
|
annotations: {}
|
|
|
|
serviceMonitor:
|
|
# When set true then use a ServiceMonitor to configure scraping
|
|
enabled: false
|
|
# Set the namespace the ServiceMonitor should be deployed
|
|
# namespace: monitoring
|
|
# Set how frequently Prometheus should scrape
|
|
# interval: 30s
|
|
# Set path to cloudwatch-exporter telemtery-path
|
|
# telemetryPath: /metrics
|
|
# Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator
|
|
# labels:
|
|
# Set timeout for scrape
|
|
# timeout: 10s
|
|
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
rbac:
|
|
# Specifies whether RBAC resources should be created
|
|
create: true
|
|
# Specifies whether a PodSecurityPolicy should be created
|
|
pspEnabled: true
|
|
serviceAccount:
|
|
# Specifies whether a ServiceAccount should be created
|
|
create: true
|
|
# The name of the ServiceAccount to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name:
|
|
|
|
securityContext: {}
|
|
# The securityContext this Pod should use. See https://kubernetes.io/docs/concepts/policy/security-context/ for more.
|
|
# runAsUser: 65534
|
|
|
|
config:
|
|
datasource:
|
|
# Specify one of both datasource or datasourceSecret
|
|
host:
|
|
user: postgres
|
|
# Only one of password and passwordSecret can be specified
|
|
password: somepassword
|
|
# Specify passwordSecret if DB password is stored in secret.
|
|
passwordSecret: {}
|
|
# Secret name
|
|
# name:
|
|
# Password key inside secret
|
|
# key:
|
|
port: "5432"
|
|
database: ''
|
|
sslmode: disable
|
|
datasourceSecret: {}
|
|
# Specifies if datasource should be sourced from secret value in format: postgresql://login:password@hostname:port/dbname?sslmode=disable
|
|
# Multiple Postgres databases can be configured by comma separated postgres connection strings
|
|
# Secret name
|
|
# name:
|
|
# Connection string key inside secret
|
|
# key:
|
|
disableDefaultMetrics: false
|
|
disableSettingsMetrics: false
|
|
autoDiscoverDatabases: false
|
|
excludeDatabases: []
|
|
# this are the defaults queries that the exporter will run, extracted from: https://github.com/wrouesnel/postgres_exporter/blob/master/queries.yaml
|
|
queries: |-
|
|
pg_replication:
|
|
query: "SELECT EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp())) as lag"
|
|
master: true
|
|
metrics:
|
|
- lag:
|
|
usage: "GAUGE"
|
|
description: "Replication lag behind master in seconds"
|
|
|
|
pg_postmaster:
|
|
query: "SELECT pg_postmaster_start_time as start_time_seconds from pg_postmaster_start_time()"
|
|
master: true
|
|
metrics:
|
|
- start_time_seconds:
|
|
usage: "GAUGE"
|
|
description: "Time at which postmaster started"
|
|
|
|
pg_stat_user_tables:
|
|
query: "SELECT current_database() datname, schemaname, relname, seq_scan, seq_tup_read, idx_scan, idx_tup_fetch, n_tup_ins, n_tup_upd, n_tup_del, n_tup_hot_upd, n_live_tup, n_dead_tup, n_mod_since_analyze, COALESCE(last_vacuum, '1970-01-01Z'), COALESCE(last_vacuum, '1970-01-01Z') as last_vacuum, COALESCE(last_autovacuum, '1970-01-01Z') as last_autovacuum, COALESCE(last_analyze, '1970-01-01Z') as last_analyze, COALESCE(last_autoanalyze, '1970-01-01Z') as last_autoanalyze, vacuum_count, autovacuum_count, analyze_count, autoanalyze_count FROM pg_stat_user_tables"
|
|
metrics:
|
|
- datname:
|
|
usage: "LABEL"
|
|
description: "Name of current database"
|
|
- schemaname:
|
|
usage: "LABEL"
|
|
description: "Name of the schema that this table is in"
|
|
- relname:
|
|
usage: "LABEL"
|
|
description: "Name of this table"
|
|
- seq_scan:
|
|
usage: "COUNTER"
|
|
description: "Number of sequential scans initiated on this table"
|
|
- seq_tup_read:
|
|
usage: "COUNTER"
|
|
description: "Number of live rows fetched by sequential scans"
|
|
- idx_scan:
|
|
usage: "COUNTER"
|
|
description: "Number of index scans initiated on this table"
|
|
- idx_tup_fetch:
|
|
usage: "COUNTER"
|
|
description: "Number of live rows fetched by index scans"
|
|
- n_tup_ins:
|
|
usage: "COUNTER"
|
|
description: "Number of rows inserted"
|
|
- n_tup_upd:
|
|
usage: "COUNTER"
|
|
description: "Number of rows updated"
|
|
- n_tup_del:
|
|
usage: "COUNTER"
|
|
description: "Number of rows deleted"
|
|
- n_tup_hot_upd:
|
|
usage: "COUNTER"
|
|
description: "Number of rows HOT updated (i.e., with no separate index update required)"
|
|
- n_live_tup:
|
|
usage: "GAUGE"
|
|
description: "Estimated number of live rows"
|
|
- n_dead_tup:
|
|
usage: "GAUGE"
|
|
description: "Estimated number of dead rows"
|
|
- n_mod_since_analyze:
|
|
usage: "GAUGE"
|
|
description: "Estimated number of rows changed since last analyze"
|
|
- last_vacuum:
|
|
usage: "GAUGE"
|
|
description: "Last time at which this table was manually vacuumed (not counting VACUUM FULL)"
|
|
- last_autovacuum:
|
|
usage: "GAUGE"
|
|
description: "Last time at which this table was vacuumed by the autovacuum daemon"
|
|
- last_analyze:
|
|
usage: "GAUGE"
|
|
description: "Last time at which this table was manually analyzed"
|
|
- last_autoanalyze:
|
|
usage: "GAUGE"
|
|
description: "Last time at which this table was analyzed by the autovacuum daemon"
|
|
- vacuum_count:
|
|
usage: "COUNTER"
|
|
description: "Number of times this table has been manually vacuumed (not counting VACUUM FULL)"
|
|
- autovacuum_count:
|
|
usage: "COUNTER"
|
|
description: "Number of times this table has been vacuumed by the autovacuum daemon"
|
|
- analyze_count:
|
|
usage: "COUNTER"
|
|
description: "Number of times this table has been manually analyzed"
|
|
- autoanalyze_count:
|
|
usage: "COUNTER"
|
|
description: "Number of times this table has been analyzed by the autovacuum daemon"
|
|
|
|
pg_statio_user_tables:
|
|
query: "SELECT current_database() datname, schemaname, relname, heap_blks_read, heap_blks_hit, idx_blks_read, idx_blks_hit, toast_blks_read, toast_blks_hit, tidx_blks_read, tidx_blks_hit FROM pg_statio_user_tables"
|
|
metrics:
|
|
- datname:
|
|
usage: "LABEL"
|
|
description: "Name of current database"
|
|
- schemaname:
|
|
usage: "LABEL"
|
|
description: "Name of the schema that this table is in"
|
|
- relname:
|
|
usage: "LABEL"
|
|
description: "Name of this table"
|
|
- heap_blks_read:
|
|
usage: "COUNTER"
|
|
description: "Number of disk blocks read from this table"
|
|
- heap_blks_hit:
|
|
usage: "COUNTER"
|
|
description: "Number of buffer hits in this table"
|
|
- idx_blks_read:
|
|
usage: "COUNTER"
|
|
description: "Number of disk blocks read from all indexes on this table"
|
|
- idx_blks_hit:
|
|
usage: "COUNTER"
|
|
description: "Number of buffer hits in all indexes on this table"
|
|
- toast_blks_read:
|
|
usage: "COUNTER"
|
|
description: "Number of disk blocks read from this table's TOAST table (if any)"
|
|
- toast_blks_hit:
|
|
usage: "COUNTER"
|
|
description: "Number of buffer hits in this table's TOAST table (if any)"
|
|
- tidx_blks_read:
|
|
usage: "COUNTER"
|
|
description: "Number of disk blocks read from this table's TOAST table indexes (if any)"
|
|
- tidx_blks_hit:
|
|
usage: "COUNTER"
|
|
description: "Number of buffer hits in this table's TOAST table indexes (if any)"
|
|
|
|
pg_database:
|
|
query: "SELECT pg_database.datname, pg_database_size(pg_database.datname) as size FROM pg_database"
|
|
master: true
|
|
cache_seconds: 30
|
|
metrics:
|
|
- datname:
|
|
usage: "LABEL"
|
|
description: "Name of the database"
|
|
- size_bytes:
|
|
usage: "GAUGE"
|
|
description: "Disk space used by the database"
|
|
|
|
pg_stat_statements:
|
|
query: "SELECT t2.rolname, t3.datname, queryid, calls, total_time / 1000 as total_time_seconds, min_time / 1000 as min_time_seconds, max_time / 1000 as max_time_seconds, mean_time / 1000 as mean_time_seconds, stddev_time / 1000 as stddev_time_seconds, rows, shared_blks_hit, shared_blks_read, shared_blks_dirtied, shared_blks_written, local_blks_hit, local_blks_read, local_blks_dirtied, local_blks_written, temp_blks_read, temp_blks_written, blk_read_time / 1000 as blk_read_time_seconds, blk_write_time / 1000 as blk_write_time_seconds FROM pg_stat_statements t1 join pg_roles t2 on (t1.userid=t2.oid) join pg_database t3 on (t1.dbid=t3.oid)"
|
|
master: true
|
|
metrics:
|
|
- rolname:
|
|
usage: "LABEL"
|
|
description: "Name of user"
|
|
- datname:
|
|
usage: "LABEL"
|
|
description: "Name of database"
|
|
- queryid:
|
|
usage: "LABEL"
|
|
description: "Query ID"
|
|
- calls:
|
|
usage: "COUNTER"
|
|
description: "Number of times executed"
|
|
- total_time_seconds:
|
|
usage: "COUNTER"
|
|
description: "Total time spent in the statement, in milliseconds"
|
|
- min_time_seconds:
|
|
usage: "GAUGE"
|
|
description: "Minimum time spent in the statement, in milliseconds"
|
|
- max_time_seconds:
|
|
usage: "GAUGE"
|
|
description: "Maximum time spent in the statement, in milliseconds"
|
|
- mean_time_seconds:
|
|
usage: "GAUGE"
|
|
description: "Mean time spent in the statement, in milliseconds"
|
|
- stddev_time_seconds:
|
|
usage: "GAUGE"
|
|
description: "Population standard deviation of time spent in the statement, in milliseconds"
|
|
- rows:
|
|
usage: "COUNTER"
|
|
description: "Total number of rows retrieved or affected by the statement"
|
|
- shared_blks_hit:
|
|
usage: "COUNTER"
|
|
description: "Total number of shared block cache hits by the statement"
|
|
- shared_blks_read:
|
|
usage: "COUNTER"
|
|
description: "Total number of shared blocks read by the statement"
|
|
- shared_blks_dirtied:
|
|
usage: "COUNTER"
|
|
description: "Total number of shared blocks dirtied by the statement"
|
|
- shared_blks_written:
|
|
usage: "COUNTER"
|
|
description: "Total number of shared blocks written by the statement"
|
|
- local_blks_hit:
|
|
usage: "COUNTER"
|
|
description: "Total number of local block cache hits by the statement"
|
|
- local_blks_read:
|
|
usage: "COUNTER"
|
|
description: "Total number of local blocks read by the statement"
|
|
- local_blks_dirtied:
|
|
usage: "COUNTER"
|
|
description: "Total number of local blocks dirtied by the statement"
|
|
- local_blks_written:
|
|
usage: "COUNTER"
|
|
description: "Total number of local blocks written by the statement"
|
|
- temp_blks_read:
|
|
usage: "COUNTER"
|
|
description: "Total number of temp blocks read by the statement"
|
|
- temp_blks_written:
|
|
usage: "COUNTER"
|
|
description: "Total number of temp blocks written by the statement"
|
|
- blk_read_time_seconds:
|
|
usage: "COUNTER"
|
|
description: "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero)"
|
|
- blk_write_time_seconds:
|
|
usage: "COUNTER"
|
|
description: "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero)"
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
annotations: {}
|
|
|
|
podLabels: {}
|
|
|
|
# Additional sidecar containers, e. g. for a database proxy, such as Google's cloudsql-proxy
|
|
extraContainers: |
|
|
|
|
# Additional volumes, e. g. for secrets used in an extraContainer
|
|
extraVolumes: |
|