Hallo, ich versuche Postgres SQL mit Prometheus zu überwachen. Dazu verwende ich dieses Exporteur https://github.com/wrouesnel/postgres_exporterPostgres Fehler beim Ausführen der Abfrage in der Datenbank: Standard-Benutzername konnte nicht erkannt werden
ich den Exporteur in meinem docker-compose.yml
wie dies bin ab:
exporter-postgres:
image: wrouesnel/postgres_exporter
ports:
- 9113:9113
environment:
- DATA_SOURCE_NAME="postgresql://user:[email protected]:5432/?sslmode=disable"
Wenn der Exporteur versucht, die Datenbankfehler zuzugreifen wie diese geworfen werden:
Error running query on database: pg_stat_database pg: Could not detect default username. Please provide one explicitly. file="postgres-exporter.go" line=490
und
Error scanning runtime variable: pg_stat_database pg: Could not detect default username. Please provide one explicitly. file="postgres-exporter.go" line=464
ich bin n ot wirklich sicher, was diese Nachricht bedeuten könnte. Ich bin auch nicht wirklich sicher, ob die Probleme in meiner Docker-Compose-Datei oder dem Exporter entstehen.
Die Linien, die den Fehler in der postgres-exporter.go
werfen sind:
// Use SHOW to get the value
row := db.QueryRow(fmt.Sprintf("SHOW %s;", columnName))
var val interface{}
err := row.Scan(&val)
if err != nil {
log.Errorln("Error scanning runtime variable:", columnName, err)
continue
}
und
query, er := queryOverrides[namespace]
if er == false {
query = fmt.Sprintf("SELECT * FROM %s;", namespace)
}
// Don't fail on a bad scrape of one metric
rows, err := db.Query(query)
if err != nil {
log.Println("Error running query on database: ", namespace, err)
e.error.Set(1)
return
}
https://github.com/wrouesnel/postgres_exporter/blob/master/postgres_exporter.go
ich für jede Hilfe dankbar bin!
Edit:
Hier ist die Verbindung zur Datenbank:
db, err := sql.Open("postgres", e.dsn)
Während e.dsn
wird wie folgt erzeugt:
dsn := os.Getenv("DATA_SOURCE_NAME")
Die Verbindung werfen keinen Fehler
Können Sie die zeigen, Linie, wo Sie die 'db' verbinden? – mass
Ich gehe davon aus, dass Sie einen anderen Benutzernamen als "Benutzer" verwenden. Vielleicht verwenden Sie [ParseURL] (https://godoc.org/github.com/lib/pq#ParseURL) und Ihre Verbindungszeichenfolge wird nicht richtig generiert? Siehe auch [this] (https://github.com/hashicorp/vault/issues/938). – mass