Skip to content
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

Add an OpenTelemetry Collector for logs and metrics #4087

Merged
merged 10 commits into from
Feb 7, 2025

Conversation

cbandy
Copy link
Member

@cbandy cbandy commented Feb 5, 2025

Checklist:

  • Have you added an explanation of what your changes do and why you'd like them to be included?
  • Have you updated or added documentation for the change, as applicable?
  • Have you tested your changes on all related environments with successful results, as applicable?
    • Have you added automated tests?

Type of Changes:

  • New feature

What is the current behavior (link to any open issues here)?

Postgres and pgBackRest are multi-process and log to files. Metrics are collected using postgres_exporter.

What is the new behavior (if this is a feature change)?

Postgres and pgBackRest logs are parsed using the OTel Collector. Patroni and PgBouncer metrics are exported in the Prometheus format. Other exporters and formats will come later.

Other Information:

Issue: PGO-16
Issue: PGO-2033
Issue: PGO-2043
Issue: PGO-2056
Issue: PGO-2057
Issue: PGO-2058
Issue: PGO-2059
Issue: PGO-2065

cbandy and others added 2 commits February 4, 2025 17:24
Co-authored-by: Benjamin Blattberg <[email protected]>
Co-authored-by: Drew Sessler <[email protected]>
Co-authored-by: Tony Landreth <[email protected]>
Copy link
Contributor

@benjaminjb benjaminjb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but might like to hear that it works still

dsessler7 and others added 7 commits February 7, 2025 10:48
A generator converts YAML with comments to JSON to avoid errors at
runtime and comments in the binary.

Co-authored-by: Chris Bandy <[email protected]>
Issue: PGO-2054
Postgres can log in two structured formats: CSV and JSON since Postgres 15.
The two formats are very similar semantically, so this parses them in a
shared OTTL transform processor.

Co-authored-by: Chris Bandy <[email protected]>
Issue: PGO-2033
Issue: PGO-2065
Issue: PGO-2059
Collect JSON-formatted logs from pgAdmin when the feature gate is enabled.

Issue: PGO-2057
This strips comments and formatting from SQL files. It might be useful,
and we already have the necessary dependencies.
Copy link
Contributor

@tony-landreth tony-landreth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

In testing, we found that a running pgbackrest container wouldn't
get the permissions adjusted with a mkdir; so we're switching to
an install for now.
@cbandy cbandy enabled auto-merge (rebase) February 7, 2025 20:16
@cbandy cbandy merged commit f2a80ac into CrunchyData:main Feb 7, 2025
17 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants