Skip to content

Obfuscate passwords in DSN logs #1042

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
drewwells opened this issue Jun 10, 2024 · 14 comments · Fixed by #1104
Closed

Obfuscate passwords in DSN logs #1042

drewwells opened this issue Jun 10, 2024 · 14 comments · Fixed by #1104

Comments

@drewwells
Copy link

Proposal

Use case. Why is this important?
We don't want to log our database passwords in our logs. Add a feature to remove passwords when logging out DSN. If there's other auth methods for exporter, maybe it's sufficient to document that using DSN with password will include the password in the log.

@sysadmind
Copy link
Contributor

Can you provide an example redacted log entry? That would help narrow down the bad code. I can't find anywhere that doesn't redact the password when logging.

@EvertonCalgarotto
Copy link

here you have one:
ts=2024-06-05T07:34:28.288Z caller=postgres_exporter.go:731 level=error err="Error opening connection to database (host=XXX%20port=5432%20user=YYY%20password=ZZZ%20dbname=AAA%20sslmode=require): pq: password authentication failed for user \"YYY\""

@sysadmind
Copy link
Contributor

@EvertonCalgarotto That log entry looks like it's from an old version of the exporter. What version are you using?

@EvertonCalgarotto
Copy link

v0.10.1

@sysadmind
Copy link
Contributor

v0.10.1 is very old. The most recent is v0.15.0. That log entry should not happen on the most recent version.

@sysadmind
Copy link
Contributor

It looks like the cause there is that the old redaction func is not accounting for the key=value style of DSN. The newer structures for DSN do account for this.

The best thing to do here on the code side would probably be to parse this into the DSN and use the String() func from that.

Short term, you could use a URL style connection string which should redact this (postgres://username:password@host/?params)

@drewwells
Copy link
Author

drewwells commented Jun 10, 2024

Ah okay, so if we used the more modern dsn, we would not be seeing the passwords in our logs?

is this the new format you're referring to?
postgres://<username>:<password>@<host>:<port>/<database>?sslmode=require

@sysadmind
Copy link
Contributor

Yes with that format you should not be seeing the password. I believe that the format you reference is correct.

That said, this should still be resolved in code.

@gabrielmuras
Copy link

@drewwells Have you solved using this new format with DATA_SOURCE_NAME environment variable?

I'm facing similar problem because but slight different. The password is indeed obfuscated in the err message. But then it outputs as plain text in the dsn message.

time=2024-12-04T16:02:30.720Z level=ERROR source=postgres_exporter.go:681 msg="error scraping dsn" err="Error opening connection to database (postgres://postgres_exporter:PASSWORD_REMOVED@host:5432/database?sslmode=require): dial tcp server:5432: connect: connection timed out" dsn="postgres://postgres_exporter:PLAIN_TEXT_PASSWORD@host:5432/database?sslmode=require"

@drewwells
Copy link
Author

I think you're running a different version than us. We're still on v0.10.1

DSN format of connection string is obfuscated. We're not getting the same type of error you are so unsure if that fixes it for you.

@gabrielmuras
Copy link

Thanks for quick response. I'm using v0.16 and I think that I found the error. It seem to be introduced here #1073

https://github.com/prometheus-community/postgres_exporter/blob/master/cmd/postgres_exporter/postgres_exporter.go#L681 (v0.16.0)

https://github.com/prometheus-community/postgres_exporter/blob/v0.15.0/cmd/postgres_exporter/postgres_exporter.go#L682 (v0.15.0)

It solved my issue using the v0.15. Maybe we should remove this dsn output or use the loggableDSN function to avoid this error

@drewwells
Copy link
Author

I see that in v0.16, good find. I opened a ticket to upgrade to v0.16 today and Ill move that back to TBD :)

@Schmaetz
Copy link

I can't see a solution in release 0.16.0.
The problem still occurs with some errors.
Is it a mistake on my side or do we have a bug here?

time=2024-12-17T16:06:52.654Z level=ERROR source=postgres_exporter.go:681 msg="error scraping dsn" err="queryNamespaceMappings returned 1 errors" dsn="postgresql://exporter:qSqIJ5XoqmxO0U8vRmoNGdGJ4XfXLmMlcC5PSWXHgKwghMi6OaNppOuDndRL1iXY@localhost:5432/postgres?sslmode=disable"

From my point of view its a bug.

Best regards

sysadmind added a commit to sysadmind/postgres_exporter that referenced this issue Dec 22, 2024
This log line was not sanitized previously which could result in logging sensitive information. I have scanned the rest of the files and I don't see anywhere else that DSN is used in a log line without this filter.

Resolves prometheus-community#1042

Signed-off-by: Joe Adams <[email protected]>
SuperQ pushed a commit that referenced this issue Feb 15, 2025
This log line was not sanitized previously which could result in logging sensitive information. I have scanned the rest of the files and I don't see anywhere else that DSN is used in a log line without this filter.

Resolves #1042

Signed-off-by: Joe Adams <[email protected]>
Sticksman added a commit to Sticksman/postgres_exporter that referenced this issue Apr 24, 2025
* Update common Prometheus files (prometheus-community#913)

Signed-off-by: prombot <[email protected]>

* Add changelog for v0.14 (prometheus-community#906)

* Add changelog for v0.14

- Add changelog entries since v0.13.2
- Update README with new options
- Bump version file

Signed-off-by: Joe Adams <[email protected]>

* Add changelog entry for prometheus-community#904

Signed-off-by: Joe Adams <[email protected]>

---------

Signed-off-by: Joe Adams <[email protected]>

* Adds 1kB and 2kB units (prometheus-community#915)

Signed-off-by: Eric tyrrell <[email protected]>

* Add error log when probe collector creation fails (prometheus-community#918)

Signed-off-by: Joe Adams <[email protected]>

* Fix test build failures on 32-bit arch again (prometheus-community#919)

Another case of untyped integer overflows on 32-bit arch.

Signed-off-by: Daniel Swarbrick <[email protected]>

* Add 32-bit testing to CI (prometheus-community#920)

Run Go tests with 32-bit to validate value overflow.

Signed-off-by: SuperQ <[email protected]>

* Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 (prometheus-community#925)

* Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.16.0...v1.17.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update tests for latest client_golang.

Signed-off-by: SuperQ <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: SuperQ <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: SuperQ <[email protected]>

* Update common Prometheus files (prometheus-community#926)

Signed-off-by: prombot <[email protected]>

* Adjust collector to use separate connection per scrape (prometheus-community#931)

Fixes prometheus-community#921

Signed-off-by: Joe Adams <[email protected]>

* Bump golang.org/x/net from 0.10.0 to 0.17.0 (prometheus-community#936)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.10.0 to 0.17.0.
- [Commits](golang/net@v0.10.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Release v0.15.0 (prometheus-community#944)

* [ENHANCEMENT] Add 1kB and 2kB units prometheus-community#915
* [BUGFIX] Add error log when probe collector creation fails prometheus-community#918
* [BUGFIX] Fix test build failures on 32-bit arch prometheus-community#919
* [BUGFIX] Adjust collector to use separate connection per scrape prometheus-community#936

Signed-off-by: SuperQ <[email protected]>

* Update common Prometheus files (prometheus-community#951)

Signed-off-by: prombot <[email protected]>

* Update common Prometheus files (prometheus-community#963)

Signed-off-by: prombot <[email protected]>

* pg_replication_slot: add slot type label (prometheus-community#960)

Signed-off-by: Alex Simenduev <[email protected]>

* Bump github.com/prometheus/common from 0.44.0 to 0.45.0 (prometheus-community#948)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.44.0 to 0.45.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](prometheus/common@v0.44.0...v0.45.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/prometheus/client_model (prometheus-community#949)

Bumps [github.com/prometheus/client_model](https://github.com/prometheus/client_model) from 0.4.1-0.20230718164431-9a2bf3000d16 to 0.5.0.
- [Release notes](https://github.com/prometheus/client_model/releases)
- [Commits](https://github.com/prometheus/client_model/commits/v0.5.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_model
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* pg_stat_database: added support for `active_time` counter (prometheus-community#961)

* feat(pg_stat_database): active time metric

---------

Signed-off-by: Jiri Sveceny <[email protected]>

* Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (prometheus-community#988)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](golang/crypto@v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 (prometheus-community#993)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.17.0 to 1.18.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.17.0...v1.18.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* use Info level for excluded databases log message (prometheus-community#1003)

This is the only log message which didn't specify a level in the
postgres_exporter. I am unsure if this log message should be info or
debug, but leaning towards the more important since previously it would
just always log.

The way I validated this was the only non-leveled logger was via grep.
Both of these only returned this callsite previously:

  git grep 'logger\.Log'
  git grep '\.Log(' | grep -v level

Signed-off-by: Keegan Carruthers-Smith <[email protected]>

* Add connection limits metrics for pg_roles and pg_database (prometheus-community#997)

* Add database connection limits metrics

Signed-off-by: Jocelyn Thode <[email protected]>

* Add roles connection limits metrics

Signed-off-by: Jocelyn Thode <[email protected]>

* Fix copyright year

Co-authored-by: Joe Adams <[email protected]>
Signed-off-by: Jocelyn Thode <[email protected]>

* Fix spacing in pgDatabaseQuery

Co-authored-by: Joe Adams <[email protected]>
Signed-off-by: Jocelyn Thode <[email protected]>

* Fix case on pgRolesConnectionLimitsQuery

Co-authored-by: Joe Adams <[email protected]>
Signed-off-by: Jocelyn Thode <[email protected]>

* Do not add roleMetrics when row is not valid

Signed-off-by: Jocelyn Thode <[email protected]>

---------

Signed-off-by: Jocelyn Thode <[email protected]>
Signed-off-by: Jocelyn Thode <[email protected]>
Co-authored-by: Joe Adams <[email protected]>

* Bump github.com/DATA-DOG/go-sqlmock from 1.5.0 to 1.5.2 (prometheus-community#1000)

Bumps [github.com/DATA-DOG/go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) from 1.5.0 to 1.5.2.
- [Release notes](https://github.com/DATA-DOG/go-sqlmock/releases)
- [Commits](DATA-DOG/go-sqlmock@v1.5.0...v1.5.2)

---
updated-dependencies:
- dependency-name: github.com/DATA-DOG/go-sqlmock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 (prometheus-community#1011)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.18.0 to 1.19.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.19.0/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.18.0...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 (prometheus-community#1010)

Bumps [github.com/prometheus/client_model](https://github.com/prometheus/client_model) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/prometheus/client_model/releases)
- [Commits](prometheus/client_model@v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_model
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (prometheus-community#1014)

Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/prometheus/exporter-toolkit from 0.10.0 to 0.11.0 (prometheus-community#992)

Bumps [github.com/prometheus/exporter-toolkit](https://github.com/prometheus/exporter-toolkit) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/prometheus/exporter-toolkit/releases)
- [Changelog](https://github.com/prometheus/exporter-toolkit/blob/master/CHANGELOG.md)
- [Commits](prometheus/exporter-toolkit@v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/exporter-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/net from 0.20.0 to 0.23.0 (prometheus-community#1021)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.20.0 to 0.23.0.
- [Commits](golang/net@v0.20.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: Add safe_wal_size and wal_status to replication_slot  (prometheus-community#1027)

* feat: Add safe_wal_size to replication_slot

Signed-off-by: MarcWort <[email protected]>

* feat: Add wal_status to replication_slot

Signed-off-by: MarcWort <[email protected]>

---------

Signed-off-by: MarcWort <[email protected]>

* fix: Only query active_time on pg>=14 (prometheus-community#1045)

Signed-off-by: MarcWort <[email protected]>

* Update README.md (prometheus-community#1038)

Better example for the quick start with prometheus config and avoiding deprecated env variables.

Signed-off-by: fhackenberger <[email protected]>

* stop logging errors on replicas, fixes prometheus-community#547 (prometheus-community#1048)

Signed-off-by: Steffen Zieger <[email protected]>

* Update common Prometheus files (prometheus-community#983)

Signed-off-by: prombot <[email protected]>

* Update common Prometheus files (prometheus-community#1076)

Signed-off-by: prombot <[email protected]>

* chore!: adopt log/slog, drop go-kit/log (prometheus-community#1073)

* ci: update go to version 1.23

Signed-off-by: TJ Hoplock <[email protected]>

* build(deps): bump prometheus/{client_golang,common,exporter-toolkit}

Signed-off-by: TJ Hoplock <[email protected]>

* chore!: adopt log/slog, drop go-kit/log

The bulk of this change set was automated by the following script which
is being used to aid in converting the various exporters/projects to use
slog:

https://gist.github.com/tjhop/49f96fb7ebbe55b12deee0b0312d8434

Signed-off-by: TJ Hoplock <[email protected]>

---------

Signed-off-by: TJ Hoplock <[email protected]>
Co-authored-by: Ben Kochie <[email protected]>

* Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (prometheus-community#1079)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.4 to 1.20.5.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.20.4...v1.20.5)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/prometheus/common from 0.60.0 to 0.60.1 (prometheus-community#1080)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.0 to 0.60.1.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.60.0...v0.60.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make walreceiver collector useful w/o repmgr (prometheus-community#1086)

In a streaming replication setup that was created without replication
manager (`repmgr`), the `stat_wal_receiver` collector does not return
any metrics, because one value it wants to export is not present.

This is rather overly opinionated. The missing metric is comparatively
uninteresting and does not justify discarding all the others. And
replication setups created without `repmgr` are not exactly rare.

This commit makes the one relevant metric optional and simply skips it
if the respective value cannot be determined.

Signed-off-by: Conrad Hoffmann <[email protected]>

* Update common Prometheus files (prometheus-community#1083)

Signed-off-by: prombot <[email protected]>

* Bump github.com/prometheus/exporter-toolkit from 0.13.0 to 0.13.1 (prometheus-community#1081)

Bumps [github.com/prometheus/exporter-toolkit](https://github.com/prometheus/exporter-toolkit) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/prometheus/exporter-toolkit/releases)
- [Changelog](https://github.com/prometheus/exporter-toolkit/blob/master/CHANGELOG.md)
- [Commits](prometheus/exporter-toolkit@v0.13.0...v0.13.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/exporter-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update common Prometheus files (prometheus-community#1087)

Signed-off-by: prombot <[email protected]>

* Update changelog and version for a v0.16.0 release (prometheus-community#1088)

Signed-off-by: Joe Adams <[email protected]>

* Fix version header in changelog (prometheus-community#1089)

Signed-off-by: Joe Adams <[email protected]>

* Update pg_long_running_transactions.go (prometheus-community#1092)

To extract time in seconds for pg_long_running_transactions_oldest_timestamp_seconds query which currently return epoch time.

Signed-off-by: Jyothi Kiran Thammana <[email protected]>

* Fix to replace dashes with underscore in the metric names (prometheus-community#1103)

* Fix to replace dashes with underscore in the metric names

Signed-off-by: aagarwalla-fx <[email protected]>

* Code style fix

Signed-off-by: aagarwalla-fx <[email protected]>

---------

Signed-off-by: aagarwalla-fx <[email protected]>

* Bump github.com/prometheus/exporter-toolkit from 0.13.1 to 0.13.2 (prometheus-community#1108)

Bumps [github.com/prometheus/exporter-toolkit](https://github.com/prometheus/exporter-toolkit) from 0.13.1 to 0.13.2.
- [Release notes](https://github.com/prometheus/exporter-toolkit/releases)
- [Changelog](https://github.com/prometheus/exporter-toolkit/blob/master/CHANGELOG.md)
- [Commits](prometheus/exporter-toolkit@v0.13.1...v0.13.2)

---
updated-dependencies:
- dependency-name: github.com/prometheus/exporter-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Checkpoint related columns in PG 17 have been moved from pg_stat_bgwriter to pg_stat_checkpointer (prometheus-community#1072)

* Checkpoint related columns in PG 17 have been moved from pg_stat_bgwriter to pg_stat_checkpointer

Fix prometheus-community#1060

See: https://www.dbi-services.com/blog/postgresql-17-new-catalog-view-pg_stat_checkpointer/
Signed-off-by: Nicolas Rodriguez <[email protected]>

* Add support for pg_stat_checkpointer

See: https://www.dbi-services.com/blog/postgresql-17-new-catalog-view-pg_stat_checkpointer/
Signed-off-by: Nicolas Rodriguez <[email protected]>

* Run integration tests with Postgres 17

Signed-off-by: Nicolas Rodriguez <[email protected]>

* Update date in file header

Signed-off-by: Nicolas Rodriguez <[email protected]>

---------

Signed-off-by: Nicolas Rodriguez <[email protected]>

* Update common Prometheus files (prometheus-community#1090)

Signed-off-by: prombot <[email protected]>

* Update common Prometheus files (prometheus-community#1110)

Signed-off-by: prombot <[email protected]>

* Add Postgres 17 for CI test (prometheus-community#1105)

Signed-off-by: Khiem Doan <[email protected]>

* Bump github.com/prometheus/common from 0.61.0 to 0.62.0 (prometheus-community#1118)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.61.0 to 0.62.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.61.0...v0.62.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update common Prometheus files (prometheus-community#1124)

Signed-off-by: prombot <[email protected]>

* pg_stat_statements PG17 (prometheus-community#1114)

Signed-off-by: Nevermind <[email protected]>

* fix: handle pg_replication_slots on pg<13 (prometheus-community#1098)

* fix: handle pg_replication_slots on pg<13

Signed-off-by: Michael Todorovic <[email protected]>

* fix: tests

Signed-off-by: Michael Todorovic <[email protected]>

---------

Signed-off-by: Michael Todorovic <[email protected]>

* feat: add wait/backend to pg_stat_activity (prometheus-community#1106)

Signed-off-by: Felipe Galindo Sanchez <[email protected]>

* Export last replay age in replication collector (prometheus-community#1085)

The exported replication lag does not handle all failure modes, and can
report 0 for replicas that are out of sync and incapable of recovery.

A proper replacement for that metric would require a different approach
(see e.g. prometheus-community#1007), but for a lot of folks, simply exporting the age of
the last replay can provide a pretty strong signal for something being
amiss.

I think this solution might be preferable to prometheus-community#977, though the lag
metric needs to be fixed or abandoned eventually.

Signed-off-by: Conrad Hoffmann <[email protected]>

* Bump github.com/prometheus/exporter-toolkit from 0.13.2 to 0.14.0 (prometheus-community#1126)

Bumps [github.com/prometheus/exporter-toolkit](https://github.com/prometheus/exporter-toolkit) from 0.13.2 to 0.14.0.
- [Release notes](https://github.com/prometheus/exporter-toolkit/releases)
- [Changelog](https://github.com/prometheus/exporter-toolkit/blob/master/CHANGELOG.md)
- [Commits](prometheus/exporter-toolkit@v0.13.2...v0.14.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/exporter-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix missing dsn sanitization for logging (prometheus-community#1104)

This log line was not sanitized previously which could result in logging sensitive information. I have scanned the rest of the files and I don't see anywhere else that DSN is used in a log line without this filter.

Resolves prometheus-community#1042

Signed-off-by: Joe Adams <[email protected]>

* Skip pg_stat_checkpointer collector if pg<17 (prometheus-community#1112)

* fix: skip collector if pg<17

Signed-off-by: Michael Todorovic <[email protected]>

* fix: better condition

Signed-off-by: Michael Todorovic <[email protected]>

* fix: fix PGStatCheckpointerCollector tests

Signed-off-by: Nicolas Rodriguez <[email protected]>

---------

Signed-off-by: Michael Todorovic <[email protected]>
Signed-off-by: Nicolas Rodriguez <[email protected]>
Co-authored-by: Michael Todorovic <[email protected]>

* Prep for v0.17 (prometheus-community#1127)

Signed-off-by: Joe Adams <[email protected]>

* Fix: Handle incoming labels with invalid UTF-8 (prometheus-community#1131)

It's possible that incoming labels will contain invalid UTF-8 characters. This results in a panic. This fix sanitizes the label's string to ensure only valid UTF-8 characters are included, by replacing invalid characters with � (REPLACEMENT CHARACTER)

Signed-off-by: Cooper Worobetz <[email protected]>

* Release v0.17.1 (prometheus-community#1132)

* [BUGFIX] Fix: Handle incoming labels with invalid UTF-8 prometheus-community#1131

Signed-off-by: SuperQ <[email protected]>

* Bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 (prometheus-community#1133)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.5 to 1.21.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.20.5...v1.21.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update common Prometheus files (prometheus-community#1137)

Signed-off-by: prombot <[email protected]>

* Bump golang.org/x/net from 0.33.0 to 0.36.0 (prometheus-community#1138)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0.
- [Commits](golang/net@v0.33.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update common Prometheus files (prometheus-community#1140)

Signed-off-by: prombot <[email protected]>

* Update common Prometheus files (prometheus-community#1142)

Signed-off-by: prombot <[email protected]>

* Adds pg_stat_progress_vacuum collector (prometheus-community#1141)

Signed-off-by: Ian Bibby <[email protected]>
Co-authored-by: Ben Kochie <[email protected]>

* Update Go (prometheus-community#1147)

* Update Go to 1.24.
* Update golangci-lint to v2.
* Fixup linting issues.

Signed-off-by: SuperQ <[email protected]>

* Bump github.com/prometheus/client_golang from 1.21.0 to 1.21.1 (prometheus-community#1144)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.21.0 to 1.21.1.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.21.0...v1.21.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-version: 1.21.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github.com/prometheus/common from 0.62.0 to 0.63.0 (prometheus-community#1143)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.62.0 to 0.63.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.62.0...v0.63.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-version: 0.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Record table only size bytes as well in addition to the total size bytes (prometheus-community#1149)

* Record table only size bytes as well in addition to the total size bytes

Signed-off-by: Felix Yuan <[email protected]>

* Update collector/pg_stat_user_tables.go

Co-authored-by: Ben Kochie <[email protected]>
Signed-off-by: Felix Yuan <[email protected]>

* Update collector/pg_stat_user_tables.go

Co-authored-by: Ben Kochie <[email protected]>
Signed-off-by: Felix Yuan <[email protected]>

* Finish renaming elements to index and table size

Signed-off-by: Felix Yuan <[email protected]>

---------

Signed-off-by: Felix Yuan <[email protected]>
Co-authored-by: Ben Kochie <[email protected]>

* Bump golang.org/x/net from 0.36.0 to 0.38.0 (prometheus-community#1152)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.36.0 to 0.38.0.
- [Commits](golang/net@v0.36.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: prombot <[email protected]>
Signed-off-by: Joe Adams <[email protected]>
Signed-off-by: Eric tyrrell <[email protected]>
Signed-off-by: Daniel Swarbrick <[email protected]>
Signed-off-by: SuperQ <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Alex Simenduev <[email protected]>
Signed-off-by: Jiri Sveceny <[email protected]>
Signed-off-by: Keegan Carruthers-Smith <[email protected]>
Signed-off-by: Jocelyn Thode <[email protected]>
Signed-off-by: Jocelyn Thode <[email protected]>
Signed-off-by: MarcWort <[email protected]>
Signed-off-by: fhackenberger <[email protected]>
Signed-off-by: Steffen Zieger <[email protected]>
Signed-off-by: TJ Hoplock <[email protected]>
Signed-off-by: Conrad Hoffmann <[email protected]>
Signed-off-by: Jyothi Kiran Thammana <[email protected]>
Signed-off-by: aagarwalla-fx <[email protected]>
Signed-off-by: Nicolas Rodriguez <[email protected]>
Signed-off-by: Khiem Doan <[email protected]>
Signed-off-by: Nevermind <[email protected]>
Signed-off-by: Michael Todorovic <[email protected]>
Signed-off-by: Felipe Galindo Sanchez <[email protected]>
Signed-off-by: Cooper Worobetz <[email protected]>
Signed-off-by: Ian Bibby <[email protected]>
Signed-off-by: Felix Yuan <[email protected]>
Co-authored-by: PrometheusBot <[email protected]>
Co-authored-by: Joe Adams <[email protected]>
Co-authored-by: Eric Tyrrell <[email protected]>
Co-authored-by: Daniel Swarbrick <[email protected]>
Co-authored-by: Ben Kochie <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Simenduev <[email protected]>
Co-authored-by: Jiri Sveceny <[email protected]>
Co-authored-by: Keegan Carruthers-Smith <[email protected]>
Co-authored-by: Jocelyn Thode <[email protected]>
Co-authored-by: Marc W <[email protected]>
Co-authored-by: fhackenberger <[email protected]>
Co-authored-by: Steffen Zieger <[email protected]>
Co-authored-by: TJ Hoplock <[email protected]>
Co-authored-by: Conrad Hoffmann <[email protected]>
Co-authored-by: Jyothi Kiran Thammana <[email protected]>
Co-authored-by: aagarwalla-fx <[email protected]>
Co-authored-by: Nicolas Rodriguez <[email protected]>
Co-authored-by: Khiem Doan <[email protected]>
Co-authored-by: Nevermind <[email protected]>
Co-authored-by: Michael Todorovic <[email protected]>
Co-authored-by: Felipe Galindo Sanchez <[email protected]>
Co-authored-by: vancwo <[email protected]>
Co-authored-by: Ian Bibby <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants