prometheus-community / postgres_exporter

A PostgreSQL metric exporter for Prometheus
Apache License 2.0
2.74k stars 728 forks source link

missing pg_stat_statements #674

Open john047 opened 2 years ago

john047 commented 2 years ago

What did you do? istalled postgres_exporter

What did you expect to see? metrics of pg_stat_statements

What did you see instead? Under which circumstances? pg_stat_statements missing by curl localhost:9187/metrics

Environment Ubuntu 20.04.4 LTS

postgres_exporter, version 0.11.0 (branch: HEAD, revision: 58cc383e8c7f1df12bf29f7f16d32025f44af12c)
build user:       root@e4cb8260868d
build date:       20220728-12:59:17
go version:       go1.18.4
platform:         linux/amd64
insert list of flags used here
apampurin commented 1 year ago

Hi! A year without messages, but I got the same issue. I'm using postgres-exporter:v0.13.2 image with --collector.stat_statements argument. This is starting debug log output:

ts=2023-08-15T10:34:08.189Z caller=main.go:86 level=warn msg="Error loading config" err="Error opening config file \"postgres_exporter.yml\": open postgres_exporter.yml: no such file or directory"
ts=2023-08-15T10:34:08.189Z caller=proc.go:250 msg="Excluded databases" databases=[]
ts=2023-08-15T10:34:08.190Z caller=main.go:142 level=warn msg="Failed to create PostgresCollector" err="dial tcp 127.0.0.1:5432: connect: connection refused"
ts=2023-08-15T10:34:08.191Z caller=tls_config.go:274 level=info msg="Listening on" address=[::]:9187
ts=2023-08-15T10:34:08.191Z caller=tls_config.go:277 level=info msg="TLS is disabled." http2=false address=[::]:9187
ts=2023-08-15T10:34:41.234Z caller=server.go:74 level=info msg="Established new database connection" fingerprint=127.0.0.1:5432
ts=2023-08-15T10:34:41.258Z caller=postgres_exporter.go:594 level=debug msg="Querying PostgreSQL version" server=127.0.0.1:5432
ts=2023-08-15T10:34:41.259Z caller=postgres_exporter.go:622 level=info msg="Semantic version changed" server=127.0.0.1:5432 from=0.0.0 to=15.2.0
ts=2023-08-15T10:34:41.259Z caller=postgres_exporter.go:296 level=debug msg="Column is being forced to discard due to version incompatibility" column=sent_location
ts=2023-08-15T10:34:41.259Z caller=postgres_exporter.go:296 level=debug msg="Column is being forced to discard due to version incompatibility" column=replay_location
ts=2023-08-15T10:34:41.259Z caller=postgres_exporter.go:296 level=debug msg="Column is being forced to discard due to version incompatibility" column=pg_xlog_location_diff
ts=2023-08-15T10:34:41.259Z caller=postgres_exporter.go:296 level=debug msg="Column is being forced to discard due to version incompatibility" column=flush_location
ts=2023-08-15T10:34:41.259Z caller=postgres_exporter.go:296 level=debug msg="Column is being forced to discard due to version incompatibility" column=write_location
ts=2023-08-15T10:34:41.259Z caller=postgres_exporter.go:296 level=debug msg="Column is being forced to discard due to version incompatibility" column=procpid
ts=2023-08-15T10:34:41.259Z caller=pg_setting.go:35 level=debug msg="Querying pg_setting view" server=127.0.0.1:5432
ts=2023-08-15T10:34:41.263Z caller=namespace.go:193 level=debug msg="Querying namespace" namespace=pg_replication_slots
ts=2023-08-15T10:34:41.267Z caller=namespace.go:193 level=debug msg="Querying namespace" namespace=pg_stat_archiver
ts=2023-08-15T10:34:41.270Z caller=namespace.go:193 level=debug msg="Querying namespace" namespace=pg_stat_activity
ts=2023-08-15T10:34:41.278Z caller=namespace.go:193 level=debug msg="Querying namespace" namespace=pg_stat_database_conflicts
ts=2023-08-15T10:34:41.279Z caller=namespace.go:193 level=debug msg="Querying namespace" namespace=pg_locks
ts=2023-08-15T10:34:41.282Z caller=namespace.go:193 level=debug msg="Querying namespace" namespace=pg_stat_replication
ts=2023-08-15T10:35:41.247Z caller=postgres_exporter.go:594 level=debug msg="Querying PostgreSQL version" server=127.0.0.1:5432

Only related metrics I can find:

# HELP pg_settings_pg_stat_statements_max Server Parameter: pg_stat_statements.max
# TYPE pg_settings_pg_stat_statements_max gauge
pg_settings_pg_stat_statements_max{server="127.0.0.1:5432"} 5000
# HELP pg_settings_pg_stat_statements_save Server Parameter: pg_stat_statements.save
# TYPE pg_settings_pg_stat_statements_save gauge
pg_settings_pg_stat_statements_save{server="127.0.0.1:5432"} 1
# HELP pg_settings_pg_stat_statements_track_planning Server Parameter: pg_stat_statements.track_planning
# TYPE pg_settings_pg_stat_statements_track_planning gauge
pg_settings_pg_stat_statements_track_planning{server="127.0.0.1:5432"} 0
# HELP pg_settings_pg_stat_statements_track_utility Server Parameter: pg_stat_statements.track_utility
# TYPE pg_settings_pg_stat_statements_track_utility gauge
pg_settings_pg_stat_statements_track_utility{server="127.0.0.1:5432"} 0
SuperQ commented 1 year ago

This was fixed in https://github.com/prometheus-community/postgres_exporter/pull/876 but the fix has not been released yet.