Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion collector/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (

const (
ora01017code = 1017
ora28000code = 28000
)

func (d *Database) UpMetric(exporterLabels map[string]string) prometheus.Metric {
Expand Down Expand Up @@ -154,7 +155,7 @@ func isInvalidCredentialsError(err error) bool {
if !ok {
return false
}
return oraErr.Code() == ora01017
return oraErr.Code() == ora01017code || oraErr.Code() == ora28000code
}

func connect(logger *slog.Logger, dbname string, dbconfig DatabaseConfig) (*sql.DB, float64) {
Expand Down
2 changes: 1 addition & 1 deletion site/docs/releases/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Our current priorities to support metrics for advanced database features and use

- Updated project dependencies.
- Standardize multi-arch builds and document supported database versions.
- If the exporter fails to connect to a database due to invalid credentials (ORA-01017 error), that database configuration will be invalidated and the exporter will not attempt to re-establish the database connection. Other databases will continue to be scraped.
- If the exporter fails to connect to a database due to invalid or locked credentials (ORA-01017 or ORA-28000 errors), that database configuration will be invalidated and the exporter will not attempt to re-establish the database connection. Other databases will continue to be scraped.
- Metrics with an empty databases array (`databases = []`) are now considered disabled, and will not be scraped.
- Increased the default query timeout for the `top_sql` metric to 10 seconds (previously 5 seconds).
- Metrics using the `scrapeinterval` property will no longer be scraped on every request if they have a cached value. This only applies when the metrics exporter is configured to scrape metrics _on request_, rather than on a global interval.
Expand Down